Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 3: Mô hình dữ liệu quan hệ (Phần 4)

Kꢀ thuꢁt phꢂn mꢃm  
ꢄng dꢅng  
Chương 3  
Mô hꢀnh dữ liꢁu quan hệ  
(Phꢀn 4)  
9/6/2017  
Nội dung trình bày  
1. Khái niệm chuẩn hóa  
2. Mục đích của chuẩn hóa  
3. Các dạng chuẩn  
4. Lược đồ khái niệm  
5. Các phép toán trên CSDL quan hệ  
6. Các bước đưa về dạng chuẩn 3NF/BCNF  
7. Các quy tắc toàn vẹn dữ liệu  
2
1. Khái niệm chuẩn hóa  
. Chuẩn hóa: Mô hình quan hệ chỉ chấp nhận duy nhất các quan hệ thoả  
mãn điều kiện “Mọi giá trị trong quan hệ - nghĩa là tất cả các giá trị của  
các thuộc tính trong tất cả các bộ - đều phải là nguyên tố (atomic) (nghĩa là  
không chia nhỏ được nữa)” .  
. Nói một cách khác, tại mỗi vị trí cắt nhau của một hàng và một cột trong  
bảng tồn tại đúng một giá trị và không bao giờ là một tập các giá trị.  
.
.
Dạng chuẩn (normal form): Là trạng thái của một quan hệ có được do áp  
dụng những quy tắc liên quan đến phụ thuộc hàm của quan hệ đó.  
Chuẩn hoá dữ liệu: là quá trình phân rã lược đồ quan hệ chưa chuẩn hoá  
(có dạng chuẩn thấp) thành các lược đồ quan hệ nhỏ hơn nhưng ở dạng  
chuẩn cao hơn (có cấu trúc tốt hơn)  
3
2. Mꢅc đích của việc chuẩn hóa  
. Loại bỏ các dữ liệu dư thừa trong các bảng.  
. Xóa bỏ các dị thường trong các thao tác cập nhật dữ  
liệu.  
. Tối ưu hóa cấu trúc của các bảng.  
4
3 Các dạng chuẩn  
Dạng chuẩn 1(1 Normal Form - 1NF): Một bảng đạt chuẩn 1 khi và chỉ khi  
tất cả các cột trong bảng chỉ chứa giá trị nguyên tố, nghĩa là không có nhóm  
lặp (các cột) bên trong một hàng của bảng.  
5
3 Các dạng chuẩn (tiếp)  
. Kết luận:  
– Mọi lược đồ quan hệ đều thuộc dạng chuẩn 1.  
– Dạng chuẩn 1 có thể dẫn đến sự trùng lặp dữ  
liệu. Do đó gây ra các dị thường về cập nhật dữ  
liệu.  
6
3. Các dạng chuẩn (tiếp)  
Dạng chuẩn 2(2 Normal Form - 2NF): Lược đồ quan hệ R được gọi là thuộc  
dạng chuẩn 2 nếu nó đã ở dạng chuẩn 1 và mọi thuộc tính không khóa của R  
phụ thuộc hàm đꢀy đủ vào khóa chính của R.  
7
.
Kết luận:  
–
Mọi lược đồ quan hệ thuộc dạng chuẩn 2 cũng thuộc dạng chuẩn 1.  
–
Còn xuất hiện sự trùng lặp dữ liệu. Do đó gây ra các dị thường về cập  
nhật dữ liệu.  
8
3. Các dạng chuẩn (tiếp)  
.
Dạng chuẩn 3 (3 Normal Form - 3NF): Lược đồ quan hệ R được gọi là thuộc dạng  
chuẩn 3 nếu:  
o
R thuộc dạng chuẩn 2.  
o
Mọi thuộc tính không khóa của R không phụ thuộc bắc cꢀu vào khóa chính  
của R.  
Ví dụ: Lược đồ dưới đây thuộc dạng chuẩn 2 nhưng không thuộc dạng chuẩn 3, vì  
tồn tại phụ thuộc hàm bắc cꢀu:  
Rõ ràng: MaNV MaPB, MaPB TenPB => MaNV TenPB, Sau khi chuẩn hóa sang  
dạng 3 chúng ta nhận được các lược đồ sau:  
9
3. Các dạng chuẩn (tiếp)  
.
Kết luận:  
–
–
–
Mọi lược đồ quan hệ thuộc dạng chuẩn 3 cũng thuộc dạng chuẩn 2.  
PTH bắt cꢀu là nguyên nhân dẫn đến trùng lặp dữ liệu.  
Dạng chuẩn 3 là dạng chuẩn tối thiểu trong thiết kế CSDL  
10  
3. Các dạng chuẩn (tiếp)  
. Dạng chuẩn Boyce-Codd(BCNF): Lược đồ quan hệ R được gọi là đạt  
BCNF khi và chỉ khi với mọi FD X -> A đúng trong R thì X là siêu  
khóa  
Ví dụ: Cho lược đồ quan hệ R(A,B,C,D), với tập phụ thuộc hàm  
F={A->BCD, BC->AD ,D->B}  
11  
4 Lược đồ khái niệm  
12  
4 Lược đồ khái niệm(tiếp)  
13  
5 Các phép toán trên CSDL quan hệ  
– Chèn (insert)  
– Loại bỏ (delete)  
– Thay đổi (change)  
Trong mô hình CSDL quan hệ được nêu trên,  
các phép toán này được áp dụng cho từng bộ  
của các quan hệ lưu trữ trong máy  
14  
5 Các phép toán trên CSDL quan hệ(tiếp)  
1. Phép chèn (INSERT)  
– Phép chèn thêm một bộ t vào quan hệ r {A1, ..., An}  
có dạng:  
r = r t  
– Ta có thể biểu diễn chi tiết phép chèn như sau:  
INSERT (r; A1 = d1, A2 = d2, ..., An = dn)  
– Trong đó: - Ai với i = 1, ..., n là tên các thuộc tính và  
di với di dom(Ai) là các giá trị thuộc miền trị tương  
ứng của thuộc tính Ai.  
Ví dụ:  
– Để thêm một bộ t4 = (S4, Clark, 20, London) vào quan hệ S  
trong hình 1.2 ta làm như sau:  
INSERT(S; S# = S4, SNAME = Clark, STATUS = 20, CITY = London)  
15  
5 Các phép toán trên CSDL quan hệ(tiếp)  
. Nếu xem thứ tự các trường là cố định, khi đó có thể biểu diễn  
phép chèn dưới dạng không tường minh như sau:  
INSERT (r; d1, d2, ..., dn)  
• Mục đích của phép chèn là thêm một bộ vào một quan hệ  
nhất định  
. Kết quả của phép toán này có thể gây ra một số sai sót với  
những lý do sau đây:  
Bộ mới cꢀn thêm vào không phù hợp với lược đồ quan hệ đã cho  
Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của  
thuộc tính đó  
Giá trị khoá của bộ mới có thể là giá trị đã có trong quan hệ  
đang lưu trữ  
. Do vậy, tuỳ từng hệ thống cụ thể sẽ có những cách khắc phục  
riêng  
16  
5. Các phép toán trên CSDL quan hệ(tiếp)  
2. Phép loại bỏ (DEL)  
– Phép loại bỏ (DEL) là phép xoá một bộ ra khỏi một quan hệ  
cho trước  
– Giống như phép chèn, phép loại bỏ có dạng:  
r = r \ t  
– Ta có thể biểu diễn chi tiết phép loại bỏ như sau:  
DEL (r; A1 = d1, A2 = d2, ..., An = dn)  
– Hoặc nếu xem thứ tự các trường là cố định thì:  
DEL (r; d1, d2, ... dn)  
– Ví dụ:  
Cꢀn loại bỏ bộ tương ứng với P2, S3 trong quan hệ SP trên  
hình 1.2 ta làm như sau:  
DEL (SP; S# = S3, P# = P2, QTY = 200)  
17  
5. Các phép toán trên CSDL quan hệ(tiếp)  
– Tuy nhiên, không phải lúc nào phép loại bỏ cũng  
cꢀn đꢀy đủ tất cả các loại thông tin của bộ cꢀn loại  
bỏ  
– Nếu có giá trị về bộ đó tại các thuộc tính khoá K =  
{B1, B2,..., Bj} thì phép loại bỏ chỉ cꢀn viết:  
DEL (r; B1 = f1, B2 = f2, ..., Bi = fj)  
– Ví dụ, trong phép loại bỏ nêu trên, vì (S#, P#) là  
khoá của quan hệ SP nên ta chỉ cꢀn viết:  
DEL (SP; S# = S3, P# = P2)  
18  
5. Các phép toán trên CSDL quan hệ(tiếp)  
3. Phép thay đổi (CHANGE hoặc UPDATE)  
– Trong thực tế không phải lúc nào cũng chỉ dùng phép chèn  
hoặc loại bỏ đi một bộ mà nhiều khi chỉ cꢀn sửa đổi một số  
giá trị nào đó tại một số thuộc tính, lúc đó cꢀn thiết phải sử  
dụng phép thay đổi ("Change" hay viết tắt là CH)  
– Gọi tập {C1, ..., Cp} {A1, ..., An} là tập các thuộc tính mà  
tại đó các giá trị của bộ cꢀn thay đổi, khi đó phép thay đổi  
có dạng:  
r = r \ t t'  
– Hay ta có thể biểu diễn chi tiết phép loại bỏ như sau:  
CH (r; A1 = d1, A2 = d2, ..., An = dn; C1 = e1, C2 = e2, ..., Cp = ep)  
19  
5. Các phép toán trên CSDL quan hệ(tiếp)  
– Nếu K = {B1, ..., Bm} là khoá của quan hệ, khi đó chỉ cꢀn  
viết:  
CH (r; B1 = f1, B2 = f2, ..., Bm = fm; C1 = e1, C2 = e2, ..., Cp = ep)  
– Ví dụ: Cꢀn thay đổi địa chỉ hãng cung cấp S1 từ London  
thành Amsterdam trong quan hệ S. Khi đó phép thay đổi có  
dạng như sau:  
CH (S; S# = S1; CITY = Amsterdam)  
– Cũng có thể không dùng phép thay đổi mà dùng tổ hợp của  
phép loại bỏ và phép chèn một bộ mới  
Do vậy, sai sót đối với phép thay đổi cũng sẽ xảy ra tương tự  
như với phép chèn và phép loại bỏ  
20  
Tải về để xem bản đầy đủ
pdf 36 trang yennguyen 20520 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 3: Mô hình dữ liệu quan hệ (Phần 4)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_ky_thuat_phan_mem_ung_dung_chuong_3_mo_hinh_du_lie.pdf