- Q đạt chuẩn 2NF vì lược đồ quan hệ Q chỉ có một khóa và khóa chỉ có một thuộc tính nên mọi thuộc tính đều phụ thuộc đầy đủ vào khóa.. - Trong lược đồ 2NF, cấm tất cả các thuộc tính khô
Trang 1Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 1
D Hệ quản trị cơ sở dữ liệu
2 Mô hình kiến trúc 3 mức của hệ CSDL gồm:
A Mô hình trong, mô hình vật lý, mô hình ngoài, khung nhìn của người sử dụng
B Mô hình dữ liệu
C Mô hình ngoài, khung nhìn của người sử dụng
D Các mô hình con dữ liệu
3 Nghiên cứu mô hình cơ sở dữ liệu dựa trên các yêu cầu
A Mục tiêu độc lập dữ liệu và trao đổi
B Phải xác định rõ ràng các khía cạnh logic và khía cạnh
C Quản trị cơ sở dữ liệu
D Mục tiêu xử lý tệp
4 Một mô hình CSDL là tốt nhất nếu:
A Cài đặt trong một mô hình dữ liệu với một hệ quản trị cơ sở dữ liệu nào đó
B Đặc tính nhận dạng hướng đối tượng
C Tính dư thừa
D Giải quyết mối quan hệ nhiều – nhiều
5 Hãy chọn từ/cụm từ tương ứng để hoàn thiện khảng định sau:
Cơ sở dữ liệu quan hệ có thể hiểu là dữ liệu được người sử dụng nhìn dưới dạng một quan hệ toán học và các phép toán thao tác dữ liệu được xây dựng trên các cấu trúc quan hệ toán học
A Quan hệ
B Biểu thức đại số
C Biểu thức
Trang 2Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 2
D Phụ thuộc
6 Quá trình tối ưu hoá các câu hỏi truy vấn dữ liệu là quá trình:
A Cần thiết phải biến đổi các câu hỏi hợp lý
B Chi phí thời gian thực hiện các phép toán là ít nhất
C Cần thiết phải biến đổi các câu hỏi hợp lý sao cho chi phí thời gian thực hiện các phép toán là ít nhất
D Kết quả của các phép toán được biểu diễn duy nhất bằng một quan hệ
7 Xét lược đồ quan hệ R(T,V,X,P,K) với tập phụ thuộc hàm F={TVX;
8 Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và tập phụ thuộc hàm
F ={B A; DA CE; D H; GH C; AC D} Bao đóng của tập thuôc tính {AC}:
A {ACDEH}
B {ABCDEH}
C {ACEH}
D {ACDE}
9 Cho lược đồ quan hệ Q(A,B,C,D,E,I) và tập phụ thuộc hàm F={ACDEBI,
CEAD} Tất cả các khoá của Q là
Trang 3Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 3
phụ thuộc hàm nào sau đây là dư thừa đối với F?
Trang 4Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 4
14 Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm F={ABCD,
DC} Xác định dạng chuẩn cao nhất của lược đồ quan hệ R
Trang 5Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 5
Chú thích phần trắc nghiệm:
9 Cho lược đồ quan hệ Q(A,B,C,D,E,I) và tập phụn thuộc hàm
F = {ACD EBI; CE AD}
Vậy tất cả các khóa là: ADC và CE
10 Cho lược đồ quan hệ R(A,B,C,D,E,G) với các tập phụ thuộc hàm F =
Vậy trong F các phụ thuộc hàm dư thừa là: ABD E, D B
Trang 6Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 6
11 Cho F={AB C, B D, CD E, CE GH, G A}
Ta có AB C(1)
B D AB D (2)(theo luật gia tăng)
(1,2) AB CD(3)(theo luật hợp)
Ta lại có CD E(4) (3,4) AB E(theo luật bắt cầu)
12 Xét R(A,B,C,D) có khóa chính là A, là 2NF nhưng không đạt 3NF
- R không đạt 3NF vì vi phạm thuộc tính không khóa phụ thuộc bắc cầu vào khóa
- Phụ thuộc hàm bắc cầu khi:
Khóa là: K1={AB}, K2={AC}
- Q không đạt chuẩn BC vì có vế trái không phải là siêu khóa
- Q không đạt chuẩn 3NF vì có vế trái không là thuộc tính khóa
Trang 7Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 7
- Q không đạt chuẩn 2NF vì B là thuộc tính khóa, B->D, D là thuộc tính không khóa nên D phụ thuộc không đầy đủ vào khóa
Khóa là: K1={ABC}, K2={ABD}
- R không đạt chuẩn BCNF vì có vế trái D không phải là siêu khóa
- R đạt chuẩn 3NF vì mọi phụ thuộc hàm X A ϵ F đều có A là thuộc tính khóa
15 Cho lựơc đồ quan hệ Q(G,M,V,N,H,P) và tập phụ thuộc hàm:
Trang 8Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 8
- Q không đạt chuẩn BCNF vì có vế trái M không phải là siêu khóa
- Q không đạt chuẩn 3NF vì có vế phải không là thuộc tính khóa
- Q đạt chuẩn 2NF vì lược đồ quan hệ Q chỉ có một khóa và khóa chỉ có một thuộc tính nên mọi thuộc tính đều phụ thuộc đầy đủ vào khóa
16 Cho lược đồ quan hệ Q(A,B,C,D,E,I) và tập phụ thuộc hàm
F={ACDEBI, CEAD}
Khóa là: K1={ADC}, K2={CE}
Q đạt chuẩn BCNF vì mọi phụ thuộc hàm đều có vế trái là siêu khóa
Trang 9Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 9
Rõ ràng, khi sau khi chúng tôi đã xác định các thuộc tính quan trọng và tất cả các thuộc tính trong R được duy nhất có giá trị, mối quan hệ R là trong 1NF
+ R đạt 1NF
+ ∄ X Y ∈ F+
\ X Y, Y là thuộc tính không khóa
1NF 2NF 3NF BCNF 4NF 5NF
Trang 10Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 10
1.3 Dạng chuẩn 3:
Lược đồ quan hệ R được gọi là dạng chuẩn 3NF, khi và chỉ khi không tồn tại phụ thuộc hàm X →Y ∈F+
sao cho X+ ≠ R, Y ⊄ X và Y là thuộc tính không khóa
- Nói cách khác, nếu X →Y ∈F+, Y ⊄X thì khi đó hoặc X là khóa của lược
đồ quan hệ hoặc Y là một thuộc tính của khóa
- Trong lược đồ 2NF, cấm tất cả các thuộc tính không khoá phụ thuộc vào các tập con thực sự của khoá Trong dạng chuẩn 3NF, cấm các thuộc tính không khoá phụ thuộc hàm vào tất cả các tập thuộc tính có bao đóng khác R
- Các khẳng định sau là tương đương
a) Không tồn tại phụthuộc hàm X →Y ∈F+
sao cho X+ ≠ Ω, Y ⊄X và Y là thuộc tính không khóa
b) Nếu X →Y ∈F, Y ⊄X khi đó hoặc X là khóa của lược đồ quan hệ hoặc
Y là một thuộc tính của khóa
c) Không tồn tại thuộc tính không khoá phụ thuộc bắc cầu vào khoá
d) Tập các thuộc tính không khoá bằng rỗng
- Như vậy một lược đồ quan hệ dạng chuẩn 3NF thì cũng là dạng chuẩn 2NF
3NF 2NF
1.4 Dạng chuẩn BCNF:
Lược đồ quan hệ R được gọi là lược đồ dạng chuẩn Boyce - Codd (BCNF), nếu với mọi phụ thuộc X →Y ∈F+, thì khi đó hoặc Y ⊆X (phụ thuộc tầm thường), hoặc X là một khoá của lược đồ quan hệ Tức là nếu X →Y ∈F+, Y ∉ X thì X+
= R
- Có thể suy ra rằng:
a) Các thuộc tính không khoá phụ thuộc hoàn toàn vào khoá
b) Các thuộc tính khoá phụ thuộc hoàn toàn vào tất cả khoá khác
- Các khẳng định sau là tương đương
a) Nếu X →Y ∈F+, Y ⊄ X khi đó X là khóa của lược đồ quan hệ
b) Nếu X →Y ∈F+, Y ⊄ X khi đó X+
= R
Trang 11Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 11
c) Mọi định thuộc là khoá của lược đồ quan hệ (X là định thuộc khi và chỉ khi tồn tại Y ⊆ R sao cho X →Y ∈F+
là phụthuộc đầy đủ)
- Định nghĩa dạng chuẩn 3NF và BCNF giống nhau trừ mệnh đề “ hoặc Y là một thuộc tính của khóa” Điều này có nghĩa là nếu lược đồ quan hệ dạng chuẩn BCNF thì cũng là 3NF
- Trong định nghĩa 3NF, loại trừ các thuộc tính không khóa phụ thuộc vào các thuộc tính có bao đóng khác R, còn trong định nghĩa BCNF thì loại trừ tất
cả các thuộc tính phụ thuộc vào các thuộc tính có bao đóng khác R
BCNF 3NF
1.4 Dạng chuẩn 4NF:
- Một lược đồ quan hệ R là ở dạng chuẩn 4 (4NF) đối với một tập hợp các phụ thuộc F (gồm các phụ thuộc hàm và phụ thuộc đa trị) nếu với mỗi phụ thuộc đa trị không tầm thường X→→Y trong F+, X là một siêu khóa của R
- Chúng ta xét dạng chuẩn 4NF của một lược đồ khi có phụ thuộc đa trị trong tập phụ thuộc F
- Nếu R chỉ có các phụ thuộc hàm FD thì dạng chuẩn 4NF chính là dạng BCNF
và X Y xem có nghĩa như là X Y
, mỗi Ri là một siêu khóa của R
- Chúng ta xét dạng chuẩn 5NF của một lược đồ khi có phụ thuộc nối trong tập phụ thuộc F
- Nếu R đạt 4NF thì đạt BCNF
5NF 4NF
Trang 12Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 12
Kết luận: 5NF 4NF BCNF 3NF 2NF 1NF
2 Anh (chị) hãy nêu đặc trưng nhận biết dạng chuẩn 3NF & BCNF
Cho lược đồ quan hệ Q và tập phụ thuộc hàm F
Nếu mọi thuộc tính không khóa của Q đều không phụ thuộc bắc cầu vào một khóa bất kỳ của Q thì Q đạt chuẩn 3NF
Nếu Q không có thuộc tính không khóa thì Q đạt chuẩn 3NF
Nếu mọi phụ thuộc hàm trong F đều có vế phải là thuộc tính khóa thì Q đạt chuẩn 3NF
Nếu mọi phụ thuộc hàm của F đều có vế trái là siêu khóa thì Q đạt dạng chuẩn BCNF
3 Cho 02 ví dụ về lược đồ quan hệ là 3NF nhưng không là BNCF
3.1 Ví dụ 1: Cho lược đồ quan hệ Q(SV,MH,THAY) và tập phụ thuộc hàm
F = {SV,MH THAY ; THAY MH}
Ta có : Tập nguồn TN = {SV} và tập trung gian TG = {THAY,MH}
X i (TN ∪ X i ) (TN ∪ X i ) + Siêu khóa Khóa
Trang 13Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 13
3.2 Ví dụ 2: Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc hàm
F = {AB C ; D B ; C ABD}
Ta có : Tập nguồn TN = {∅} và tập trung gian TG = {ABCD}
X i (TN ∪ X i ) (TN ∪ X i ) + Siêu khóa Khóa
Trang 14Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 14
4 Cho 02 ví dụ về lược đồ quan hệ là 2NF nhưng không là 3NF
4.1 Ví dụ 1:Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc hàm
F = {B D ; A C ; C ABD}
Ta có : Tập nguồn TN = {∅} và tập trung gian TG = {ABC}
(TN ∪ X i ) + Siêu khóa X i (TN ∪ X i ) Khóa
- K1 = {A} ; K2 = {B} ; K3 = {C} là các khóa Thuộc tính không khóa là D
- Thuộc tính không khóa D phụ thuộc đầy đủ vào khóa Vậy Q đạt chuẩn 2
- Xét C ABD { C A, C B, C D} và A C Ta thấy thuộc tính không khóa D phụ thuộc bắc cầu vào khóa A Vậy Q không đạt chuẩn 3
4.2 Ví dụ 2: Cho lược đồ quan hệ Q(GMVNHP) và tập phụ thuộc hàm
F = {G M ; G N ; G H ; G P ; M V ; NHP M}
Ta có : Tập nguồn TN = {G} và tập trung gian TG = {MNHP}
X i (TN ∪ X i ) (TN ∪ X i ) + Siêu khóa Khóa
Trang 15Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 15
- Các thuộc tính không khóa gồm : MVNHP
- Xét G M và M V Ta thấy thuộc tính không khóa V phụ thuộc bắc cầu vào khóa G Vậy Q không đạt chuẩn 3
5 Trình bày các thuật toán:
5.1 Tách bảo toàn phụ thuộc hàm về 3NF :
Mô tả :
- Vào : Lược đồ quan hệ R(U) và tập phụ thuộc hàm F
- Ra : Tách C =(R1 , R2 ,…, Rm) thỏa :
+ Ri đạt tối thiểu dạng chuẩn 3NF
+ Bảo toàn phụ thuộc hàm
Phương pháp :
Trang 16Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 16
- Nếu có những thuộc tính của R không nằm trong một phụ thuộc nào của F (dù ở vế trái hay vế phải) thì về nguyên tắc, mọi thuộc tính như thế đều có thể tạo ra một lược đồ và chúng ta loại chúng ra khỏi lược đồ
- Nếu một trong những phụ thuộc hàm trong F có chứa tất cả các thuộc tính của R thì kết xuất chính là R
- Phân rã mỗi phụ thuộc hàm X A trong F sẽ tạo thành một lược đồ
Thuật toán :
- Bước 1 : Tìm khóa (có thể có nhiều khóa khác nhau)
- Bước 2 : Tìm phủ tối thiếu (có thể có nhiều phủ tối thiểu khác nhau)
- Bước 3 : Chia phủ tối thiểu thành những nhóm Si sao cho trong mỗi nhóm chỉ chứa các phụ thuộc hàm có cùng vế trái Mỗi vế trái ký hiệu là Ki, đó là siêu khóa của những quan hệ con tương lai Bước này có thể không thực hiện trong một số trường hợp
- Bước 4 : Gộp các Si có các phụ thuộc hàm dạng Ki Km và Km Ki Bước này cũng có thể không thực hiện trong một số trường hợp
- Bước 5 : Gộp các Si có các siêu khóa tương đương lại thành cùng 1 nhóm Bước này nên tính bằng cách lập các bao đóng từ các vế trái
- Bước 6 : Ánh xạ mỗi Si thành một lược đồ quan hệ
- Bước 7 : Nếu trong tập các lược đồ quan hệ vừa tạo không có lược đồ quan
hệ chứa đủ các thuộc tính khóa của lược đồ R ban đầu, ta tạo thêm 1 lược đồ quan hệ nữa Lược đồ quan hệ này sẽ bao gồm tập các thuộc tính khóa của lược
đồ quan hệ R
Ví dụ : Cho R(ABCD), F = { A BC, C DE, B C, B A }
Bước 1 : Tìm khóa của lược đồ quan hệ
- Xác định khóa chính của R là A
Bước 2 : Tìm phủ tối thiểu của lược đồ quan hệ
Phân rã vế phải của tất cả các phụ thuộc hàm sao cho chỉ còn 1 thuộc tính : Ftđ = {A B, A C, C D, C E, B A, B A}
Trang 17Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 17
Loại bỏ phụ thuộc hàm dư thừa A C
Phủ tối thiểu của F là G={A B, C D, C E, B C, B A}
Bước 3 : Chia mỗi phụ thuộc hàm có trong phủ tối thiểu thành 1 nhóm : chia 5 phụ thuộc hàm thành 5 nhóm
S1 :{A B} hội các thuộc tính của cả 2 vế, ta được: AB
S2 :{C D} hội các thuộc tính của cả 2 vế, ta được: CD
S3 :{C E} hội các thuộc tính của cả 2 vế, ta được: CE
S4 :{B C} hội các thuộc tính của cả 2 vế, ta được: BC
S5 :{B A} hội các thuộc tính của cả 2 vế, ta được: BC
Bước 7 : Nếu khóa chính ban đầu không được chứa trọn vẹn trong 1 lược
đồ quan hệ ta cần tạo thêm 1 lược đồ quan hệ với các thuộc tính của lược đồ
Trang 18Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 18
là tập thuộc tính trong khóa chính ban đầu Bước này có thể không thực hiện trong một số trường hợp)
Do lược đồ quan hệ R1 đã chứa khóa chính A, ta không cần lập thêm 1 lược đồ quan hệ nữa
Kết luận : Phép tách thu được 3 lược đồ quan hệ R1, R2, R4 đều đạt BCNF, do
đó lược đồ cơ sở dữ liệu kết quả đạt BCNF
5.2 Tách bảo toàn thông tin về BCNF
Mô tả :
- Vào : Lược đồ quan hệ R và tập phụ thuộc hàm F
- Ra : C = (R1, R2, … ,Rm ) thỏa :
+ Mọi Ri đều đạt tối thiểu dạng chuẩn BCNF
+ Bảo toàn thông tin
- Thực hiện đệ quy các bướctrên cho đến khi đạt được yêu cầu đề ra ban đầu
Thuật toán : Thực hiện lặp đi lặp lại các bước sau cho đến khi tất cả lược đồ quan hệ thu được đều đạt dạng chuẩn 3 (hoặc BC) :
Tìm những phụ thuộc hàm làm cho lược đồ quan hệ vi phạm dạng chuẩn 3
Trong những phụ thuộc hàm vừa có xác định phụ thuộc hàm X thỏa yêu cầu : nếu bỏ phụ thuộc hàm này đi thì số lượng phụ thuộc hàm bị mất
là ít nhất
Dựa trên phụ thuộc hàm X, tạo lược đồ quan hệ mới với : + Các thuộc tính : Là những thuộc tính có trong phụ thuộc hàm X
Trang 19Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 19
+ Tập phụ thuộc hàm : Chỉ gồm 1 phụ thuộc hàm X
Trong lược đồ quan hệ cũ trước đó : + Tập thuộc tính : Loại bỏ những thuộc tính có trong vế phải của phụ thuộc hàm X
+ Tập phụ thuộc hàm : Loại bỏ phụ thuộc hàm X
Ví dụ : Cho lược đồ quan hệ Q (ABCDEG) và tập phụ thuộc hàm F :
Trang 20Nhóm 2 – wWw.kenhdaihoc.com – Kênh thông tin – học tập – giải trí Page 20
5.3 Tách bảo toàn thông tin và phụ thuộc hàm về 3NF
Mô tả :
- Vào : Lược đồ quan hệ R và tập phụ thuộc hàm F
- Ra : C = (R1, R2, … ,Rm ) thỏa :
+ Mọi Ri đều đạt tối thiểu dạng chuẩn 3NF
+ Bảo toàn thông tin và phụ thuộc hàm
Phương pháp :
- Áp dụng phương pháp tách về 3NF bảo toàn phụ thuộc hàm
- Đảm bảo là có một lược đồ con chứa khóa của lược đồ được tách
Thuật toán :
Bước 1 : Tìm một khóa tối thiểu của lược đồ quan hệ R đã cho
Bước 2 : Tách lược đồ quan hệ R theo phép tách bảo toàn phụ thuộc hàm về 3NF
Bước 3 : Nếu 1 trong các sơ đồ con có chứa khóa tối thiểu thì kết thúc thuật toán Ngược lại : ta thêm vào kết quả ở Bước 2 một lược đồ quan hệ được tạo bởi khóa tối thiểu tìm được bởi khóa tối thiểu tìm được ở Bước 1
Ví dụ : Cho lược đồ quan hệ R = {ABCDEFG} và tập phụ thuộc hàm F :
F ={ A B, ACD E, EF G}
Bước 1 : Khóa tối thiểu cần tìm là ACDF
Bước 2 : Phép tách bảo toàn phụ thuộc hàm
- Không có những thuộc tính của R không nằm trong một phụ thuộc nào của
F Không lập được quan hệ nào mới
- Không tồn tại phụ thuộc hàm trong F có chứa tất cả các thuộc tính của R
- Tách thành 3 lược đồ :
+ A B R1(AB), F1 = { A B } + ACD E R2(ACD), F2 = { ACD E } + EF G R3(EFG), F3 = { EF G }