chương 6 chuẩn hóa cơ sở dữ liệu

28 1.2K 0
chương 6  chuẩn hóa  cơ sở dữ liệu

Đ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

Môn CƠ SỞ DỮ LIỆU Chương 6: Chuẩn hóa cơ sở dữ liệu 2 Nội dung 1. PHÉP KẾT NỐI BẢO TOÀN THÔNG TIN  Cơ Sở Lý Thuyết  Thuật Toán Kiểm Tra Tính Kết Nối Bảo Toàn Thông Tin 2. PHÉP TÁCH BẢO TOÀN PHỤ THUỘC HÀM  Cơ sở lý thuyết  Thuật toán 3. CÁCH TIẾP CẬN PHÂN RÃ ĐỂ THIẾT KẾ CSDL 4. CÁCH TIẾP CẬN TỔNG HỢP ĐỂ THIẾT KẾ CSDL 3 1. PHÉP KẾT NỐI BẢO TOÀN T.TIN Cơ Sở Lý Thuyết Nếu Q là một lược đồ quan hệ được tách thành các lược đồ con Q1,Q2, ,Qk và F là tập phụ thuộc hàm, nói rằng phép tách (phân rã ) là phép tách có bảo toàn thông tin đối với F nếu với mỗi quan hệ r trên Q thỏa F: Q =ΠQ1(r) * ΠQ2 (r)* . . * ΠQk(r) Tức là r được tạo nên từ phép kết nối tự nhiên của các hình chiếu của nó trên Qi ( i =1 k) 4 1. PHÉP KẾT NỐI BẢO TOÀN TT (tt) Thuật Toán Kiểm Tra Tính Kết Nối Bảo Toàn Thông Tin  Dữ liệu vào: Lược đồ quan hệ Q(A1,A2,…An) và tập các phụ thuộc hàm F, phép tách = {Q,Q,…,Qk}.  Dữ liệu ra: Phép tách có bảo toàn thông tin hay không? (1)Thiết lập bảng với k + 1 dòng, n + 1 cột . Cột j ứng với thuộc tính AJ(i=1 n), hàng i ứng với lược đồ quan hệ Qi(i=1…k). Tại ví trí hàng i, cột j ta điền ký hiệu Aj nếu AJ Qi, Đầu tiên đặt t=1 và đặt vào các ô còn lại của bảng ký hiệu bt theo chiều từ trái sang phải và từ trên xuống dưới, sau đó tăng t lên một đơn vị và lặp lại thao tác điền bt như trên. Cho đến khi mọi ô của bảng điều đã có ký hiệu. (2)Xét lần lượt các phụ thuộc hàm trong F, áp dụng cho bảng vừa mới thành lập ở trên. Giả sử xét (X Y) F, chúng ta tìm những hàng giống nhau ở tất cả các thuộc tính của X, nếu thấy những hàng như vậy ta sẽ làm cho các ký hiệu của hai hàng này bằng nhau ở tất cả các thuộc tính của Y. 5 1. PHÉP KẾT NỐI BẢO TOÀN TT (tt) Thuật Toán Kiểm Tra Tính Kết Nối Bảo Toàn Thông Tin (tt) Khi làm cho 2 ký hiệu này bằng nhau, ta gặp 3 trường hợp sau đây:  nếu một trong hai ký hiệu là AJ thì cho ký hiệu kia trở thành AJ,  nếu hai ký hiệu là bk hoặc bl thì có thể cho chúng trở thành bt hoặc bt (với t=min (k,l)),  nếu cả hai ký hiệu là aj thì giữ nguyên (lúc đó chỉ số j của các ký hiệu này phải giống nhau) Chú ý rằng bước này có thể được lặp lại (cho các phụ thuộc hàm) cho đến khi không còn áp dụng được nữa (nghĩa là cho đến khi nào ở một lần duyệt qua tất cả các phụ thuộc hàm trong F mà bảng không có sự thay đổi nào. (3)Xét bảng kết quả, nếu thấy trong bảng này có một hàng chứa toàn aj (i=1 n) thì kết luận đó là phép tách bảo toàn thông tin, ngược lại thì là phép tách mất mát thông tin. 6 1. PHÉP KẾT NỐI BẢO TOÀN TT (tt)  Ví dụ: 7 2. PHÉP TÁCH BẢO TOÀN PTH Cơ sở lý thuyết  Cho phân rã p = {Q 1 ,Q 2 ,…Q k } của một lược đồ quan hệ, và tập phụ thuộc hàm F. Hình chiếu của F trên một tập các thuộc tính Z ký hiệu ΠZ(Q) là tập các phụ thuộc hàm X → Y ∈ F + sao cho XY ⊆ Z . Ta nói phân rã p bảo toàn tập phụ thuộc hàm F nếu hợp của tất cả các phụ thuộc hàm trong Q i (F) với i=1 k suy ra được tất cả các phụ thuộc hàm trong F.  Lý do p cần bảo toàn tập F đó là vì các phụ thuộc hàm trong F có thể được xem là các ràng buộc toàn vẹn cho quan hệ Q. Nếu các phụ thuộc hình chiếu không suy ra được F thì khi biểu diễn Q qua p , chúng ta có thể thấy rằng giá trị hiện hành của các Qi biểu diễn một quan hệ Q không thỏa F, ngay cả nếu p là phép tách không mất thông tin ứng với F. Khi đó mỗi thao tác cặp nhật trên mỗi R i sẽ cần phải thực hiện một phép nối để kiểm tra lại rằng các ràng buộc không bị vi phạm.  Dữ liệu vào: Một phân rã p={Q 1 ,Q 2 ,…Q k } và một tập các phụ thuộc hàm F(f 1 ,f 2 ,…,f m }  Dữ liệu ra: phép tách p có bảo toàn phụ thuộc hàm hay không ? 8 2. PHÉP TÁCH BẢO TOÀN PTH (tt) Phép tách bảo toàn phụ thuộc hàm  Về nguyên tắc,chúng ta có thể dễ dàng kiểm tra xem một phân rã p = {Q1,Q2,…Qk} có bảo toàn tập phụ thuộc F hay không. Chúng ta chỉ cần tính F+ rồi chiếu nó trên tất cả các thành phần Qi. Sau đó lấy hợp của các tập phụ thuộc kết quả rồi kiểm ra xem tập này có tương đương với F hay không ?  Tuy nhiên trong thực tế, tính F+ là một công việc hết sức khó khăn vì số lượng các phụ thuộc chứa trong nó thường là hàm mũ theo kích thước của F. Nhưng có một cách để kiểm tra tính bảo toàn này mà không cần phải tính F+; phương pháp này có chi phí thời gian tỷ lệ với hàm đa thức theo kích thước của F. 9 2. PHÉP TÁCH BẢO TOÀN PTH (tt) Thuật toán  Chúng ta gọi G là hợp của các Q i (F), để tính xem G có tương đương với F hay không chúng ta xét mỗi phụ thuộc hàm X Y F và xác định xem X+ (được tính ứng với G) có chứa Y hay không ? nếu có thì phụ thuộc hàm này thuộc G.  Chúng ta định nghĩa phép toán Q trên tập các thuộc tính Z ứng với một tập phụ thuộc F là phép thế Z bằng Z ((Z Q)+ Q) trong đó bao đóng luôn được lấy ứng với F, phép toán này nối Z với những thuộc tính A sao cho (Z Q) A QF. Do đó chúng ta tính X+ ứng với G bằng cách khởi đầu với X, qua danh sách các Qi, chúng ta lần lượt thực hiện các phép toán Qi với mỗi i, nếu tại một lần lặp nào đó không có một phép toán Qi nào làm thay đổi các tập thuộc tính hiện có thì chúng ta đã thực hiện xong; tập kết quả là X+  Nếu Y là một tập con của Z, là kết quả của thực hiện các phép trên thì X Y G+ , nếu mỗi phụ thuộc hàm trong F đều thuộc G thì là đúng, ngược lại là sai. *Chú ý: Một phân rã có thể bảo toàn thông tin nhưng không chắc bảo toàn tập phụ thuộc hàm F và ngược lại. 10 3. TIẾP CẬN PHÂN RÃ ĐỂ TK CSDL  Theo quan điểm của cách tiếp cận này, các quan hệ con của cấu trúc cơ dở dữ liệu ban đầu sẽ lần lượt được phân rã thành những quan hệ con với số thuộc tính ít hơn, sao cho cấu trúc kết quả đạt các tiêu chuẩn đề ra ở mức cao nhất. Quá trình phân rã là một quá trình được lặp lại đối với các quan hệ con nào được đánh giá là còn có thể phân rã. *PHÂN RÃ MỘT LƯỢC ĐỒ Q THÀNH CÁC LƯỢC ĐỒ CON DẠNG chuẩn BCK VA BẢO TOÀN THÔNG TIN Cơ Sở Lý Thuyết Bổ đề 1:  Giả sử Q là một lược đồ quan hệ với tập phụ thuộc hàm F, gọi p={Q1,Q2,…,Qk } là một phân rã của Q có nối không mất ứng với Q. nếu Q1 được phân rã thành hai lược đồ con (S1.S2) có nối không mất, thì phân rã của Q thành (S1,S2,Q2,…,Qk) cũng có nối không mất ứng với F. [...]... luôn có thể tìm được một phân rã luôn bảo toàn phụ thuộc hàm thành dạng chuẩn cấp 3 Thuật toán:  Dữ liệu vào:  Lược đồ quan hệ Q và tập phụ thuộc hàm F, chúng ta giả sử rằng F đã ở dạng phủ cực tiểu mà vẫn không làm mất tính tổng quát  Dữ liệu ra:  Một phân rã bảo toàn phụ thuộc của Q sao cho mỗi lược đồ quan hệ con đều đạt chuẩn 3NF ứng với hình chiếu của F trên lược đồ đó  -Nếu có những thuộc... cả các khóa của quan hệ phổ quát, nếu có siêu khóa đại diện cho nhóm nào đó chứa bất kỳ một khóa nào của quan hệ phổ quát thì là phép tổng hợp trên là bảo toàn thông tin và bảo toàn phụ thuộc hàm, nếu không thì cần thêm một quan hệ Q* mới vào lược đồ CSDL vừa tìm được với Q* là một khóa, F* là tập rỗng 23 4 TIẾP CẬN TỔNG HỢP … (tt) Thuật toán (tt) Thuật toán cho bước 7 là: SI , Kj (Si là siêu khóa của... BH → C} AG → B, C → A, 26 4 TIẾP CẬN TỔNG HỢP … (tt) Bước 5: Tìm PTT2 và loại khỏi nhóm Fi những phụ thuộc hàm có trong H Nhóm 2={2}; Nhóm 4={5}; Nhóm 5= {6} PTT2={AG → B; C → A; BH → C} Đưa H vào các nhóm: Nhóm 1={1,4,3,7} Nhóm 2={2} Nhóm 4={5} Nhóm 5= {6} F1={1.GH → A, 4.GH → D, 3.CD →G, 7.CD → H} ; F2={2.AG → B}; F3={5.C → A}; F4= {6. BH → C} 27 4 TIẾP CẬN TỔNG HỢP … (tt) Bước 6: C={, ,... cận tổng hợp không đòi hỏi người thiết kế phải phác thảo một cấu trúc dữ liệu ban đâu, chỉ cần xác định danh sách các thuộc tính cần được quan tâm và danh sách các quy tắc quản lý của môi trường ứng dụng được diễn đạt dưới dạng các phụ thuộc hàm  Mục tiêu của cách tiếp cận này là các quan hệ con tối thiểu đạt chuẩn 3 và bảo toàn tiêu chuẩn bảo toàn phụ thuộc hàm Một số khái niệm liên quan  Điều kiện... D, 5.C → A, 6. BH → C, 7.CD → H} Kết quả đến bước 2: PTT(F) = F Bước 3: Gom nhóm cùng vế trái Nhóm 1={1,4}; Nhóm 2={2}; Nhóm 3={3,7}; Nhóm 4={5} 25 4 TIẾP CẬN TỔNG HỢP … (tt) Bước 4: Gom các nhóm có khóa tương đương H ={GH → CD,CD → GH} Nhóm 1={1,4,3,7}; Nhóm 2={2}; Nhóm 4={5}; Nhóm 5= {6} Tìm PTT1: Loại khỏi nhóm Fi những phụ thuộc hàm còn trong H Nhóm 1={1}; Nhóm 2={2}; Nhóm 4={5}; Nhóm 5= {6} PTT1={... nhóm g } 2/Tìm các siêu khóa đại diện cho mỗi nhóm Ni: Lấy vế trái của phụ thuộc hàm thứ nhất của nhóm i (tức là N(1,i ) làm siêu khóa của Ni và gọi đó là Ki (Ki cũng là một mảng 2 chiều) 20 4 TIẾP CẬN TỔNG HỢP … (tt) Thuật toán (tt) Bước 4: 1 H = ∅ 2 Gom các nhóm có siêu khóa đại diện tương đương vào nhóm FI và thành lập tập phụ thuộc hàm H chứa các phụ thuộc hàm là các siêu khóa tương đương: ∀ Ni,Nj... rã 2(Q,F) {gọi đệ qui} 12 3 TIẾP CẬN PHÂN RÃ …(tt) Thuật Toán 1 (tt) Chương trình chính của thuật toán Phân rã Do { Gọi thủ tục Phân rã 2 (Q,F) p=p∪ Y Q=Q−A } While Not TimAB(Q,F) p = p ∪ Kết thúc chương trình chính 13 3 TIẾP CẬN PHÂN RÃ …(tt) Thuật Toán 2 phân rã(Q,F) Xét f X Y F là phụ thuộc hàm làm cho [Q,F] vi phạm dạng chuẩn BC { Tách Q thành Q1 và Q2 theo quy tắc sau: Q1=Q[XY]; F1 = X Y... lược đồ cần tìm 15 3 TIẾP CẬN PHÂN RÃ …(tt)  *PHÂN RÃ LƯỢC ĐỒ Q THÀNH CÁC LƯỢC ĐỒ CON DẠNG CHUẨN 3 VỪA BẢO TOÀN PHỤ THUỘC VỪA BẢO TOÀN THÔNG TIN Có thể phân rã một lược đồ thành các lược đồ con đạt dạng chuẩn BCK có nối không mất, và chúng ta cũng có thể phân rã một lược đồ thành 3NF bảo toàn phụ thuộc hàm Liệu chúng ta có thể tìm được một phân rã thành 3NF mà có cả hai đặc tính là bào toàn tập phụ... PTT2 = PTT1 2 Đưa các phụ thuộc hàm thuộc H vào các nhóm FI tương ứng(có vế trái tương ứng với siêu khóa đại diện của nhóm nào thì đưa vào nhóm đó) ∀ f: X → Y ∈ H { ∀ nhóm FI có siêu khóa đại diện là Ki { Nếu X ↔ Ki ∈ PTT thì Đưa f vào nhóm Fi } } 22 4 TIẾP CẬN TỔNG HỢP … (tt) Thuật toán (tt) Bước 6:  Thành lập lược đồ CSDL C = {}  Với Fi là các phụ thuộc hàm có trong nhóm FI  và Qi là...3 TIẾP CẬN PHÂN RÃ …(tt) Bổ đề 2:  a)Mỗi lược đồ có hai thuộc tính đều ở dạng chuẩn BCK  b)Nếu Q không đạt dạng chuẩn BCK thì chúng ta có thể tìm được các thuộc tính A và B trong Q sao cho (Q - AB)+ A và phụ thuộc (Q - AB)+ B có thể đúng trong trường hợp này (nhưng đó là điều không quan trọng) . Môn CƠ SỞ DỮ LIỆU Chương 6: Chuẩn hóa cơ sở dữ liệu 2 Nội dung 1. PHÉP KẾT NỐI BẢO TOÀN THÔNG TIN  Cơ Sở Lý Thuyết  Thuật Toán Kiểm Tra Tính Kết. thành dạng chuẩn cấp 3 Thuật toán:  Dữ liệu vào:  Lược đồ quan hệ Q và tập phụ thuộc hàm F, chúng ta giả sử rằng F đã ở dạng phủ cực tiểu mà vẫn không làm mất tính tổng quát.  Dữ liệu ra:  Một. Toán Kiểm Tra Tính Kết Nối Bảo Toàn Thông Tin  Dữ liệu vào: Lược đồ quan hệ Q(A1,A2,…An) và tập các phụ thuộc hàm F, phép tách = {Q,Q,…,Qk}.  Dữ liệu ra: Phép tách có bảo toàn thông tin hay không? (1)Thiết

Ngày đăng: 05/07/2014, 23:47

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung

  • 1. PHÉP KẾT NỐI BẢO TOÀN T.TIN

  • 1. PHÉP KẾT NỐI BẢO TOÀN TT (tt)

  • Slide 5

  • Slide 6

  • 2. PHÉP TÁCH BẢO TOÀN PTH

  • 2. PHÉP TÁCH BẢO TOÀN PTH (tt)

  • Slide 9

  • 3. TIẾP CẬN PHÂN RÃ ĐỂ TK CSDL

  • 3. TIẾP CẬN PHÂN RÃ …(tt)

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • 4. TIẾP CẬN TỔNG HỢP ĐỂ TK CSDL

  • 4. TIẾP CẬN TỔNG HỢP … (tt)

  • Slide 20

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

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

Tài liệu liên quan