Chuong 4 .1 TKCSDL Tá - NG Quan

You might also like

You are on page 1of 22

CHƯƠNG IV:

THIẾT KẾ CSDL QUAN HỆ


CHƯƠNG IV: THIẾT KẾ CSDL

TỔNG QUAN

PHỤ THUỘC HÀM

CHUẨN HÓA CSDL


TỔNG QUAN
I. Giới thiệu
 Thiết kế CSDL: chọn được tập lược đồ
phù hợp.
 Nội dung: xem xét lý thuyết để thiết kế
được lược đồ “tốt”
 Tính tốt của lược đồ: thể hiện ở hai mức
- Mức logic: người phân tích
- Mức vật lý: người cài đặt.

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

Thiết kế một lược đồ quan hệ sao cho


dễ giải thích ý nghĩa của nó. Không tổ hợp
các thuộc tính từ nhiều kiểu thực thể và
kiểu liên kết vào một quan hệ.

6/3/2019 9:45 PM 5
2. Nguyên tắc 2

- Không sinh ra những dị thường cập nhật


trong các quan hệ.
- Nếu có xuất hiện những dị thường cập
nhật thì phải ghi chép lại một cách rõ
ràng và phải đảm bảo các chương trình
cập nhật dữ liệu sẽ thực hiện một cách
đúng đắn.

6/3/2019 9:45 PM 6
Ví dụ

Cho quan hệ DK_SP

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

- Hạn chế đặt vào trong các quan hệ cơ sở


những thuộc tính mà các giá trị của
chúng thường xuyên là null.
- Nếu không thể tránh được các giá trị null
thì phải đảm bảo rằng chúng chỉ áp dụng
trong các trường hợp đặc biệt và không
áp dụng cho một số lớn các bộ trong
quan hệ.

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

+ Mỗi RBTV có ba yếu tố: điều kiện, bối cảnh


và tầm ảnh hưởng.

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, t2r 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:

Tên RBTV Thêm (T) Sửa (S) Xoá (X)


r1 + - -
r2
..... .... ... ...
rn

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, t2r t1[MaSV] ≠ t2[MaSV]

RBTV1 Thêm Sửa Xóa

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

You might also like