1 / 65

Schema Transformations

Schema Transformations. Sự tương đương giữa các lược đồ. Cùng mô hình nghiệp vụ (business domain) có thể được mô hình hóa trong nhiều cách khác nhau. Cùng 1 sơ đồ ý niệm có thể ánh xạ thành lược đồ logical theo nhiều cách

keelty
Download Presentation

Schema Transformations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Schema Transformations

  2. Sự tương đương giữa các lược đồ • Cùng mô hình nghiệp vụ (business domain) có thể được mô hình hóa trong nhiều cách khác nhau. • Cùng 1 sơ đồ ý niệm có thể ánh xạ thành lược đồ logical theo nhiều cách • Cùng 1 lược đồ logical có thể được thực thi theo nhiều cách khác nhau.

  3. Ví dụ 1

  4. Ví dụ 1 • Lược đồ ý niệm với quan hệ 2 ngôi • Hai lược đồ có tương đương nhau không??

  5. Ví dụ 1 • Từ các quan hệ 1 ngôi trong sơ đồ 1 có thể dịch thành các quan hệ 2 ngôi trong sơ đồ 2 Patient smokes iff Patient indulges in Vice 'S' Patient drinks iff Patient indulges in Vice 'D' • Và ngược lại Patient indulges in Vice iff Patient smokes and Vice has ViceCode 'S' or Patient drinks and Vice has ViceCode 'D'  Tương đương ngữ cảnh (contextual equivalence )

  6. Contextual equivalence • Tương đương ngữ cảnh vì nó bổ sung ngữ cảnh có tính định nghĩa (definitional context) vào sơ đồ gốc, thừa nhận có "virtual object types" (e.g., Vice tồn tại ngầm định trong lược đồ 1)

  7. Tương đương lược đồ trong UML

  8. Conceptual schema transformation • Việc săp xếp lại 1 lược đồ này cho giống với 1 lược đồ khác gọi là phép biến đổi lược đồ ý niệm. • Có thể thực hiện nhiều phép biến đổi phức trong ORM mà không cần phải dùng đến các chú thích để hỗ trợ

  9. Lợi điểm khi dùng phép biến đổi • Giúp ta phân biệt được sự khác biệt giữa các chọn lựa thiết kế. • Nếu 2 lược đồ được xây dựng độc lập với nhau có thể tích hợp với nhau 1 phần hay hoàn toàn, chỉ cần giải quyết được sự khác nhau trong cách mà mỗi lược đồ dùng để mô hình miền nghiệp vụ.

  10. Tối ưu hóa lược đồ ý niệm • Nhờ phép biến đổi lược đồ ý niệm mà có thể thay đổi 1 lược đồ gốc thành 1 lược đồ khác có thể dễ dàng hơn cho việc thực thi. Quá trình biến đổi này được gọi là conceptual schema optimization.

  11. Ví dụ • Từ 2 lược đồ ý niệm trong ví dụ 1, tạo các cấu trúc bảng (table scheme ) và bảng phân bố mẫu tương ứng như sau:

  12. So sánh 2 cấu trúc bảng • Trong 1 số ứng dụng thì dùng dạng 1 (1 bảng) hiệu quả hơn, không cần phải thực thi phép join khi muốn hiển thị thông tin mọi bệnh nhân. • Nhưng nếu các tật nghiện (vice) thường xuyên thay đổi thì giải pháp dùng 2 bảng lại hiệu quả hơn • Nếu sau khi tối ưu hóa 1 lược đồ ý niệm khi ánh xạ sang bảng không hiệu quả thì có thể dùng phép denormalization.

  13. Predicate Specialization and Generalization • Chuyên biệt hóa và khái quát hóa Predicate tương tự như chuyên biệt hóa và khái quát hóa các loại đối tượng, nhưng không cần phải xác định mối liên kết subtype nào giữa các predicate • Một predicate có thể được specialized nếu ràng buộc giá trị (value constraint) hay ràng buộc tần số (frequency constraint) là 1 số hữu hạn. • Trong ví dụ drinker-smoker, Vice có ràng buộc giá trị { 'S', 'D' }

  14. Object type absorption • Vì có chính xác 3 loại huy chương , quan hệ 3 ngôi (ternary) có thề được chuyên biệt hóa thành 3 quan hệ 2 ngôi, mỗi ngôi cho 1 loại huy chương. • Khi loại đồi tượng MedalKind được sáp nhập (is absorbed) vào predicate 3 ngôi, nó chia thành( chuyên biệt hóa) thành 3 predicate 2 ngôi.  Phép biến đổi này được gọi là object type absorption.

  15. Object type extraction • Phép biến đổi ngược lại khái quát hóa từ 3 quan hệ nhị phân thành 1 quan hệ tam phân bằng cách rút ra (extracting) loại đối tượng MedalKind  Phép biến đổi này được gọi là object type extraction.

  16. Object type absorption/ extraction • In general, when an n-valued object type is absorbed into a predicate, the n specialized predicates that result each have one less role than the original (since the object type has been absorbed).

  17. Predicate Specialization/Generalization theorem 1 (PSG1). • PSGI: “R có thể được chuyên biệt hóa thành S1 .. Sn bằng cách sáp nhập B”

  18. Định lý PSG1 (Predicate specialization/Generalization) • Các predicate R và S, theo thứ tự, có m + 1 roles và m roles, với m  1. Các loại đối tượng A1 .. Am và B không cần phân biệt. Loại giá trị của B có n giá trị b1 .... bn. • Nếu m =1 biến đổi 1 quan hệ hai ngôi (binary) thành n quan hệ 1 ngôi (unary) • Nếu m = 2, biến đổi 1 quan hệ 3 ngôi thành n quan hệ nhị phân.

  19. Định lý PSG1 • Phép biến đổi từ trái sang phải chuyên biệt hóa predicate R thành n predicate S1 .. Sn bằng cách sát nhập loại đối tượng B. Phép biến đổi ngược lại từ phải sang trái khái quát hóa các predicate ngắn hơn thành 1 predicate dài hơn bằng cách rút ra B.

  20. Hệ quả của PSG1 • PSG1 vẫn đúng ngay cả khi có các ràng buộc khác được thêm vào. Tuy nhiên khi bất kỳ 1 ràng buộc nào được bổ sung vào thì phải biến đổi thành 1 ràng buộc phụ tương đương trong lược đồ biến đổi tương ứng. • Hệ quả: If a UC in R spans a combination of B's role and other roles, a UC spans the specialization of these other roles in S1 .. Sn; and conversely.

  21. UC trong các lược đồ tương đương

  22. Ví dụ về UC trong các lược đồ tương đương • Các UC trong lược đồ trái tương đương với các ràng buộc loại trừ (exclusion constraint ) trong lược đồ phải. • Exclusion constraint means that no row of values may appear in more than one of the Si fact tables

  23. Ví dụ 2 • UC bên lược đồ trái tương đương với ràng buộc loại trừ (exclusion constraint) bên lược đồ phải.

  24. Phép biến đổi và UC • If a UC spans all roles of R except for B's role, then S1, .. Sn, are mutually exclusive; and conversely.

  25. Phép biến đổi và ràng buộc bắt buộc • If Ai’s role (or role disjunction) in R is mandatory, then the disjunction of its specialized roles is mandatory, and conversely (1  i  m).

  26. Ví dụ phép biến đổi role bắt buộc Ràng buộc bắt buộc (mandatory constraint) trong sơ đồ (a) Ánh xạ thành 1 ràng buộc inclusive-or trong sơ đồ (b).

  27. Phép biến đổi và ràng buộc ngang bằng • If R is a ternary with a UC spanning just B's role and one other role, then adding a frequency constraint of n to this other role is equivalent to adding an equality constraint over the specialized versions of that role.

  28. Ví dụ về ràng buộc ngang bằng

  29. Phép biến đồi và ràng buộc bắt buộc và tần số • If R is a ternary with a UC spanning just B's role and one other role, then adding a mandatory role constraint and frequency constraint of n (the number of possible values for B) to this other role is equivalent to making each specialized version of that role mandatory.

  30. Ví dụ

  31. Ví dụ • UC ngoài trong (a) chỉ ra rằng mỗi xe có nhiều nhất một lái xe chính (main driver) và nhiều nhất 1 lái xe dự trữ (backup driver).

  32. Ví dụ • Lược đồ (a) được ánh xạ thành (b) bằng cách sáp nhập loại đối tượng DriverStatus vào predicate “drives”, chuyên biệt hóa thành 2 predicate main driver và backup driver. • Phép biến đổi ngược lại khái quát hóa các predicate driver chuyên biệt thành một predicate tổng quát bằng cách rút ra loại đối tượng DriverStatus. • Vì loại đối tượng này xuất hiện trong 1 loại quan hệ khác, không phù hợp với PSG 1.

  33. PSG2 (predicate specialization/ generalization theorem)

  34. Bốn hệ quả của PSG2 • "LHS" viết tắt của "left-hand schema" • “RHS” viết tắt của "right-hand schema".

  35. Ví dụ về PSG2 • A, B và C tương ứng với Driver, DriverStatus, và Car; Ràng buộc ngang bằng được ngầm định bởi 2 ràng buộc role bắt buộc trên Driver.

  36. Ví dụ 2 • Có thể chuyên biệt hóa sơ đồ ??? • Mặc dù không có loại đối tượng DriverStatus nhưng ràng buộc tần số (frequency constraint) cho thấy là each car has at most two drivers  cho phép chuyên biệt hóa thành 2 trường hợp

  37. Ví dụ 2 • Vì việc phân biệt ra 2 trường hợp này không có trong sơ đồ gốc nên phép biến đổi này không tương đương với lược đồ gốc

  38. Exercise • Page 708

  39. Tối ưu hóa lược đồ ý niệm(Conceptual schema optimization ) • Liên quan đến việc biến đổi 1 lược đồ ý niệm thành 1 lược đồ ý niệm khác mà có thể thực thi hiệu quả hơn. • Bốn yếu tố cần xem xét khi tối ưu hóa lược đồ: • Target system • Query pattern • Update pattern • Clarity.

  40. Thủ tục tối ưu hóa lược đồ ý niệm • Trước khi tối ưu hóa,lược đồ ý niệm toàn cục phải được hoàn tất và hợp lệ • Bất kỳ chọn lựa ánh xạ nào cũng nên khai báo. • Thủ tục bao gồm hai giai đoạn chính sau: • Transform to reduce the number of mapped tables (steps 1 and 2) • Transform to simplify individual tables (steps 3-5)

  41. So sánh kỹ thuật Normalization và deconceptualization • Quy trình ánh xạ từ lược đồ ý niệm thành lược đồ quan hệ được gọi là deconceptualization • Ngày nay các nhà thiết kế database thường tạo lược đồ ý niệm trước bằng ORM, ER, hay UML sau đó áp dụng thủ tục ánh xạ để tạo lược đồ quan hệ. • Trước đây khi thiết kế database, thường dùng kỹ thuật normalization, một số người hiện vẫn dùng kỹ thuật này chủ yếu để tinh chỉnh lược đồ quan hệ.

  42. So sánh kỹ thuật Normalization và deconceptualization • Nếu lược đồ ý niệm là đúng, thì thiết kế bảng bằng Rmap luôn ở dạng chuẩn, vì vậy các nhà mô hình hóa ORM không cần phải dùng đến kỹ thuật chuẩn hóa. • Tuy nhiên biết về normalization giúp hợp nhất được hướng thiết kế và tạo điếu kiện để làm việc với những người còn sử dụng phương pháp cũ normalization.

  43. Kỹ thuật chuẩn hóa • Có hai kỹ thuật chuẩn hóa: • Synthesis • Decomposition ( hay còn gọi "analysis"). • Mỗi kỹ thuật chỉ thực hiện trên các lược đồ quan hệ và tập các phụ thuộc hàm (functional dependencies - FD). • Kết quả chuẩn hóa: tập các bảng ở dạng chuẩn (normal form)

  44. Các dạng chuẩn

  45. Các dạng chuẩn • Một bảng không ở dạng chuẩn 1NF thì được gọi là "unnormalized" hay Non-First Normal Form (NFNF = NF2). • Một bảng ở dạng chuẩn cao hơn cũng có nghĩa là nó cũng ở các dạng chuẩn thấp hơn • Ví dụ: một bảng ở dạng 3NF đương nhiên ở dạng chuẩn 1NF và 2NF

  46. Ví dụ 1 • Dạng chuẩn nào?? • Chuẩn NF2 • Repeat attribute : regNr, course, rating • Repeat group: Result

  47. Ví dụ 2 • Dạng chuẩn nào?? • Bảng (a): 2NF • Bảng (b): 1NF

  48. Ví dụ 2 • Nếu dựa vào bảng (b), phát biểu các luật cơ bản (elementary facts), rồi xây dựng lược đồ ý niệm và dùng Rmap để có lược đồ quan hệ

  49. Ví dụ 3 • Dạng chuẩn nào?? • Bảng (a): 3NF • Bảng (b) : 2NF

  50. Ví dụ 3 • Lược đồ ý niệm cho hình (b) và lược đồ quan hệ đúng bằng kỹ thuật Rmap

More Related