Câu hỏi 18. Cho hai cách tổ chức dữ liệu khác nhau khi xây dựng một CSDL như sau:
Cách thứ nhất: CSDL chỉ gồm một bảng NHÂN VIÊN_CHỨC VỤ.
NHÂN VIÊN_CHỨC VỤ |
|||||
Mã NV |
Họ và tên |
Ngày sinh |
Mã CV |
Chức vụ |
Phụ cấp |
001 |
Phan Anh |
03/10/1980 |
GD |
Giám đốc |
0.8 |
002 |
Lê Văn Dũng |
15/01/1985 |
PD |
Phó giám đốc |
0.7 |
003 |
Hoàng Kim Cúc |
12/02/1990 |
NV |
Nhân viên |
0.2 |
004 |
Trịnh Thị Đông |
07/12/1980 |
NV |
Nhân viên |
0.2 |
005 |
Nguyễn Thị Lan |
29/11/1987 |
PD |
Phó giám đốc |
0.7 |
006 |
Đoàn Thanh |
07/07/1982 |
TP |
Trưởng phòng |
0.6 |
Cách thứ hai: CSDL gồm hai bảng NHÂN VIÊN và CHỨC VỤ.
NHÂN VIÊN |
|||
Mã NV |
Họ và tên |
Ngày sinh |
Mã CV |
001 |
Phan Anh |
03/10/1980 |
GD |
002 |
Lê Văn Dũng |
15/01/1985 |
PD |
003 |
Hoàng Kim Cúc |
12/02/1990 |
NV |
004 |
Trịnh Thị Đông |
07/12/1980 |
NV |
005 |
Nguyễn Thị Lan |
29/11/1987 |
PD |
006 |
Đoàn Thanh |
07/07/1982 |
TP |
CHỨC VỤ |
||
Mã CV |
Chức vụ |
Phụ cấp |
GD |
Giám đốc |
0.8 |
PD |
Phó giám đốc |
0.7 |
NV |
Nhân viên |
0.2 |
NV |
Nhân viên |
0.2 |
PD |
Phó giám đốc |
0.7 |
TP |
Trưởng phòng |
0.6 |
1) Trong hai cách tổ chức dữ liệu trên, em chọn cách nào? Hãy giải thích lựa chọn của em.
2) Với cách thứ hai:
- Bảng NHÂN VIÊN và bàng CHỨC VỤ liên kết với nhau theo trường nào?
- Bảng nào là bảng tham chiếu và bảng nào là bảng được tham chiếu?
- Khoá của mỗi bảng là gì và khoá ngoài dùng trong liên kết hai bảng là gì?
Bài Làm:
Cách tổ chức dữ liệu thứ nhất sẽ dư thừa dữ liệu. Ví dụ, mỗi khi thêm một bản ghi nhân viên (hay trưởng phòng) sẽ lặp lại các thông tin về chức vụ và phụ cấp. Bởi vậy nên dùng cách tổ chức dữ liệu thứ hai, trong bảng NHÂN VIÊN chỉ cần ghi mã chức vụ cho mỗi người.
Với cách thứ hai:
-
Bảng NHÂN VIÊN và bảng CHỨC VỤ liên kết với nhau dựa trên trường “mã CV”
-
Bảng tham chiếu là bảng NHÂN VIÊN, bảng được tham chiếu là bảng CHỨC VỤ
-
Với bảng NHÂN VIÊN: khóa là “Mã NV”. Với bảng CHỨC VỤ: khóa là “Mã CV”. Trường “Mã CV” là khóa ngoài thực hiện liên kết giữa hai bảng.