Bài 17

Quản trị cơ sở dữ liệu trên máy tính

Từ cuốn sổ ghi tay đến hệ quản trị MySQL: em sẽ thấy máy tính giúp cập nhật, tìm kiếm và bảo vệ dữ liệu nhanh, chính xác đến mức nào.

Khởi động

Một buổi sáng ở phòng giao dịch ngân hàng

Cô Lan là giao dịch viên. Mỗi ngày cô tiếp nhận hàng trăm lượt gửi tiền, rút tiền, chuyển khoản. Nếu tất cả đều ghi bằng tay vào sổ: mỗi giao dịch phải viết lại số dư, đối chiếu chữ kí, lật tìm trang cũ để kiểm tra. Cuối ngày, cả phòng phải cộng lại sổ sách để khớp số liệu.

Ở trường em cũng vậy: sổ điểm, sổ thu tiền, danh sách mượn sách… nếu ghi tay thì tìm một thông tin có thể mất rất nhiều thời gian.

Dự đoán trước khi học

Nếu số giao dịch trong ngày tăng lên gấp 10 lần mà vẫn quản lí thủ công thì điều gì sẽ xảy ra?

2

Mục tiêu bài học

Sau bài học này em sẽ:

01

Nêu được lợi ích của quản trị CSDL trên máy tính

Giải thích vì sao việc lưu trữ, cập nhật, tìm kiếm và bảo vệ dữ liệu bằng hệ QTCSDL lại tiện lợi, kịp thời, nhanh chóng và hạn chế sai sót hơn cách làm thủ công.

02

Làm quen với hệ QTCSDL MySQL

Biết MySQL là hệ QTCSDL mã nguồn mở miễn phí, biết vai trò của tài khoản root, cổng 3306 và cách gọi mysql.exe trong cửa sổ lệnh.

03

Làm quen với phần mềm HeidiSQL

Hiểu HeidiSQL là công cụ đồ họa hỗ trợ tiếng Việt giúp kết nối và khai thác CSDL; đọc và điền đúng các thông số trong cửa sổ Trình quản lí phiên.

3

Kiến thức mới

Hai nội dung chính: lợi ích của quản trị CSDL trên máy tính và bộ đôi MySQL – HeidiSQL.

Mục 1

Lợi ích của việc quản trị cơ sở dữ liệu trên máy tính

Trước khi có máy tính và các giải pháp quản trị CSDL, việc quản lí dữ liệu thủ công rất vất vả, khó kiểm soát, đòi hỏi nhiều công sức, đặc biệt với khối lượng dữ liệu lớn: chỉ một sai sót nhỏ cũng có thể gây hậu quả lớn, như trong ngành ngân hàng.

Quản lí thủ công

  • Ghi chép, đối chiếu, cộng sổ bằng tay.
  • Tìm một bản ghi phải lật nhiều trang, nhiều quyển.
  • Dễ nhầm số liệu, khó phát hiện sai sót.
  • Chỉ phục vụ được tại chỗ, trong giờ làm việc.

Quản trị CSDL trên máy tính

  • Dữ liệu nhập một lần, hệ thống tự cập nhật số dư, tổng hợp.
  • Tìm kiếm theo mã khách hàng, số tài khoản trong tích tắc.
  • Ràng buộc dữ liệu giúp hạn chế dữ liệu dư thừa và sai sót.
  • Phục vụ trực tuyến 24/7 qua máy tính, điện thoại.
Tiện lợi

Người dùng tự thực hiện nhiều giao dịch từ xa; nhân viên không phải chép lại dữ liệu nhiều lần.

Kịp thời

Số dư, danh sách, báo cáo được cập nhật ngay sau mỗi thao tác, giúp ra quyết định đúng lúc.

Nhanh chóng

Truy vấn trên hàng triệu bản ghi vẫn cho kết quả trong thời gian rất ngắn.

Hạn chế sai sót

Hệ QTCSDL kiểm soát dữ liệu dư thừa, giữ tính nhất quán, đảm bảo an ninh và an toàn dữ liệu.

Ghi nhớ. Việc dùng hệ QTCSDL trên máy tính đem lại nhiều lợi ích to lớn: tiện lợi, kịp thời, nhanh chóng, hạn chế sai sót.

Mục 2

Hệ quản trị cơ sở dữ liệu MySQL và phần mềm HeidiSQL

Để làm việc được với CSDL (khởi tạo, tạo bảng, cập nhật dữ liệu và khai thác thông tin) cần có một hệ QTCSDLmột phần mềm giúp giao tiếp với hệ QTCSDL đó. Các hệ QTCSDL phổ biến hiện nay có ORACLE, MySQL, Microsoft SQL Server… Trong đó MySQL là sản phẩm mã nguồn mở miễn phí, được đánh giá là gọn nhẹ, tốc độ xử lí nhanh, hỗ trợ quản lí chặt chẽ và an toàn dữ liệu, rất phù hợp cho các bài toán quản trị CSDL lớn trên Internet.

a) Cài đặt và làm việc với MySQL

Bước 1

Tải bộ cài đặt

Truy cập trang dev.mysql.com/downloads/mysql/ và chọn bản cài đặt tự động (MSI), bản ZIP gọn nhẹ hoặc bản đầy đủ.

Bước 2

Đặt mật khẩu cho root

Quá trình cài đặt yêu cầu nhập mật khẩu cho người dùng root – tương tự tài khoản quản trị của hệ điều hành Windows. Cần ghi nhớ mật khẩu này.

Bước 3

MySQL chạy như một dịch vụ

Sau khi cài, MySQL tự khởi động cùng máy dưới dạng một dịch vụ (Service) và chờ các phần mềm khách kết nối tới.

MySQL có sẵn phần mềm khách dùng giao diện dòng lệnh tên là mysql.exe trong thư mục bin. Mở cửa sổ lệnh (ví dụ cmd.exe), gõ mysql -u root -p rồi nhấn Enter (u là viết tắt của user, p là viết tắt của password), nhập mật khẩu của root và nhấn Enter để mở cửa sổ làm việc của MySQL.

C:\Temp>mysql -u root -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 97 Server version: 5.5.5-10.6.4-MariaDB mariadb.org binary distribution mysql>
Mô phỏng cửa sổ làm việc của MySQL sau khi đăng nhập (tương ứng Hình 17.1 và 17.2, SGK Tin học 11 – Kết nối tri thức).

Trong cửa sổ làm việc này, em nhập các câu truy vấn SQL và nhận được thông báo về kết quả cùng thời gian thực hiện, tính đến phần trăm giây. Ví dụ câu lệnh select * from mymusic.bannhac; cho biết toàn bộ nội dung bảng bannhac.

b) Phần mềm HeidiSQL

Phần mềm mysql.exe tuy gọn nhẹ nhưng dùng giao diện dòng lệnh nên chưa thật thuận tiện với người mới. HeidiSQL là phần mềm mã nguồn mở, miễn phí, dùng giao diện đồ họa, kết nối và làm việc được với nhiều hệ QTCSDL như MySQL, MariaDB, Microsoft SQL Server, PostgreSQL… Đặc biệt, HeidiSQL có hỗ trợ tiếng Việt nên được lựa chọn giới thiệu trong sách giáo khoa.

Tải phần mềm tại www.heidisql.com/download.php với hai lựa chọn: bản cài đặt tự động (Installer) hoặc bản Portable dạng nén, chỉ cần giải nén và chạy tệp heidisql.exe.

Các ô cần quan tâm trong cửa sổ Trình quản lí phiên của HeidiSQL
Ô nhậpGiá trị thường dùngÝ nghĩa
Kiểu mạngMariaDB or MySQL (TCP/IP)Giá trị mặc định, phù hợp để kết nối tới MySQL hoặc MariaDB.
Librarylibmariadb.dllThư viện kết nối, để nguyên giá trị mặc định.
Tên máy chủ / IP127.0.0.1Địa chỉ máy chủ CSDL. Giá trị này nghĩa là MySQL và HeidiSQL cùng cài trên một máy.
Người dùngrootTên người dùng CSDL có quyền quản trị.
Mật khẩu(mật khẩu đã đặt khi cài MySQL)Mật khẩu của người dùng root.
Cổng3306Cổng mặc định để các phần mềm giao tiếp với hệ QTCSDL.

Chú ý. Khi cài đặt HeidiSQL, nếu máy tính kết nối Internet, phần mềm sẽ tự động nhận biết mã vùng quốc gia và thiết lập giao diện với ngôn ngữ tương ứng. Em có thể tự thiết lập lại ngôn ngữ bằng công cụ Tools/Preferences/General.

