Bài 19: Thực hành tạo lập cơ sở dữ liệu và các bảng

Hình 19.3 – Khai báo trường kiểu INT, not NULL (Ảnh Sách KNTT)
Mục lục [Ẩn]

Chọn đến phần học sinh cần nhanh chóng thông qua mục lục bằng cách click đến phần đó

I. Lý thuyết trọng tâm

Việc đầu tiên để làm việc với một cơ sở dữ liệu là tạo lập. Trong bài thực hành này, các em sẽ sử dụng phần mềm khách quản trị CSDL HeidiSQL để tạo lập CSDL và các bảng đơn giản dựa trên thiết kế đã xây dựng ở Bài 18.

Nhiệm vụ: Tạo CSDL mới tên là mymusic, khởi tạo bảng nhacsi, khai báo các khoá cho bảng này như thiết kế ở Bài 18.

Nhắc lại cấu trúc bảng nhacsi đã thiết kế: nhacsi(idNhacsi, tenNhacsi), trong đó idNhacsi là khoá chính kiểu INT AUTO_INCREMENT, tenNhacsi kiểu VARCHAR(255).

Lưu ý quan trọng: Tên CSDL, tên các bảng và tên các trường không được chứa các kí tự đặc biệt, bao gồm kí tự trống (dấu cách) và kí tự tiếng Việt có dấu – tương tự như quy tắc đặt tên biến trong lập trình.

II. Hướng dẫn thực hành

Bước 1: Tạo lập CSDL mymusic

Sau khi mở HeidiSQL và kết nối đến máy chủ cơ sở dữ liệu, thực hiện các thao tác sau:

Thao tác: Nháy nút phải chuột ở vùng danh sách các CSDL đã có (phía bên trái giao diện), chọn Tạo mới → chọn Cơ sở dữ liệu.

Hộp thoại tạo CSDL hiện ra, thực hiện:

  • Ở ô Tên, nhập: mymusic.
  • Ô Đối chiếu để mặc định: utf8mb4_general_ci (bộ mã kí tự Unicode 4 byte utf8mb4, đối chiếu so sánh xâu theo utf8mb4_general_ci).
  • Chọn OK để hoàn tất.

Sau khi tạo xong, ở vùng danh sách bên trái sẽ xuất hiện tên CSDL mymusic. Đồng thời, ở vùng mã lệnh phía dưới sẽ hiển thị câu truy vấn SQL tương ứng với thao tác vừa thực hiện (lệnh CREATE DATABASE).

Tạo lập CSDL mymusic (Ảnh Sách KNTT)
Tạo lập CSDL mymusic (Ảnh Sách KNTT)

Bước 2: Tạo lập bảng nhacsi

a) Khai báo tạo lập bảng, các trường và kiểu dữ liệu

Cần tạo bảng nhacsi gồm hai trường: idNhacsi (kiểu INT) và tenNhacsi (kiểu VARCHAR, độ dài 255).

Thao tác tạo bảng: Nháy nút phải chuột ở vùng danh sách các CSDL đã có, chọn Tạo mới → chọn Bảng. Nhập tên bảng: nhacsi, sau đó chọn Thêm mới để thêm trường. Một trường với tên mặc định Column1 sẽ xuất hiện phía dưới.

Hình 19.2 – Khai báo tên bảng, thêm mới một trường (Ảnh Sách KNTT)
Hình 19.2 – Khai báo tên bảng, thêm mới một trường (Ảnh Sách KNTT)

Khai báo trường idNhacsi:

  • Nhập Tên: idNhacsi.
  • Chọn Kiểu dữ liệu: INT.
  • Bỏ đánh dấu ô Allow NULL (không cho phép giá trị rỗng, vì đây sẽ là khoá chính).
Hình 19.3 – Khai báo trường kiểu INT, not NULL (Ảnh Sách KNTT)
Hình 19.3 – Khai báo trường kiểu INT, not NULL (Ảnh Sách KNTT)
  • Tiếp theo, thiết lập giá trị tự động tăng: chọn AUTO_INCREMENT dưới nhãn Mặc định, rồi chọn OK.
Hình 19.4 – Khai báo trường AUTO_INCREMENT (Ảnh Sách KNTT)
Hình 19.4 – Khai báo trường AUTO_INCREMENT (Ảnh Sách KNTT)

Kết quả: trường idNhacsi hiển thị với kiểu INT, cột Mặc định ghi AUTO_INCREMENT.

Khai báo trường tenNhacsi:

  • Để thêm trường tiếp theo: nhấn tổ hợp phím Ctrl+Insert, hoặc nháy nút phải chuột vào phần dưới dòng idNhacsi rồi chọn Add column.
  • Nhập Tên: tenNhacsi.
  • Chọn Kiểu dữ liệu: VARCHAR, độ dài 255.
  • Giá trị mặc định là kí tự rỗng “”.
Hình 19.5 – Khai báo trường kiểu VARCHAR (Ảnh Sách KNTT)
Hình 19.5 – Khai báo trường kiểu VARCHAR (Ảnh Sách KNTT)

b) Khai báo khoá chính

Theo thiết kế ở Bài 18, trường idNhacsi được ấn định làm khoá chính của bảng nhacsi.

Thao tác: Nháy nút phải chuột vào dòng khai báo trường idNhacsi, chọn Create new index → chọn PRIMARY.

