Bài tập  /  Bài đang cần trả lời

Cho CSDL học tập có các bảng sau:

Cho CSDL học tập có các bảng sau:

Hocsinh (họ tên, số CCCD, số thẻ học sinh, ngày sinh, địa chỉ)

Monhoc (tên, mã môn)

Diem (số thẻ học sinh, mã môn, năm, học kì, loại điểm, điểm)

Hãy xác định các khóa chính và các khóa ngoài của từng bảng, có thể lấy số CCCD làm khóa chính được không?

1 Xem trả lời
Hỏi chi tiết
71
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là phân tích các bảng trong cơ sở dữ liệu (CSDL) học tập của bạn, xác định khóa chính và các khóa ngoài:

1. **Bảng Hocsinh (Học sinh)**:
- **Có các trường**: họ tên, số CCCD, số thẻ học sinh, ngày sinh, địa chỉ.
- **Khóa chính (Primary Key)**: Số thẻ học sinh. Đây là trường duy nhất để nhận diện một học sinh trong bảng này. Số CCCD có thể là duy nhất nhưng không phải lúc nào cũng sử dụng như một khóa chính trong bối cảnh học sinh, vì một học sinh có thể không được gán số CCCD (chẳng hạn học sinh nhỏ tuổi).
- **Khóa ngoài (Foreign Key)**: Không có khóa ngoài nào được định nghĩa trong bảng này, vì đây là bảng chính.

2. **Bảng Monhoc (Môn học)**:
- **Có các trường**: tên, mã môn.
- **Khóa chính**: Mã môn. Đây là trường duy nhất để nhận diện một môn học trong bảng này.
- **Khóa ngoài**: Không có khóa ngoài nào trong bảng này vì đây cũng là bảng chính.

3. **Bảng Diem (Điểm)**:
- **Có các trường**: số thẻ học sinh, mã môn, năm, học kì, loại điểm, điểm.
- **Khóa chính**: Trong bảng này, có thể giả định rằng kết hợp giữa số thẻ học sinh, mã môn, năm, học kì, và loại điểm sẽ tạo thành một khóa chính duy nhất, vì mỗi học sinh có thể có nhiều môn và nhiều loại điểm khác nhau.
- **Khóa ngoài**:
- Số thẻ học sinh: Khóa ngoài tham chiếu đến bảng Hocsinh.
- Mã môn: Khóa ngoài tham chiếu đến bảng Monhoc.

**Kết luận về việc sử dụng số CCCD làm khóa chính**:
- Đúng là số CCCD có thể được sử dụng làm khóa chính trong bảng Hocsinh, nhưng với trường hợp này, số thẻ học sinh phù hợp hơn để làm khóa chính vì nó chắc chắn sẽ được sử dụng cho mục đích quản lý học sinh trong bối cảnh học tập, và không phải tất cả học sinh đều sẽ có số CCCD. Số CCCD có thể không phải là lựa chọn tốt nhất vì tính khả dụng của nó cho tất cả học sinh.
1
0
Phương
27/12/2024 14:52:18
+5đ tặng
Khóa chính: Số thẻ học sinh.
Lý do: Số thẻ học sinh thường được cấp duy nhất cho mỗi học sinh trong một trường học hoặc hệ thống giáo dục. Nó đảm bảo tính duy nhất và không bị trùng lặp, phù hợp với yêu cầu của khóa chính.
Có thể lấy số CCCD làm khóa chính không? Có thể.
Lý do: Số CCCD (Căn cước công dân) là một dãy số định danh cá nhân duy nhất cho mỗi công dân Việt Nam. Nó cũng đảm bảo tính duy nhất trên phạm vi toàn quốc, do đó hoàn toàn có thể được sử dụng làm khóa chính cho bảng Hocsinh. Việc sử dụng số CCCD làm khóa chính có thể hữu ích trong việc liên kết dữ liệu với các hệ thống quản lý khác (ví dụ: quản lý dân cư).
Tại sao không nên dùng họ tên làm khóa chính? Vì có thể có nhiều học sinh trùng họ tên.
Tại sao không nên dùng ngày sinh làm khóa chính? Vì có thể có nhiều học sinh sinh cùng ngày.
Tại sao không nên dùng địa chỉ làm khóa chính? Vì địa chỉ có thể thay đổi theo thời gian và không đảm bảo tính duy nhất.
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×