f Lập danh sách nhân viên của phòng có mã số phòng
5.1. CÁC VấN Đề GặP PHảI KHI Tổ CHứC Dữ L IệU:
IệU:
Trước khi bàn về cách thiết kế một cơ sở dữ liệu tốt, chúng ta hãy
phân tích xem tại sao trong một số lược đồ quan hệ lại tồn tại những vấn đề rắc
rối. Chẳng hạn cho lược đồ quan hệ:
Thi(MASV,HOTEN,MONHỌC,DIEMTHI) và sau đây là một quan hệ trên lược đồ quan hệ Thi
Quan hệ này ghi kết quả điểm thi các môn của cá c sinh viên. Chúng ta
có thể nhận thấy một số vấn đề nảy sinh sau:
1)Dư thừa (redundancy): Họ tên của các sinh viê n được lặp lại mỗi lần
cho mỗi môn thi.
2)Mưu thuẫn tiềm ẩn (potentia inconsistancyl ha y bất thường khi cập
nhật. Do hậu quả của dư thừa, chúng ta có thể cập nhậ t họ tên của một sinh
viên trong một bộ nào đó nhưng vẫn để lại họ tên cũ t rong những bộ khác. Vì
vậy chúng ta có thể không có một họ tên duy nhất đối với mỗi sinh viên như
chúng ta mong muốn.
3)Bất thường khi chèn (insertion anomaly). Chún g ta không thể biết họ
tên của một sinh viên nếu hiện tại sinh viên đó không dự thi môn nào.
4)Bất thường khi xoá (deletion anomaly). Ngược lại với vấn đề 3) là vấn
đề chúng ta có thể xoá tất cả các môn thi của một sinh viên, vô ý làm mất dấu
vết để tìm ra họ tên của sinh viên này.
Những vấn đề nêu trên sẽ được giải quyết nếu ch úng ta phân rã lược đồ
quan hệ Diemthi thành hai lược đồ quan hệ: Trường Trung cấp Kinh tế - Kỹ thuật Hà Nội I Giáo Trình Cơ Sở Dữ Liệu
Trang 56
Sinhvien(MASV,HOTEN)
Ketqua(MASV,MONHỌC,DIEMTHI)
Lúc này lược đồ quan hệ Sinhvien cho biết họ tê n của mỗi sinh viên chỉ
xuất hiện đúng một lần; do vậy không có dư thừa. Ng oài ra chúng ta cũng có
thể nhập họ tên của một sinh viên dù hiện tại sinh viê n đó chưa có kết quả thi
môn nào. Tuy nhiên lúc này ta nhận thấy rằng để tìm danh sách họ tên của các
sinh viên ứng với môn thi cơ sở dữ liệu thì chúng ta p hải thực hiện một phép
kết nối, còn với một quan hệ duy nhất Thi chúng ta có thể dễ dàng trả lời bằng
cách thực hiện một phép chọn rồi một phép chiếu. Là m sao để đưa được một
lược đồ cơ sở dữ liệu chưa tốt về một lược đồ cơ sở d ữ liệu tốt hơn ? chương