Bảng chọn để khai báo khoá chính (Ảnh Sách KNTT)
Bảng chọn để khai báo khoá chính (Ảnh Sách KNTT)

Xử lí khi chọn nhầm khoá chính: Nếu trong quá trình thao tác, vô tình chọn nhầm trường khác làm khoá chính (ví dụ chọn nhầm tenNhacsi như Hình 19.7), cách sửa như sau:

Hình 19.7 – Minh hoạ khai báo nhầm khoá chính
Hình 19.7 – Minh hoạ khai báo nhầm khoá chính
  • Nháy đúp chuột vào tên trường đang bị chọn nhầm (tenNhacsi) ở dưới ô PRIMARY KEY ở phần trên.
  • Một danh sách các trường hiện ra, chọn lại trường đúng là idNhacsi.
Hình 19.8 – Thao tác sửa khoá chính (Ảnh Sách KNTT)
Hình 19.8 – Thao tác sửa khoá chính (Ảnh Sách KNTT)
  • Sau đó nháy chuột vào ô bên cạnh dưới ô PRIMARY để xác nhận.
Hình 19.9 – Kết quả sửa khoá chính
Hình 19.9 – Kết quả sửa khoá chính

c) Lưu kết quả

Cuối cùng, chọn nút Lưu để lưu lại khai báo bảng nhacsi. Ở vùng hiển thị phía trái, tên bảng nhacsi sẽ xuất hiện dưới dòng tên CSDL mymusic, cho biết bảng đã được tạo thành công.

Hình 19.10 – Kết quả tạo lập bảng
Hình 19.10 – Kết quả tạo lập bảng

III. Hướng dẫn giải bài tập SGK

Bài Luyện tập

Đề bài: Khai báo tạo lập bảng casi như thiết kế ở Bài 18.

Hướng dẫn thực hành:

Theo thiết kế ở Bài 18, bảng casi có cấu trúc: casi(idCasi, tenCasi), trong đó idCasi là khoá chính kiểu INT AUTO_INCREMENT, tenCasi kiểu VARCHAR(255).

Các bước thực hiện tương tự như tạo bảng nhacsi:

Bước 1 – Tạo bảng: Đảm bảo đang ở trong CSDL mymusic. Nháy nút phải chuột ở vùng danh sách, chọn Tạo mớiBảng. Nhập tên bảng: casi, chọn Thêm mới.

Bước 2 – Khai báo trường idCasi: Nhập Tên: idCasi, chọn kiểu dữ liệu INT, bỏ đánh dấu Allow NULL. Chọn AUTO_INCREMENT dưới nhãn Mặc định, chọn OK.

Bước 3 – Khai báo trường tenCasi: Nhấn Ctrl+Insert để thêm trường. Nhập Tên: tenCasi, chọn kiểu dữ liệu VARCHAR, độ dài 255.

Bước 4 – Khai báo khoá chính: Nháy nút phải chuột vào dòng idCasi, chọn Create new indexPRIMARY.

Bước 5 – Lưu: Chọn nút Lưu. Bảng casi xuất hiện dưới CSDL mymusic cùng với bảng nhacsi đã tạo trước đó.

Bài Vận dụng

Đề bài: Hãy lập CSDL quản lí tên các Quận/Huyện, Tỉnh/Thành phố của Việt Nam. Tạo bảng Tỉnh/Thành phố.

Hướng dẫn thực hành:

Dựa trên bài tập Vận dụng ở Bài 18, ta đã thiết kế cấu trúc CSDL gồm hai bảng:

  • tinhtp(idTinhtp, tenTinhtp)
  • quanhuyen(idQuanhuyen, tenQuanhuyen, idTinhtp)

Trong bài này, ta tạo CSDL mới và bảng tinhtp (bảng không có khoá ngoài).

Bước 1 – Tạo CSDL: Nháy nút phải chuột ở vùng danh sách, chọn Tạo mớiCơ sở dữ liệu. Nhập tên: quanli_hanhchinh (hoặc tên tuỳ chọn, không chứa kí tự đặc biệt, dấu cách hay tiếng Việt có dấu). Đối chiếu để mặc định utf8mb4_general_ci. Chọn OK.

Bước 2 – Tạo bảng tinhtp: Nháy nút phải chuột, chọn Tạo mớiBảng. Nhập tên: tinhtp, chọn Thêm mới.

Bước 3 – Khai báo trường idTinhtp: Nhập Tên: idTinhtp, kiểu dữ liệu INT, bỏ đánh dấu Allow NULL, chọn AUTO_INCREMENT dưới nhãn Mặc định, chọn OK.

Bước 4 – Khai báo trường tenTinhtp: Nhấn Ctrl+Insert, nhập Tên: tenTinhtp, kiểu VARCHAR, độ dài 255.

Bước 5 – Khai báo khoá chính: Nháy nút phải chuột vào dòng idTinhtp, chọn Create new indexPRIMARY.

Bước 6 – Lưu: Chọn Lưu. Bảng tinhtp xuất hiện dưới CSDL vừa tạo.

Thầy Phạm Thành Danh

Thầy Phạm Thành Danh

(Người kiểm duyệt, ra đề)

Chức vụ: Trưởng ban biên soạn môn Tin Học THPT

Trình độ: Cử nhân Sư phạm Tin học, Chứng chỉ hạng II, Chứng chỉ Tin học, Ngoại ngữ B1

Kinh nghiệm: 8+ năm kinh nghiệm tại Trường THPT Thuận Hóa