CÁC VấN Đề GặP PHảI KHI Tổ CHứC Dữ L IệU:

Một phần của tài liệu 1353062502Giao trinh Co so du lieu (Trang 86 - 88)

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 (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu 1353062502Giao trinh Co so du lieu (Trang 86 - 88)