1. MỤC TIÊU CỦA BÀI
- Tạo mới một cơ sở dữ liệu (CSDL) bằng phần mềm HeidiSQL.
- Tạo các bảng không có khóa ngoài.
- Xác định và khai báo khóa chính cho bảng.
- Khai báo các trường có kiểu dữ liệu phù hợp.
- Biết sử dụng AUTO_INCREMENT cho trường khóa chính dạng số.
- Biết khai báo khóa cấm trùng lặp (UNIQUE) khi cần.
⭐ Công thức nhớ nhanh: CSDL → Bảng → Trường → Kiểu dữ liệu → Khóa chính → Lưu
2. TẠO LẬP CƠ SỞ DỮ LIỆU mymusic
📋 CÁC BƯỚC:
- Mở HeidiSQL.
- Nháy chuột phải vào vùng danh sách các CSDL.
- Chọn Tạo mới → Cơ sở dữ liệu.
- Nhập tên:
mymusic - Nhấn OK.
Bộ mã ký tự:
Giữ mặc định: utf8mb4 — Đối chiếu: utf8mb4_general_ci
⚠️ Lưu ý: Tên CSDL không nên chứa khoảng trắng, ký tự đặc biệt hoặc ký tự tiếng Việt.
3. CÁC BẢNG CỦA CSDL ÂM NHẠC
| Bảng | Các trường |
|---|---|
| casi | idCasi, tenCasi |
| nhacsi | idNhacsi, tenNhacsi |
| bannhac | idBannhac, tenBannhac, idNhacsi |
| banthuam | idBanthuam, idBannhac, idCasi |
QUAN HỆ GIỮA CÁC BẢNG
idNhacsi (PK) | tenNhacsi
idBannhac (PK) | tenBannhac | idNhacsi (FK)
idBanthuam (PK) | idBannhac (FK) | idCasi (FK)
idCasi (PK) | tenCasi
⚠️ Lưu ý: Chỉ thực hành tạo các bảng chưa có khóa ngoài. Việc tạo bảng có khóa ngoài được thực hành ở bài sau.
Cấu trúc bảng nhacsi:
nhacsi(idNhacsi, tenNhacsi)| STT | Tên trường | Kiểu dữ liệu | Thuộc tính |
|---|---|---|---|
| 1 | idNhacsi | INT | Khóa chính, AUTO_INCREMENT, không NULL |
| 2 | tenNhacsi | VARCHAR(255) | Lưu tên nhạc sĩ |
⭐ Nhớ nhanh: idNhacsi → INT → PRIMARY KEY → AUTO_INCREMENT | tenNhacsi → VARCHAR(255)
🔢 Tại sao chọn AUTO_INCREMENT?
Mỗi khi thêm bản ghi mới, hệ quản trị CSDL sẽ tự động tạo số ID tiếp theo. Không cần tự nhập 1, 2, 3...
| idNhacsi | tenNhacsi |
|---|---|
| 1 | Văn Cao |
| 2 | Đỗ Nhuận |
| 3 | Hoàng Việt |
🔑 Khai báo khóa chính:
- Nháy chuột phải vào dòng
idNhacsi - Chọn Create new index → PRIMARY
- Lưu bảng.
✅ Bảng nhacsi hoàn chỉnh:
| Tên trường | Kiểu dữ liệu | Khóa | Thuộc tính |
|---|---|---|---|
| idNhacsi | INT | PRIMARY KEY | AUTO_INCREMENT |
| tenNhacsi | VARCHAR(255) | — | — |
5. SỬA KHÓA CHÍNH
Nếu muốn thay đổi trường làm khóa chính:
- Chọn vùng khai báo PRIMARY KEY.
- Xóa trường khóa cũ nếu cần.
- Chọn trường muốn làm khóa chính.
- Chọn PRIMARY KEY.
- Nhấn Lưu.
6. LƯU KẾT QUẢ
Sau khi hoàn thành khai báo bảng:
- Kiểm tra lại tên bảng.
- Kiểm tra tên trường.
- Kiểm tra kiểu dữ liệu.
- Kiểm tra khóa chính.
- Nhấn Lưu.
Kết quả:
mymusic
└── nhacsi
├── idNhacsi
└── tenNhacsi📝 7. LUYỆN TẬP – TẠO BẢNG casi
❓ Khai báo tạo lập bảng casi như thiết kế ở Bài 18.
Theo thiết kế: casi(idCasi, tenCasi) — idCasi là khóa chính.
| STT | Tên trường | Kiểu dữ liệu | Thuộc tính |
|---|---|---|---|
| 1 | idCasi | INT | PRIMARY KEY, AUTO_INCREMENT |
| 2 | tenCasi | VARCHAR(255) | — |
✅ Các bước thực hiện:
- Nháy chuột phải vào CSDL → Tạo mới → Bảng.
- Nhập tên bảng:
casi - Thêm trường: idCasi, tenCasi.
- Chọn idCasi → INT → AUTO_INCREMENT.
- Chọn idCasi làm PRIMARY KEY.
- Khai báo tenCasi → VARCHAR(255).
- Nhấn Lưu.
✅ Đáp án: Tạo bảng casi gồm hai trường idCasi, tenCasi; trong đó idCasi kiểu INT, tự động tăng và là khóa chính; tenCasi kiểu VARCHAR(255).
🔎 8. VẬN DỤNG
❓ 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ố.
💡 GỢI Ý:
| STT | Tên trường | Ý nghĩa |
|---|---|---|
| 1 | idtenthanhpho | Mã định danh tỉnh/thành phố |
| 2 | tenthanhpho | Tên tỉnh/thành phố |
| 3 | tenquan / tenhuyen | Tên quận/huyện |
Chọn idtenthanhpho → PRIMARY KEY và lưu bảng.
🧠 9. TÓM TẮT KIẾN THỨC CẦN HỌC THUỘC
🔹 1. Tạo CSDL
Tạo mới → Cơ sở dữ liệu → nhập tên → OK. Ví dụ: mymusic
🔹 2. Tạo bảng
Tạo mới → Bảng → nhập tên bảng → thêm trường → Lưu
🔹 3. Khóa chính
Trường dùng để xác định duy nhất mỗi bản ghi. Ví dụ: nhacsi → idNhacsi, casi → idCasi
🔹 4. AUTO_INCREMENT
Dùng cho khóa chính kiểu số để tự động tăng giá trị ID khi thêm bản ghi mới.
🔹 5. Kiểu dữ liệu quan trọng
Mã/ID → INT | Tên người, tên bài hát → VARCHAR(255)
🔹 6. Khóa ngoài
Dùng để liên kết các bảng. bannhac.idNhacsi → nhacsi.idNhacsi | banthuam.idBannhac → bannhac.idBannhac | banthuam.idCasi → casi.idCasi
