nội dung ôn tập thi tuyển sinh môn cơ sở dữ liệu 2013

14 774 1
nội dung ôn tập thi tuyển sinh môn cơ sở dữ liệu 2013

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC ĐÔNG Á KHOA CÔNG NGHỆ THÔNG TIN NỘI DUNG ÔN THI TUYỂN SINH LIÊN THÔNG MÔN: CƠ SỞ DỮ LIỆU I Mơ hình thực thể mối quan hệ, mơ hình liệu quan hệ Lý thuyết: - Các loại quan hệ: Quan hệ 1-1, 1-n, n-n Chuyển đổi mơ hình thực thể mối quan hệ sang mơ hình liệu quan hệ Bài tập: Câu Vẽ mơ hình thực thể mối quan hệ, mơ hình liệu quan hệ cho toán quản lý tuyển sinh đại học, gồm yêu cầu sau: - Quản lý thơng tin thí sinh Quản lý khối thi (điểm chuẩn khối thi) Quản lý môn thi Quản lý khu vực (điểm ưu tiên theo khu vực) Câu Ngồi sinh viên cứu tốn quản lý danh mục đề tài tập nhóm II Ngôn ngữ đại số quan hệ Lý thuyết: - Các phép toán tập hợp: phép hợp; phép giao; phép trừ; phép tích đề-các - Các phép tốn quan hệ: phép chọn; phép chiếu; phép kết nối; phép chia Bài tập: Câu Cho quan hệ r s sau: Quan hệ r Quan hệ s A B C D E 1 2 1 1 1 1 3 Hãy thực phép toán sau dựa vào đại số quan hệ: C D H a ∏CD(r) - ∏CD(s) b ∏AB(B=2(r))  ∏CD(s) c ∏ABCD (D=1(r))  s d ∏ABCD(r) ‚ ∏CD (D=1 (s)) e ∏AB (r)  s f ∏ABE (r)  s B=C E>H Câu Cho lược đồ quan hệ KHOA LOP sau: KHOA(MAKHOA, TENKHOA, DIENTHOAI, TRUONGKHOA) LOP(MALOP, TENLOP, NAMNHAPHOC, HEDAOTAO, MAKHOA) 1/14 Hãy trả lời câu hỏi sau đại số quan hệ: Hiển thị Tên lớp, Năm nhập học lớp thuộc khoa Công nghệ thông tin? Hiển thị Tên lớp, Năm nhập học, Hệ đào tạo lớp thuộc khoa Công nghệ thơng tin khoa Kế tốn? Hiển thị Tên khoa, Điện thoại mà giáo viên Huỳnh Đức Thuận làm trưởng khoa? Hiển thị Mã lớp, Tên lớp thuộc khoa cơng nghệ thơng tin có năm nhập học 2010? III Ngôn ngữ SQL Lý thuyết: - Câu lệnh Select bảng, nhiều bảng - Câu lệnh Select lồng - Sử dụng hàm (sum, max, min, count….) câu lệnh Select - Sử dụng vị từ (in, between, like…) câu lệnh Select - Sử dụng mệnh đề Group by, Order by, Having - Các lệnh cập nhật liệu: Insert, Update, Delete Bài tập: Câu Hãy trả lời câu câu lệnh SQL Câu Cho sở liệu gồm bảng liệu sau: MATHANG(MAMH,TENMH, DVT, SOLUONG) CT_DATHANG(MADH, MAMH, SOLUONG, DONGIA) DONDATHANG(MADH, MAKH, MANV, NGAYD, NGAYG, NOIG) Hãy trả lời câu hỏi sau câu lệnh SQL: Hiển thị thông tin mặt hàng? Select * from mathang Hiển thị mã đặt hàng, mã khách hàng, mã nhân viên, mã mặt hàng, tên mặt hàng, số lượng đặt, đơn giá, thành tiền = số lượng * đơn giá ? Select d.madh, makh, manv, ct.mamh, tenmh, ct.soluong, dongia, [Thành tiền] = ct.soluong*dongia from mathang m, ct_dathang ct, dondathang d where m.mamh= ct.mamh and ct.madh= d.madh Hãy hiển thị mã đặt hàng, mã khách, mã mặt hàng, tên mặt hàng, số lượng khách hàng đặt ngày 26/06/2011 select d.madh, makh, m.mamh, tenmh, ct.soluong from mathang m, dondathang d, ct_dathang ct where ngayd='2011/06/26' and m.mamh=ct.mamh 2/14 and ct.madh=d.madh Đếm có mặt hàng có bảng mặt hàng? Select count(mamh) as [Tổng số mặt hàng] from mathang Những mặt hàng chưa khách hàng đặt mua? Cách select mamh, tenmh from mathang where not exists (select mamh from ct_dathang) Cách select mamh, tenmh from mathang where mamh not in (select mamh from ct_dathang) Hãy hiển thị mã đặt hàng, mã khách, mã mặt hàng, tên mặt hàng, số lượng khách hàng đặt ngày 26/06/2011có số lượng đặt lớn Select d.madh, makh, m.mamh, tenmh, ct.soluong from mathang m, dondathang d, ct_dathang ct where ngayd='2011/06/26' and ct.soluong = (select max(soluong) from ct_dathang) and m.mamh=ct.mamh and ct.madh=d.madh Hãy thống kê số lượng mặt hàng đặt hàng? Select m.mamh, tenmh, sum(ct.soluong) as 'Tổng số lượng đặt' from mathang m, ct_dathang ct where m.mamh = ct.mamh group by m.mamh, tenmh Hãy thống kê số lượng mặt hàng đặt lớn tổng số lượng đặt hàng cho mặt hàng sắt 10? Select m.mamh, tenmh, sum(ct.soluong) as 'Tổng số lượng đặt' from mathang m, ct_dathang ct where m.mamh = ct.mamh group by m.mamh, tenmh having sum(ct.soluong) > (select sum(soluong) from ct_dathang where mamh='s10') Hiển thị thơng tin mặt hàng có số lượng lớn số lượng mặt hàng có mã hàng ‘S10’? Select * from mathang Where soluong >= (select soluong From mathang where mamh='s10') IV Phụ thuộc hàm Câu Định nghĩa phụ thuộc hàm Cho quan hệ r xác định lược đồ quan hệ R(A 1, A2,…, An) X, Y  R Ta nói X xác định hàm Y hay Y phụ thuộc hàm vào X, ký hiệu: X Y, r quan hệ xác định lược đồ quan hệ R thỏa mãn: t1, t2  r cho t1.X = t2.X  t1.Y = t2.Y 3/14 Ví dụ Cho quan hệ r sau: A 1 B 5 C 3 D Những phụ thuộc hàm sau không thỏa r? Giải thích? F={A  B, AC  D, C  B } Hướng dẫn Phụ thuộc hàm không thỏa r là: AC  D Vì:  t1, t2  r, ta có: t1.(A,C) = t2.(A,C)= (1,3) mà t1.D = ≠ t2.D = (không thỏa định nghĩa phụ thuộc hàm) Ví dụ Cho quan hệ r sau: A B 5 C 3 D Những phụ thuộc hàm không thỏa r? Giải thích? F={A  D, B  A, A  C} Câu Phát biểu hệ tiên đề Armstrong nêu hệ Cho quan hệ r xác định lược đồ quan hệ R (A1, A2, , An) với X, Y, Z  R Hệ tiên đề Armstrong phát biểu sau: A1: Luật phản xạ: Nếu Y  X X  Y A2: Luật tăng trưởng: Nếu X  Y Z  R ZX  ZY, ZX = Z  X A3: Luật bắc cầu : Nếu X  Y Y  Z X  Z Hệ quả: A4: Luật hợp : Nếu X  Y X  Z X  YZ A5: Luật tách : Nếu X → Y Z  Y X → Z A6: Luật tự bắc cầu: Nếu X → Y WY → Z XW → Z Ví dụ Cho lược đồ quan hệ R (A, B, E, I, G, H) tập PTH F R: F={AB  E, AG  I, E  G, GI  H} Hãy chứng minh rằng: AB  GH Hướng dẫn: Ta có: + GI  H (giải thiết)  GI  GH (luật tăng trưởng) + AB  E (giải thiết) E  G (giải thích)  AB  G (luật bắc cầu) + Từ (2) AG  I (giải thiết )  AB  I (luật tự bắc cầu) + Từ (2) (3)  AB  GI (luật hợp) 4/14 (1) (2) (3) (4) Vậy: Từ (4) (1) suy ra: AB  GH (điều phải chứng minh) Ví dụ Cho lược đồ quan hệ R (A, B, C, D, E, G, H) tập PTH F R: F={AB  C, B  D, DC  GH, HC  E} Hãy chứng minh rằng: BC  G AB  E Câu Tính hệ tiên đề Armstrong Định lý: Cho tập phụ thuộc hàm F xác định tập thuộc tính R phụ thuộc hàm f xác định R Nếu f dẫn từ F theo tiên đề Armstrong f suy dẫn từ F theo quan hệ, tức F+  F* Câu 10 Định nghĩa quan hệ Cho tập thuộc tính R ={A1, A2, , An}, thuộc tính Ai ( i  n ) có miền giá trị Dom(Ai) Ta nói quan hệ r xác định tập thuộc tính R r tập tích Đề - Các miền giá trị Dom(A1) × Dom(A2) × ×Dom(An) r  Dom(A1) × Dom(A2) × ×Dom(An) Khi người ta, kí hiệu r(R) hay r(A1,A2, ,An) Câu 11 Định nghĩa lược đồ quan hệ Tập tất thuộc tính cần quản lý đối tượng với mối quan hệ chúng gọi lược đồ quan hệ Lược đồ quan hệ R với tập thuộc tính {A1, A2, , An} viết R (A1, A2,…, An), Kýhiệu: R+ = {A1, A2, , An} Đơi người ta cịn định nghĩa lược đồ quan hệ sau: Lược đồ quan hệ (LĐQH) cặp  = (R, F), R tập hữu hạn thuộc tính; F tập phụ thuộc hàm xác định R Câu 12 Định nghĩa bao đóng tập thuộc tính Cho lược đồ quan hệ R tập phụ thuộc hàm F xác định R, X  R Bao đóng X theo F tập thuộc tính định sau: X+F ={A| X → A  F+} Câu 13 Thuật tốn tìm bao đóng tập thuộc tính LĐQH: Ý tưởng: Cho lược đồ quan hệ R tập PTH F xác định R, X  R Để xác định bao đóng tập thuộc tính X, ký hiệu X+ ta xuất phát từ tập X bổ sung dần cho X thuộc tính thuộc vế phải P phụ thuộc hàm T  P  F thỏa điều kiện T  X Thuật toán dừng khơng thể bổ sung thêm thuộc tính cho X Algorithm Closure Format: C = X+ Input: - R, F, Tập thuộc tính X  R Output: Y = X+ = {A  R | X  A  F+} Method Y:= X; Repeat 5/14 Z:= Y; for each FD T  P in F If T  Y then Y:= Y  P; endif; endfor; Until Y = Z; Return Y; end Closure; Câu 14 Định nghĩa khóa lược đồ quan hệ Cho r quan hệ định nghĩa lược đồ quan hệ R, K  R K gọi khóa R K thỏa mãn tính chất sau: F |=K R (K+ = R) !K’ K cho K’+ = R Ví dụ Cho lược đồ quan hệ R (A, B, C, D) tập PTH F R: F= {AB  C, C  A, B  D} Chứng minh rằng: AB có phải khóa khơng? Hướng dẫn: Ta có: (AB)+F = ABCD = R Xét K’= {A, B}  AB Mà: + A+F = A ≠ R, + B+F = BD ≠ R Suy ra: K’ khơng phải khóa Vậy: AB khóa lược đồ quan hệ R Ví dụ 2: Cho lược đồ quan hệ R (A, B, C, D) tập phụ thuộc hàm F xác định R: F= {A  C, BC  D} Chứng minh rằng: AB có phải khóa R khơng? Câu 15 Thuật tốn tìm khóa lược đồ quan hệ Thuật toán (Phương pháp đơn giản) Ý tưởng : Xuất phát từ siêu khóa K, loại dần thuộc tính K, bảo tồn tính bất biến, + K = R Algorithm Key Format: Key(R, F) Input : - Tập thuộc tính R - Tập PTH F Output : Khóa K  R thỏa đồng thời điều kiện sau: + K+ = R + A  K: (K – {A})+ ≠ R Method: K := R; for each attribute A in R if (K - {A})+ = R then K := K - {A} endif 6/14 endfor return K ; end Key; Thuật toán (Phương pháp cải tiến) Nhược điểm: Bắt đầu tập khóa với số lượng thuộc tính lớn : K=R Nhận xét:  Những thuộc tính khơng xuất PTH thuộc tính xuất vế trái PTH tham gia vào khóa  Những thuộc tính vừa xuất vế trái vừa xuất vế phải PTH có khả tham tham gia vào khóa  Những thuộc tính xuất vế phải PTH không tham gia vào khóa Từ nhận xét ta có:  Cho lược đồ quan hệ R F tập phụ thuộc hàm :  Gọi T tập thuộc tính xuất vế trái PTH F  Gọi P tập thuộc tính xuất vế phái PTH F  Nếu k khóa k tính chất thỏa: (R -P)  K  (R - P)  (TP) Algorithm Key Format: Key(R, F) Input : - R, F Output : Khóa (R - P)  K  (R - P)  (TP thỏa đồng thời điều kiện sau: + K+ = R + A  T  P cho (K – {A})+ ≠ R Method: K := (R - P)  (TP ; for each attribute A in T  P if (K - {A})+ = R then K := K - {A} endif endfor return K ; end Key; Như phương pháp ta có kết luận sau: + Bắt đầu với siêu khóa ta tìm khóa + Nếu (R - P)+ = R đồ quan hệ R có khóa + Nếu T  P =  lược đồ quan hệ R có khóa (R –P) Ví dụ 1: Cho lược đồ quan hệ R(A,B,C,D) tập phụ thuộc hàm F sau: F={AB, B C, B D} Tìm khóa có lược đồ quan hệ R? Hướng dẫn: Ta có: R = ABCD Gọi T tập thuộc tính xuất vế trái tập PTH F: T = AB Gọi P tập thuộc tính xuất vế phải tập PTH F: P = BCD Gọi K khóa K thỏa: (R-P)  K  (R-P)  (TP) Mà: R-P={A}, TP= {B} Xét A+F = ABCD= R A khóa Vậy: Khóa lược đồ quan hệ : K={A} 7/14 Ví dụ 2: Cho lược đồ quan hệ R(A,B,C,D) tập phụ thuộc hàm F sau: F={ABC, C D, D A} Tìm tất khóa lược đồ quan hệ R? Hướng dẫn: Ta có: R={ABCD} Gọi T tập thuộc tính xuất vế trái tập PTH F: T={ABCD} Gọi P tập thuộc tính xuất vế phải tập PTH F: P={CDA} Gọi K khóa K thỏa: (R - P)  K  (R - P)  (TP) Mà: R - P={B}, TP= {CDA} Xét khóa có R là: B, BC, BD, BA, BCD, BCA, BDA, BCDA Xét B+F = B≠ R  B khóa R Xét BC+F =BCDA =R  BC khóa R Xét BD+F =BDAC =R  BD khóa R Xét BA+F =BACD=R  BA khóa R  BCD, BCA, BDA, BCDA siêu khóa Vậy: Khố lược đồ quan hệ R là: K={BC, BD, AB} Câu 16 Định nghĩa thuộc tính khóa (thuộc tính hay ngun thủy), thuộc tính khơng khóa (thuộc tính thứ cấp): Cho lược đồ quan hệ p = (R, F) Thuộc tính A  R gọi thuộc tính khóa A có khóa p A gọi thuộc tính khơng khóa A khơng có khóa p Câu 17 Định nghĩa dạng chuẩn 1NF, 2NF, 3NF BCNF a Định nghĩa dạng chuẩn 1NF Lược đồ quan hệ R gọi 1NF thuộc tính lược đồ nguyên tố Ví dụ Cho lược đồ quan hệ R ( B, O, I, S, Q, D) tập phụ thuộc hàm: F={S  D, I  B, IS  Q, B  O} Vậy lược đồ quan hệ R thuộc 1NF Ví dụ Bảng sau chưa chuẩn hóa Mặt hàng Đơn giá không nguyên tố Tên hãng CT công nghệ phẩm Địa Mặt hàng Đơn giá 50 Lê Duẩn 12000 12000 Cà phê CT thực phẩm Sữa Đường 23 Phan 40000 Đường 12500 Bột mì 10000 Ta biến đổi bảng thành bảng chuẩn hóa 1NF sau: Tên hãng CT công nghệ phẩm Địa Mặt hàng Đơn giá 23 Phan Sữa 12000 CT công nghệ phẩm 23 Phan Đường 12000 CT công nghệ phẩm 23 Phan Cà phê 40000 CT thực phẩm 50 Lê Duẩn Đường 12500 CT thực phẩm 50 Lê Duẩn 8/14 Bột mì 10000 b Định nghĩa dạng chuẩn Lược đồ quan hệ R gọi NF X  A R ( A X ) + Hoặc A thuộc tính khóa + Hoặc X khơng phải tập thật khóa Ví dụ Cho lược đồ quan hệ R ( A, B, C, D, E ) thỏa mãn phụ thuộc hàm: F={ A B, CD, DB  E} Kiểm tra R có thỏa dạng chuẩn 2NF khơng ? Hướng dẫn: Khóa lược đồ quan hệ R là: K={AC} Xét A  B + A tập thật khóa B khơng phải thuộc tính khóa Suy : A  B không thỏa dạng chuẩn 2NF Vậy : R không thỏa dạng chuẩn NF Ví dụ Cho lược đồ quan hệ R ( A, B, C, D ) thỏa mãn phụ thuộc hàm: F={ A BCD, CD } Kiểm tra R có thỏa dạng chuẩn 2NF khơng ? Hướng dẫn: Khóa lược đồ quan hệ R là: K={A} Xét A BCD + Có A khơng phải tập thật khóa (thỏa dạng chuẩn NF) Xét C D + Có C khơng phải tập thật khóa (thỏa dạng chuẩn 2NF) Vậy: R thỏa dạng chuẩn NF c Định nghĩa dạng chuẩn (Third Normal Form 3NF) Lược đồ quan hệ R gọi 3NF XA R ( A  X ) thì: + Hoặc A thuộc tính khóa + Hoặc X siêu khóa Ví dụ Cho lược đồ quan hệ R(A, B, C, D) thỏa mãn phụ thuộc hàm F = {AB  CD, D  A} Kiểm tra R có thỏa dạng chuẩn 3NF khơng ? Hướng dẫn: Khóa lược đồ quan hệ R là: K={AB, BD} Xét AB  CD + Ta có AB siêu khóa thỏa dạng chuẩn 3NF Xét D  A + Ta có A thuộc tính khóa thỏa dạng chuẩn 3NF Vậy R thỏa dạng chuẩn 3NF Ví dụ Cho lược đồ quan hệ KETQUA(Masv, Mamh, Lanthi, Diem) Kiểm tra lược đồ KETQUA có thỏa dạng chuẩn 3NF khơng? 9/14 Hướng dẫn: Khóa lược đồ quan hệ Masv, Mamh, Lanthi Xét phụ thuộc hàm Masv, Mamh, Lanthi  Diem + Ta có Masv, Mamh, Lanthi siêu khóa thỏa 3NF Vậy lược đồ quan hệ KETQUA thỏa dạng chuẩn 3NF d Định nghĩa dạng chuẩn BCNF (BOYCE- CODD) Lược đồ quan hệ R gọi BCNF X  A R (A  X ) thì: + X siêu khóa Ví dụ 1: Cho lược đồ quan hệ R (A, B, C) thỏa mãn phụ thuộc hàm F={AB  C, BC A} Kiểm tra R có thỏa dạng chuẩn BCNF khơng ? Hướng dẫn: Khóa R : K={AB, BC} Xét AB  C + Ta có AB siêu khóa thỏa BCNF Xét BC  A + Ta có BC siêu khóa thỏa BCNF Vậy R thỏa dạng chuẩn BCNF Ví dụ Cho lược đồ quan hệ R (A, B, C, D) thỏa mãn phụ thuộc hàm F={AB  C, AC  DB} Kiểm tra R có thỏa dạng chuẩn BCNF khơng ? Hướng dẫn: Khóa R : K = {AB, AC} Xét AB  C +Ta có AB siêu khóa thỏa BCNF Xét AC  DB + Ta có AC siêu khóa thỏa BCNF Vậy R thỏa dạng chuẩn BCNF Câu 18 Cho lược đồ quan hệ R ( A, B, C, D, E ) tập phụ thuộc hàm F: F = { AB  C, AD  E, B  D} a Hãy chứng minh rằng: Phụ thuộc hàm: AB  E suy dẫn logic từ F dựa vào hệ tiên đề Armstrong b Tìm khóa lược đồ quan hệ R? c Kiểm tra R có thuộc dạng chuẩn 3NF khơng? Giải thích? Câu 19 Cho lược đồ quan hệ R ( A, B, C, D, E ) tập phụ thuộc hàm F sau: F = {AD  C, AB  E, D  B } a Kiểm tra phụ thuộc hàm: AD  E có thuộc F+ khơng? b Tìm khóa lược đồ quan hệ R? c Kiểm tra R có thuộc dạng chuẩn 2NF khơng? Giải thích? Câu 20 Cho lược đồ quan hệ R ( A, B, C, D, E ) tập phụ thuộc hàm F: F = { AB  C, D  E, A  B, BC  D } a Kiểm tra phụ thuộc hàm: A  D có thuộc F+ khơng? b Tìm khóa lược đồ quan hệ R? c Kiểm tra R có thuộc dạng chuẩn BCNF khơng? Giải thích? 10/14 Câu 21 Cho lược đồ quan hệ R(A, B, C, D, E) tập PTH F R: F={AB  C, DC  E, A  B} a Tìm tất khóa R? b Xác định dạng chuẩn cao R? Câu 22 Cho lược đồ quan hệ  = ( U, F ) với tập thuộc tính U = ABCDEGH tập phụ thuộc hàm F sau: a b c d F = {CD  H, E  B, D  G, BH  E, CH  DG, C  A} Tìm tập M giao tồn khóa p Cho biết p có khóa hay khơng? Tập ABD có phải khóa p khơng? Vì sao? Tập CH có phải khóa p khơng? Vì sao? Tính Z = (X+ Y)+  (K+ - Y) biết X= CD, Y = CH, K siêu khóa p Câu Cho LĐQH p=(U,F) với tập thuộc tính U=ABCDE tập PTH a b c d e F= {DE  A, B C, E AD} Tìm khóa lược đồ p Tập BCE có phải khóa p khơng? Vì sao? Tập AD có phải khóa p khơng? Vì sao? Lược đồ p cịn khóa khơng? Vì sao? Tính Z = (X+ Y)+  K+ - (X Y) biết X= DE, Y = AD, k siêu khóa p Đề thi mẫu: Đề 01: Câu a Phát biểu hệ tiên đề Armstrong? b Cho lược đồ quan hệ R (A, B, C, D, E, G) tập phụ thuộc hàm F xác định R: F = {AB  E, AC  D, E  C, CD  G} Chứng minh rằng: AB  G suy dẫn logic từ F dựa vào hệ tiên đề Armstrong? Câu a Định nghĩa khóa lược đồ quan hệ? b Viết thuật tốn tìm khóa lược đồ quan hệ? Câu Cho lược đồ quan hệ R (A, B, C, D, E) tập phụ thuộc hàm F xác định R: F = {AB  C, B  D, AD  BE} a Tìm khóa K lược đồ quan hệ R? b Ngồi khóa K, lược đồ quan hệ R cịn khóa khác khơng? Giải thích? c Tập ABD có phải khóa lược đồ quan hệ R khơng? Giải thích? d Tập AE có phải khóa lược đồ quan hệ R khơng? Giải thích? e Hãy thêm cho F phụ thuộc hàm để R có khóa? Giải thích cách làm? 11/14 Đáp án Câu Ý Nội dung a Phát biểu hệ tiên đề Armstrong Cho quan hệ r xác định lược đồ quan hệ R (A1, A2, , An) với X, Y, Z  R Hệ tiên đề Armstrong phát biểu sau: A1: Luật phản xạ: Nếu Y  X X  Y A2: Luật tăng trưởng Nếu X  Y Z  R ZX  ZY, ZX = Z  X A3: Luật bắc cầu: Nếu XY Y Z X  Z b Ta có: AB E (giả thiết) , E  C (giả thiết) AB C (luật bắc cầu) (1) Từ (1) AC  D  AB  D (luật tự bắc cầu) (2) Từ (1) (2)  AB  CD (luật hợp) (3) Từ (3) CD  G  AB  G (luật bắc cầu) Tổng điểm câu a Định nghĩa khóa lược đồ quan hệ Cho r quan hệ định nghĩa lược đồ quan hệ R, K  R K gọi khóa R K thỏa mãn tính chất sau: F |= K  R (K+ = R) !K’ K cho K’+ = R b Thuật tốn tìm khóa lược đồ quan hệ Ý tưởng : Xuất phát từ siêu khóa K, loại dần thuộc tính K, bảo tồn tính bất biến K+= R Algorithm Key Format: Key(R, F) Input : - Tập thuộc tính R - Tập phụ thuộc hàm F Output : Khóa K  R K thỏa mãn tính chất: + K+ = R + A  K: (K – {A})+ ≠ R Method: K := R; for each attribute A in R if (K - {A})+ = R then K := K - {A} endif endfor return K ; end Key; Tổng điểm câu a Ta có: (AB)+F = ABDCE = R Vậy: K = {AB} khóa lược đồ quan hệ R b Gọi M giao khóa: M = R – BCDE = A; M+ = A+ = A ≠ R Vậy lược đồ quan hệ R có khóa c ABD khơng phải khóa lược đồ quan hệ R R có AB khóa nên ABD siêu khóa d Ta có: (AE)+ = AE ≠ R nên AE khơng phải khóa lược đồ quan hệ R e Vì giao khóa A nên ta thêm phụ thuộc hàm A  B Khi giao khóa A A+= ABCDE = R nên lược đồ có khóa Tổng điểm câu Tổng cộng: 12/14 Đề 02: Câu a Định nghĩa phụ thuộc hàm? b Cho quan hệ r sau: A B C D 6 5 Những phụ thuộc sau khơng thỏa r ? Giải thích? F={A  B, BC  D, C  A} Câu a Định nghĩa bao đóng tập thuộc tính? b Viết thuật tốn tìm bao đóng tập thuộc tính? Câu Cho lược đồ quan hệ R (A, B, C, D, E) tập phụ thuộc hàm F xác định R: F= {AB  C, DC  E, A  BD} f g h i Tìm khóa lược đồ quan hệ R? Tập AE có phải khóa lược đồ quan hệ R khơng? Giải thích? Lược đồ quan hệ R cịn khóa khơng? Giải thích? Kiểm tra lược đồ quan hệ R có thuộc dạng chuẩn 3NF khơng? Giải thích? j Tính Z = (X+  Y)+  K+ - (X  Y) biết X = DE, Y = AD, K siêu khóa R? Hướng dẫn: Câu Ý Nội dung a Định nghĩa phụ thuộc hàm Cho quan hệ r xác định lược đồ quan hệ R(A 1, A2,…, An) X, Y R Ta nói X xác định hàm Y hay Y phụ thuộc hàm vào X, ký hiệu: X Y, r quan hệ xác định lược đồ quan hệ R thỏa mãn: t1, t2  r cho t1.X = t2.X  t1.Y = t2.Y b Những phụ hàm không thỏa quan hệ r là: BC  D, C  A BC  D không thỏa r, vì: Vì:  t1, t2  r, ta có: t1.(B,C) = t2.(B,C) = (2,6) Mà t1.D = ≠ t2.D = (không thỏa định nghĩa phụ thuộc hàm) C  A khơng thỏa r, vì: Vì:  t1, t2  r, ta có: t1.C = t2.C= Mà t1.A = ≠ t2.A = (không thỏa định nghĩa phụ thuộc hàm) Tổng điểm câu a Định nghĩa bao đóng tập thuộc tính Cho lược đồ quan hệ R tập phụ thuộc hàm F xác định R, X  R Bao đóng X theo F tập thuộc tính định sau: X+F ={A|X → A  F+} b Thuật tốn tìm bao đóng tập thuộc tính 13/14 Ý tưởng: Cho lược đồ quan hệ R tập phụ thuộc hàm F xác định R, X  R Để xác định bao đóng tập thuộc tính X, ký hiệu X+ ta xuất phát từ tập X bổ sung dần cho X thuộc tính thuộc vế phải P phụ thuộc hàm T P  F thỏa điều kiện T  X Thuật tốn dừng khơng thể bổ sung thêm thuộc tính cho X Algorithm Closure Format: C = X+ Input: - R, F - Tập thuộc tính X  R Output: Y = X+ = {A  R | X  A  F+} Method: Y:= X; Repeat Z:= Y; for each FD T  P in F If T  Y then Y:= Y  P; endif; endfor; Until Y = Z; Return Y; end Closure; Tổng điểm câu a Ta có: (A)+F = ABDCE = R Vậy A khóa lược đồ quan hệ R b AE khơng phải khóa lược đồ quan hệ R, vì: R có A khóa nên AE siêu khóa c Gọi M giao khóa: M = R – BCDE = A; M+ = A+=ABCED = R Vậy lược đồ quan hệ R khóa d R khơng thuộc dạng chuẩn 3NF, vì: Xét DC  E: Ta có: DC khơng phải siêu khóa E khơng phải thuộc tính khóa  DC  E khơng thuộc dạng chuẩn 3NF Vậy: R khơng thuộc dạng chuẩn 3NF e Vì K siêu khóa nên K+= ABCDE, mặt khác (X+  Y)+= (X  Y)+ Do đó: Z = (X  Y)+ - (X  Y) = (ADE)+ - ADE = ABCDE – ADE = BC Tổng điểm câu Tổng cộng: 14/14 ... Group by, Order by, Having - Các lệnh cập nhật liệu: Insert, Update, Delete Bài tập: Câu Hãy trả lời câu câu lệnh SQL Câu Cho sở liệu gồm bảng liệu sau: MATHANG(MAMH,TENMH, DVT, SOLUONG) CT_DATHANG(MADH,... (R, F), R tập hữu hạn thuộc tính; F tập phụ thuộc hàm xác định R Câu 12 Định nghĩa bao đóng tập thuộc tính Cho lược đồ quan hệ R tập phụ thuộc hàm F xác định R, X  R Bao đóng X theo F tập thuộc... R(A,B,C,D) tập phụ thuộc hàm F sau: F={AB, B C, B D} Tìm khóa có lược đồ quan hệ R? Hướng dẫn: Ta có: R = ABCD Gọi T tập thuộc tính xuất vế trái tập PTH F: T = AB Gọi P tập thuộc tính xuất vế phải tập

Ngày đăng: 13/05/2014, 19:50

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan