Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:
[Lý thuyết] Thực hành xác định cấu trúc bảng và các trường khóa SVIP
1. Xem xét bài toán
Bài toán quản lí các bản thu âm nhạc được mô tả bởi bản ghi chép như sau.
Yêu cầu: Hãy phân tích và thiết kế bảng dữ liệu cho bài toán.
2. Tạo lập bảng
Dựa vào phân tích các trường dữ liệu, ta có mô tả ngắn gọn. Trong đó:
- Trường số 1 được ưu tiên chọn làm khóa chính vì ngắn gọn và xác định duy nhất 1 bản thu âm.
- Nhóm trường số 2 cũng có thể được chọn làm khóa chính vì cả ba cùng xác định duy nhất một trường dữ liệu.
3. Tổ chức lại bảng dữ liệu
a. Thiết lập bảng casi
Ca sĩ Trần Khánh thể hiện hai bản nhạc (ở dòng số 3 và 9), khi cần sửa chữa tên của ca sĩ, sẽ phải tìm sửa ở tất cả những dòng có tên ca sĩ này.
b. Thiết lập bảng bannhac
Bản nhạc Trường ca sông Lô xuất hiện ở dòng số 2 và số 9 do được có nhiều bản thu âm bởi nhiều ca sĩ khác nhau.
c. Thiết lập bảng nhacsi
Tên nhạc sĩ trong bảng bannhac bị lặp lại do một nhạc sĩ có thể sáng tác nhiều bản nhạc. Ví dụ, nhạc sĩ Văn Cao xuất hiện trong hai dòng số 2 và số 6.
4. Các loại khóa
Xác định các loại khóa cho bảng dữ liệu, ta có:
- Mỗi bảng có một khóa chính.
- Khóa ngoài của bảng A tham chiếu đến khóa chính của bảng B. Ví dụ:
- .idNhacsi (khóa ngoài của bannhac) tham chiếu đến .idNhacsi (khóa chính của nhacsi).
- Khóa cấm trùng lặp: Cặp trường trong bảng không được trùng lặp.
Ta có mô tả quan hệ giữa các bảng dữ liệu trong CSDL quan hệ như sau.
5. Về các kiểu dữ liệu của các trường
Trường khoá chính: kiểu INT
và tự động tăng giá trị (AUTO_INCREMENT
).
Trường tenNhacsi, tenCasi, tenBannhac
: độ dài tối đa là 255 kí tự (VARCHAR(255)
).
Bạn có thể đánh giá bài học này ở đây