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.
Mục tiêu bài học
Sau bài học này em sẽ:
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.
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.
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.
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.
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.
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.
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.
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ệ 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.
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ệ QTCSDL và mộ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
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 đủ.
Đặ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.
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.
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.
| Ô nhập | Giá trị thường dùng | Ý nghĩa |
|---|---|---|
| Kiểu mạng | MariaDB or MySQL (TCP/IP) | Giá trị mặc định, phù hợp để kết nối tới MySQL hoặc MariaDB. |
| Library | libmariadb.dll | Thư viện kết nối, để nguyên giá trị mặc định. |
| Tên máy chủ / IP | 127.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ùng | root | Tê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ổng | 3306 | Cổ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.
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.
Đườ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.
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.
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.
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.
Kết nối thành công tới máy chủ MySQL trên chính máy của em
- Đọc kĩ tình huống: MySQL đã được cài trên cùng máy, mật khẩu của
rootlàTinhoc@11(giả định của bài thực hành). - Điền các ô Tên máy chủ/IP, Người dùng, Mật khẩu, Cổng.
- Chọn dự đoán bên dưới rồi bấm Mở.
- Đọ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.
- 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)
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.
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ể.
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.
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
| idBannhac | tenBannhac | idNhacsi |
|---|---|---|
| 1 | Du kích sông Thao | 1 |
| 2 | Trường ca sông Lô | 2 |
| 3 | Tình ca | 3 |
| 4 | Xa khơi | 4 |
| 5 | Việt Nam quê hương tôi | 1 |
| 6 | Tiến về Hà Nội | 2 |
| 7 | Nhạc rừng | 3 |
| 8 | Tiếng hát giữa rừng Pác Bó | 4 |
nhacsi
| idNhacsi | tenNhacsi |
|---|---|
| 1 | Đỗ Nhuận |
| 2 | Văn Cao |
| 3 | Hoàng Việt |
| 4 | Nguyễn Tài Tuệ |
casi
| idCasi | tenCasi |
|---|---|
| 1 | Trần Khánh |
| 2 | Lê Dung |
| 3 | Tấn Nhân |
| 4 | Quốc Hương |
banthuam
| idBannhac | idCasi |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 5 | 1 |
| 5 | 3 |
| 2 | 4 |
| 3 | 2 |
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.
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.
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ì?
Chọn một phương án để nhận phản hồi.
Hoàn thành!
Kết quả của em sẽ hiển thị tại đây.
Tổng kết
Sơ đồ tư duy của bài và kết quả luyện tập của em.
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.