Ghi nhớ. MySQL và HeidiSQL là các phần mềm mã nguồn mở, được nhiều người dùng để quản trị các CSDL.

4

Sơ đồ hệ thống và mô hình 3D

Bấm vào từng chặng trên sơ đồ để xem dữ liệu đi qua đâu; xoay mô hình 3D để thấy ba lớp của hệ thống.

Sơ đồ tương tác

Đường đi của một yêu cầu dữ liệu

Khi em gõ một câu truy vấn trong HeidiSQL, dữ liệu không đi thẳng từ màn hình tới ổ đĩa. Hãy bấm lần lượt sáu chặng dưới đây.

Đang xem

Hãy chọn một chặng

Bấm vào một ô trên sơ đồ để đọc mô tả chi tiết về vai trò của chặng đó trong hệ thống quản trị CSDL.

Mô hình 3D

Ba lớp của một hệ quản trị CSDL

Kéo chuột (hoặc vuốt ngón tay) trên khung để xoay, dùng con lăn hoặc thanh trượt để phóng to – thu nhỏ.

Điều khiển

Góc X: -18° · Góc Y: 28°

Nếu không xoay được mô hình: người dùng thao tác ở lớp 1, mọi yêu cầu được lớp 2 (MySQL) kiểm tra quyền và thực hiện, dữ liệu thật nằm ở lớp 3 trên đĩa. Người dùng không bao giờ mở trực tiếp tệp dữ liệu ở lớp 3.

5

Thực hành: kết nối HeidiSQL tới MySQL

Mô phỏng cửa sổ Trình quản lí phiên. Em điền thông số, dự đoán kết quả rồi bấm “Mở” để xem hệ thống phản hồi.

Nhiệm vụ

Kết nối thành công tới máy chủ MySQL trên chính máy của em

  1. Đọc kĩ tình huống: MySQL đã được cài trên cùng máy, mật khẩu của rootTinhoc@11 (giả định của bài thực hành).
  2. Điền các ô Tên máy chủ/IP, Người dùng, Mật khẩu, Cổng.
  3. Chọn dự đoán bên dưới rồi bấm Mở.
  4. Đọc thông báo trong khung nhật kí, sửa lại thông số nếu kết nối thất bại.
  5. Thử cố ý nhập cổng 3307 hoặc sai mật khẩu để xem lỗi mà thực tế em hay gặp.

Trình quản lí phiên (mô phỏng)

Cùng một máy thì dùng 127.0.0.1 hoặc localhost.
Ô này hiển thị rõ để em dễ quan sát khi học; trong HeidiSQL thật, mật khẩu được che.
Dự đoán

Nếu giữ nguyên mọi thông số đúng nhưng đổi cổng thành 3307 thì chuyện gì xảy ra?

Trạng thái: Chưa kết nối
Nhật kí kết nối sẽ hiển thị tại đây sau khi em bấm “Mở kết nối”.
Mô phỏng trọng tâm · Biểu đồ

Thủ công hay máy tính? Hãy tự rút ra kết luận

Kéo thanh trượt để thay đổi số giao dịch cần xử lí trong một ngày và quan sát hai cột thời gian.

Quản lí thủ công
10,0 giờ
Dùng hệ QTCSDL
0,4 giờ
Sai sót ước tính (thủ công)
5 lỗi
Sai sót ước tính (máy tính)
0 lỗi

Hãy kéo thanh trượt để so sánh.

Quy ước dùng cho mô phỏng: mỗi giao dịch thủ công mất 2 phút và có tỉ lệ nhầm lẫn 1,5%; mỗi giao dịch trên hệ QTCSDL mất 5 giây và tỉ lệ nhầm lẫn 0,02%. Đây là số liệu giả định để minh họa xu hướng, không phải số đo thực tế của một ngân hàng cụ thể.

6

Phòng thực hành: cửa sổ lệnh MySQL

Gõ câu lệnh SQL như trong cửa sổ mysql>. Bộ chạy được cô lập trong Web Worker, chỉ làm việc trên dữ liệu mẫu của bài.

mysql> cửa sổ lệnh mô phỏng
Bộ máy: Đang tải Lượt chạy: Chưa chạy CSDL: chưa chọn

Mỗi lần chạy một câu lệnh. Hỗ trợ: SHOW DATABASES, USE, SHOW TABLES, DESCRIBE và SELECT (có WHERE, JOIN, ORDER BY).

Kết quả sẽ hiển thị tại đây.

Dữ liệu mẫu: CSDL mymusic

Bốn bảng dưới đây mô phỏng CSDL đã dùng ở các bài trước.

bannhac
idBannhactenBannhacidNhacsi
1Du kích sông Thao1
2Trường ca sông Lô2
3Tình ca3
4Xa khơi4
5Việt Nam quê hương tôi1
6Tiến về Hà Nội2
7Nhạc rừng3
8Tiếng hát giữa rừng Pác Bó4
nhacsi
idNhacsitenNhacsi
1Đỗ Nhuận
2Văn Cao
3Hoàng Việt
4Nguyễn Tài Tuệ
casi
idCasitenCasi
1Trần Khánh
2Lê Dung
3Tấn Nhân
4Quốc Hương
banthuam
idBannhacidCasi
11
12
51
53
24
32

Câu hỏi trong SGK. Cần gõ câu truy vấn nào để đọc toàn bộ thông tin bảng nhacsi trong CSDL mymusic? Hãy thử ngay ở vùng nhập lệnh bên cạnh.

7

Luyện tập

5 câu hỏi, mỗi lần một câu. Trả lời xong mới chuyển được câu tiếp theo.

Câu 1/5

Lợi ích nổi bật của việc quản trị CSDL trên máy tính so với quản lí thủ công là gì?

Đang tải các phương án trả lời…

Chọn một phương án để nhận phản hồi.

0/5điểm

Hoàn thành!

Kết quả của em sẽ hiển thị tại đây.

8

Tổng kết

Sơ đồ tư duy của bài và kết quả luyện tập của em.

Nhu cầuDữ liệu lớn, cập nhật liên tục, quản lí thủ công dễ sai sót.
Lợi íchTiện lợi, kịp thời, nhanh chóng, hạn chế sai sót.
Hệ QTCSDLMySQL: mã nguồn mở, miễn phí, nhanh, an toàn; chạy như một dịch vụ.
Phần mềm kháchmysql.exe dòng lệnh; HeidiSQL đồ họa, hỗ trợ tiếng Việt.
Kết nối127.0.0.1 · root · mật khẩu · cổng 3306.
Quản trị CSDL trên máy tính Lợi ích Tiện lợi · kịp thời Hạn chế sai sót Nhất quán · an toàn MySQL root · cổng 3306 HeidiSQL Giao diện đồ họa

Kết quả luyện tập: Chưa hoàn thành

Hãy hoàn thành 5 câu luyện tập để cập nhật kết quả tại đây.

Vận dụng. Truy cập Internet với các cụm từ khóa thích hợp (ví dụ “MySQL là gì”, “HeidiSQL hướng dẫn sử dụng”) để tìm hiểu thêm thông tin về MySQL và HeidiSQL; sau đó thực hành cài đặt MySQL và HeidiSQL trên máy của em.

Bảng thuật ngữ

Hệ QTCSDL
Phần mềm quản trị cơ sở dữ liệu: tạo lập, cập nhật, khai thác và bảo vệ dữ liệu.
MySQL
Hệ QTCSDL mã nguồn mở, miễn phí, gọn nhẹ, tốc độ xử lí nhanh, phổ biến cho các CSDL lớn trên Internet.
root
Người dùng có quyền quản trị cao nhất của MySQL, được tạo và đặt mật khẩu khi cài đặt.
Cổng 3306
Cổng mặc định để các phần mềm khách giao tiếp với hệ QTCSDL MySQL hoặc MariaDB.
127.0.0.1
Địa chỉ IP chỉ chính máy tính đang dùng; tương đương tên localhost.
Service
Dịch vụ chạy nền của hệ điều hành; sau khi cài đặt, MySQL tự khởi động dưới dạng dịch vụ.
mysql.exe
Phần mềm khách dùng giao diện dòng lệnh đi kèm MySQL, nằm trong thư mục bin.
HeidiSQL
Phần mềm khách mã nguồn mở, miễn phí, giao diện đồ họa, hỗ trợ tiếng Việt, kết nối được nhiều hệ QTCSDL.