Professional Documents
Culture Documents
Chuong 4 .1 TKCSDL Tá - NG Quan
Chuong 4 .1 TKCSDL Tá - NG Quan
Chuong 4 .1 TKCSDL Tá - NG Quan
TỔNG QUAN
6/3/2019 9:45 PM 4
II/ Các nguyên tắc thiết kế lược đồ
1. Nguyên tắc 1
6/3/2019 9:45 PM 5
2. Nguyên tắc 2
6/3/2019 9:45 PM 6
Ví dụ
6/3/2019 9:45 PM 7
Ví dụ
Cho quan hệ DK_SP: Xem xét bảng quan hệ trên khi cập
nhật.
Dị thường khi thêm bộ: Không thể thêm vào tên và địa chỉ
của một công ty nào đó nếu công ty này chưa tham gia sản
xuất mặt hàng nào, mặc dù họ đã đăng ký hoạt động.
Dị thường khi sửa đổi: Có thể làm mất tính nhất quán của
dữ liệu. Ví dụ, khi sửa địa chỉ của một công ty sản xuất ở
một bộ nào đó mà các bộ khác vẫn giữ nguyên.
Dị thường khi xoá: Có thể gây ra việc mất thông tin. Ví dụ,
khi xoá một bộ mà sản phẩm tương ứng với sản phẩm cuối
cùng của một công ty nào đó thì việc xoá sẽ kéo theo việc
làm mất thông tin về công ty đó.
6/3/2019 9:45 PM 8
3. Nguyên tắc 3
6/3/2019 9:45 PM 9
4. Nguyên tắc 4
- Việc kết nối tự nhiên chỉ được diễn ra trên các
thuộc tính khóa chính, khóa ngoại.
- Mục đích: Tránh các bộ giả
6/3/2019 9:45 PM 10
Ví dụ
Cho hai quan hệ:
- SP_Dky(TenCty, Sanpham, Soluong)
- SP(MaCT, Sanpham, Dongia)
6/3/2019 9:45 PM 11
kết nối tự nhiên trên “Sanpham”
- Hai dòng đánh dấu * là bộ “giả”
6/3/2019 9:45 PM 12
III/ Ràng buộc toàn vẹn quan hệ
1. Khái niệm:
- RBTV là những điều kiện bất biến mà tất cả
các bộ của những quan hệ có liên quan trong
CSDL đều phải thỏa mãn ở mọi thời điểm.
- Trong một CSDL, ràng buộc toàn vẹn được
xem như là một công cụ để diễn đạt ngữ
nghĩa của CSDL
- Công việc kiểm tra RBTV thường được tiến
hành vào thời điểm cập nhật dữ liệu.
6/3/2019 9:45 PM 13
2. Các yếu tố của RBTV
6/3/2019 9:45 PM 14
a/ Điều kiện
Điều kiện của một ràng buộc toàn vẹn quan hệ
có thể được biểu diễn bằng ngôn ngữ tự
nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại
số quan hệ,... Ngoài ra, điều kiện của ràng
buộc toàn vẹn cũng có thể được biểu diễn
bằng phụ thuộc hàm.
Ví dụ 1: Với lược đồ quan hệ SINHVIEN, r là
một quan hệ của SINHVIEN thì có một ràng
buộc toàn vẹn như sau:
t1, t2r t1[MaSV] ≠ t2[MaSV]
6/3/2019 9:45 PM 15
b/ Bối cảnh
Bối cảnh của một ràng buộc toàn vẹn là những
quan hệ mà ràng buộc đó có hiệu lực, hay nói
một cách khác, đó là những quan hệ cần phải
được kiểm tra ràng buộc toàn vẹn.
Bối cảnh của một ràng buộc toàn vẹn có thể là
một hoặc nhiều quan hệ. Chẳng hạn, với ràng
buộc toàn vẹn ở ví dụ trên thì bối cảnh là một
quan hệ SINHVIEN.
6/3/2019 9:45 PM 16
c/ Tầm ảnh hưởng
Sử dụng bảng tầm ảnh hưởng để kiểm tra
ràng buộc toàn vẹn tại những thời điểm cập
nhật dữ liệu (thêm/sửa/xoá).
6/3/2019 9:45 PM 17
c/ Tầm ảnh hưởng
Một bảng tầm ảnh hưởng của một RBTV có
dạng sau:
6/3/2019 9:45 PM 18
c/ Tầm ảnh hưởng
Chú ý:
- Dấu “+”: cần kiểm tra RBTV
- Dấu “-”: không cần kiểm tra RBTV
6/3/2019 9:45 PM 19
Ví dụ
Tầm ảnh hưởng của ràng buộc toàn vẹn sau:
t1, t2r t1[MaSV] ≠ t2[MaSV]
r + + -
6/3/2019 9:45 PM 20
3/ Phân loại RBTV
Các ràng buộc toàn vẹn có thể được chia làm
hai loại chính như sau:
- Ràng buộc toàn vẹn trên phạm vi là một quan hệ
bao gồm: Ràng buộc toàn vẹn miền giá trị, ràng
buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn
liên bộ.
- Ràng buộc toàn vẹn trên phạm vi nhiều quan hệ
bao gồm: Ràng buộc toàn vẹn phụ thuộc tồn tại,
ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng
buộc toàn vẹn liên thuộc tính- liên quan hệ.
6/3/2019 9:45 PM 21
4/ Ví dụ
Cho một CSDL dùng để quản lý việc đặt hàng và
giao hàng của một công ty. Lược đồ CSDL gồm các
lược đồ quan hệ như sau:
- R1: KHACH(MaKH, TenKH, Diachi, Tel)
- R2: HANG(Mahang, Tenhang, Quycach, DVtinh)
- R3: DATHANG(SoDH, Mahang, SLdat, NgayDH, MaKH)
- R4: HOADON(SoHD, Ngaylap, SoDH, TrigiaHD,
Ngayxuat)
- R5: CHITIETHD(SoDH, Mahang, Giaban, SLban)
- R6: PHIEUTHU(SoPT, Ngaythu, MaKH, Sotien)
Xácđịnh bối cảnh, điều kiện và tầm ảnh hưởng cuả
các RBTV.
6/3/2019 9:45 PM 22