Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
284,47 KB
Nội dung
1 CHUẨN HÓA CSDL Giáo viên: Tạ Thúc Nhu Khoa CNTT trường ĐH Lạc Hồng ÔN THICƠSỞDỮLiỆU CSDL@Khoa CNTT 2 I- Phụ thuộc hàm: I- Phụ thuộc hàm: 2 CSDL@Khoa CNTT 3 1. Khái niệm phụ thuộc hàm: 1. 1. Kh Kh á á i i ni ni ệ ệ m m ph ph ụ ụ thu thu ộ ộ c c h h à à m m : : • Cho một lược ñồ quan hệ Q • X ⊆ Q + , Y ⊆ Q + , X ≠ ∅, Y ≠ ∅ Y phụ thuộc hàm vào X, ký hiệu X Y, nếu ∀u, v ∈ Q: u.X = v.X thì u.Y = v.Y Quy ước ký hiệu: • Nếu Y không phụ thuộc hàm vào X ta ký hiệu: X Y • f : phụ thuộc hàm • F : tập các phụ thuộc hàm CSDL@Khoa CNTT 4 Ví dụ: Tìm các phụ thuộc hàm trên quan hệ Ví dụ: Tìm các phụ thuộc hàm trên quan hệ Xét lược ñồ quan hệ quản lý kết quả học tập của sinh viên KQHT(MaSV, Ten, NS, TenLop, KhoaHoc, MaMH,TenMH,Diem) • Tân từ : Mỗi sinh viên có một mã số phân biệt với các sinh viên khác (MaSV); có tên (Ten), ngày sinh (NS) và học một lớp (TenLop). Mỗi lớp có tên lớp phân biệt và thuộc một khóa học (KhoaHoc). Mỗi môn học có một mã số phân biệt (MaMH), có tên môn học (TenMH) cũng phân biệt. Mỗi sinh viên học nhiều môn, mỗi môn có ñiểm thi (Diem) của môn học ñó. 3 CSDL@Khoa CNTT 5 2- Các Phụ thuộc hàm ñặc biệt: 2- Các Phụ thuộc hàm ñặc biệt: 1. Phụ thuộc hàm hiển nhiên: X → X 2. Phụ thuộc hàm ñy ñ (fully functional dependence): X −−>Y là phụ thuộc hàm ñầy ñủ Khi và chỉ khi ∀ ∀∀ ∀X' ⊂ ⊂⊂ ⊂ X, X' −/−> −/−>−/−> −/−> Y Ví dụ: Phụ thuộc hàm MaSV, MaMH −−> −−>−−> −−> DiemMH là phụ thuộc hàm ñầy ñủ vì : MaSV −/−> −/−>−/−> −/−> DiemMH và MsMH −/−> −/−>−/−> −/−> DiemMH CSDL@Khoa CNTT 6 3- Bao ñóng của tập thuộc tính: 3- Bao ñóng của tập thuộc tính: Cho LĐQH <Q, F Q > và X ⊆ ⊆⊆ ⊆ Q + . Bao ñóng của tập thuộc tính X dựa trên F Q , ký hiệu X + FQ , là tập các thuộc tính phụ thuộc hàm vào X dựa trên F Q . Ký hiệu: X + FQ = { Y ∈ ∈∈ ∈ Q + : X −−> −−>−−> −−> Y ∈ ∈∈ ∈ F + Q } Nhận xét: 1. X ∈ ∈∈ ∈ X + FQ 2. W −−> −−>−−> −−> Z và W ⊆ ⊆⊆ ⊆ X + FQ thì Z ⊆ ⊆⊆ ⊆ X + FQ 4 CSDL@Khoa CNTT 7 Ví dụ: Tìm bao ñóng của tập thuộc tính Ví dụ: Tìm bao ñóng của tập thuộc tính cho Q(ABCDEGH) và tập phụ thuộc hàm F Q ={f 1 :B −−> −−>−−> −−>A; f 2 :DA−−> −−>−−> −−>CE; f 3 :D −−> −−>−−> −−>H; f 4 :GH−−> −−>−−> −−>C; f 5 :AC−−> −−>−−> −−>D} 1. Tìm bao ñóng của tập thuộc tính X1 = {BD} 2. Tìm bao ñóng của tập thuộc tính X2 = {BCG} CSDL@Khoa CNTT 8 4- Khóa của quan hệ: 4- Khóa của quan hệ: Định nghiã: Cho lược ñồ quan hệ < Q, F Q > 1. S ⊆ ⊆⊆ ⊆ Q + , S là siêu khóa của Q nếu S −−> −−>−−> −−> Q + ∈ ∈∈ ∈ F Q 2. K ⊆ ⊆⊆ ⊆ Q + , K là khóa chỉ ñịnh nếu a) K là siêu khóa b) K −−> Q + là phụ thuộc hàm ñầy ñủ 5 CSDL@Khoa CNTT 9 II- Dạng Chuẩn Trên Quan Hệ: II II - - D D ạ ạ ng ng Chu Chu ẩ ẩ n n Trên Trên Quan Quan H H ệ ệ : : • Dạng chuẩn 1 • Dạng chuẩn 2 • Dạng chuẩn 3 • Dạng chuẩn BCK CSDL@Khoa CNTT 10 1- Dạng chuẩn 1: 1- Dạng chuẩn 1: 1.1Định nghĩa DC1: Một lược ñồ quan hệ Q ñạt dạng chuẩn 1 nếu mọi thuộc tính của Q ñều là thuộc tính ñơn. 1.2 Khái niệm Thuộc tính ñơn: Một thuộc tính ñược gọi là thuộc tính ñơn nếu giá trị thuộc tính hoặc chỉ mang một thông tin duy nhất; nếu ñược ghép bởi nhiều thông tin thì hệ thống thường truy xuất trên toàn bộ giá trị của nó. Ví dụ: – Thuộc tính Địa_Chỉ – Thuộc tính Ngày_Sinh 6 CSDL@Khoa CNTT 11 2- Dạng chuẩn 2: 2- Dạng chuẩn 2: Một lược ñồ quan hệ Q ñạt dạng chuẩn 2 nếu: a. Q có DC1 b. Mọi thuộc tính không là thuộc tính khóa ñều phụ thuộc hàm ñầy ñủ vào các khóa của Q. Nhận xét: Nu mi khóa ca quan h Q ch có 1 thuc tính thì Q ñt dng chun 2. DC1 DC2 CSDL@Khoa CNTT 12 Ví dụ kiểm tra dạng chuẩn 2 của quan hệ: Ví dụ kiểm tra dạng chuẩn 2 của quan hệ: 1- QLSV(MaSV, Ten, NS, DC, TenLop, KhoaHoc, MaMH, TenMH, Diem) F = {f1:MaSV Ten, NS, DC, TenLop f2: TenLop KhoaHoc; f3: MaMH TenMH; f4 : TenMH MaMH; f5: MaSV, MaMH Diem } 2- KQHT(MaSV, MaMH, TenMH, Diem) F KQHT ={ f1: MaMH TenMH; f2 : TenMH MaMH; f3: MaSV, MaMH Diem} 3- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc) F SV = { f1:MaSV Ten, NS, DC, TenLop; f2: TenLop KhoaHoc} 7 CSDL@Khoa CNTT 13 3- Dạng chuẩn 3: 3- Dạng chuẩn 3: 3.1 Khái niệm Phụ thuộc bắc cầu: • Cho lược ñồ quan hệ <Q, F Q >; • A ⊂ ⊂⊂ ⊂ Q + , X ⊂ ⊂⊂ ⊂ Q + và tồn tại X A X A là phụ thuộc hàm bắc cầu nếu tồn tại nhóm thuộc tính Y ⊂ Q + thỏa mản 4 ñiều kiện sau: 1. X Y ∈ F + Q 2. Y A ∈ F + Q 3. Y −/−> X 4. A ⊄ {X ∪ Y} CSDL@Khoa CNTT 14 Ví dụ: Ví dụ: SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc) F SV = { f1:MaSV Ten, NS, DC, TenLop; f2: TenLop KhoaHoc} a) Kiểm tra tồn tại : MaSV KhoaHoc b) Chứng minh {KhoaHoc} phụ thuộc bắc cầu vào {MaSV} 8 CSDL@Khoa CNTT 15 3.2 Định nghiã DC3: Lược ñồ quan hệ Q ñạt dạng chuẩn 3 nếu: 1. Q ñạt dạng chuẩn 2 2. Mọi thuộc tính không là thuộc tính khóa ñều không phụ thuộc bắc cầu vào một khóa nào của Q. DC1 DC2 DC3 CSDL@Khoa CNTT 16 Ví dụ kiểm tra dạng chuẩn 3 của quan hệ: Ví dụ kiểm tra dạng chuẩn 3 của quan hệ: 1- KQMH(MaSV, MaMH, TenMH, Diem) F KQHT ={ f1: MaMH TenMH; f2 : TenMH MaMH; f3: MaSV, MaMH Diem} 2- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc) F SV = { f1:MaSV Ten, NS, DC, TenLop; f2: TenLop KhoaHoc} 9 CSDL@Khoa CNTT 17 4. Dạng chuẩn BCK (Boyee-Codd-Kent): 4. Dạng chuẩn BCK (Boyee-Codd-Kent): Lược ñồ quan hệ Q ở dạng chuẩn BCK nếu 1. Q ñạt dạng chuẩn 3 2. Mọi phụ thuộc hàm không hiển nhiên ñều chứa 1 khóa của Q ở vế trái. ∀ ∀∀ ∀ X A ∈ ∈∈ ∈ F + Q : A ∉ ∉∉ ∉ X và X chứa 1 khóa của Q DC1 DC2 DC3 DC BCK CSDL@Khoa CNTT 18 Ví dụ kiểm tra dạng chuẩn BCK của quan hệ: Ví dụ kiểm tra dạng chuẩn BCK của quan hệ: 1- KQMH(MaSV, MaMH, TenMH, Diem) F KQHT ={ f1: MaMH TenMH; f2 : TenMH MaMH; f3: MaSV, MaMH Diem} 2- SV(MaSV, Ten, NS, DC, TenLop) F SV = { f: MaSV Ten, NS, DC, TenLop} 3- LOP(TenLop, KhoaHoc) F LOP = { f: TenLop KhoaHoc} 10 CSDL@Khoa CNTT 19 III- Dạng chuẩn của CSDL: III- Dạng chuẩn của CSDL: Là dạng chuẩn thấp nhất trong các lược ñồ quan hệ có trên CSDL. Ví dụ: Xét dạng chuẩn của CSDL gồm 2 quan hệ sau: 1- KQMH(MaSV, MaMH, TenMH, Diem) F KQHT ={ f1: MaMH TenMH; f2 : TenMH MaMH; f3: MaSV, MaMH Diem} 2- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc) F SV = { f1:MaSV Ten, NS, DC, TenLop; f2: TenLop KhoaHoc} CSDL@Khoa CNTT 20 Ví dụ: Ví dụ: Xét dạng chuẩn của CSDL gồm 3 quan hệ sau: 1- SV(MaSV, Ten, NS, DC, TenLop) F SV = { f: MaSV Ten, NS, DC, TenLop} 2- LOP(TenLop, KhoaHoc) F LOP = { f: TenLop KhoaHoc} 3- KQMH(MaSV, MaMH, TenMH, Diem) F KQHT ={ f1: MaMH TenMH; f2 : TenMH MaMH; f3: MaSV, MaMH Diem} [...]... t i X Y thì phép phân rã Q thành 2 quan h con Q1(X, Y) và Q2(X, Z) là b o toàn thông tin Nghĩa là: - Q+ = Q1+ ∪ Q2+ - Q = Q1 Q2 Ý tư ng: Chu n hóa quan h Q 1 Phân rã Q thành 2 quan h Q1 và Q2 b ng 1 m t ph thu c hàm f có VT(f) ∪ VP(f) ⊂ Q+ 2 L p l i phương pháp phân rã cho Q1 và Q2 cho thu c hàm như v y n a 24 n khi không còn ph CSDL@Khoa CNTT 12 3- Thu t toán phân rã: Thu t toán: Phân rã Input:... MsKH TP; f2: TP CtyVC; f3: MsKH, MsHH SL } – MsKH: Mã s Khách hàng – TP: Thành ph khách – CtyVC: công ty v n chuy n hàng – MsHH: mã hàng hóa – SL: s lư ng 1 Xét d ng chu n 2 Phân rã thành các quan h có d ng chu n cao nh t CSDL@Khoa CNTT 27 Nh n xét: 1 T t c các quan h k t qu u t d ng chu n BCK 2 B o toàn thông tin 3 Tùy theo th t các pth ư c xét mà k t qu và s lư ng quan h con có th khác nhau 4 Nên ưu . 1 CHUẨN HÓA CSDL Giáo viên: Tạ Thúc Nhu Khoa CNTT trường ĐH Lạc Hồng ÔN THI CƠ SỞ DỮ LiỆU CSDL@Khoa CNTT 2 I- Phụ thuộc hàm: I- Phụ thuộc hàm: 2 CSDL@Khoa CNTT 3 1. Khái niệm. khóa học (KhoaHoc). Mỗi môn học có một mã số phân biệt (MaMH), có tên môn học (TenMH) cũng phân biệt. Mỗi sinh viên học nhiều môn, mỗi môn có ñiểm thi (Diem) của môn học ñó. 3 CSDL@Khoa CNTT 5 2-. tính ñược gọi là thuộc tính ñơn nếu giá trị thuộc tính hoặc chỉ mang một thông tin duy nhất; nếu ñược ghép bởi nhiều thông tin thì hệ thống thường truy xuất trên toàn bộ giá trị của nó. Ví dụ: