1 / 49

Chương 5: Relational mapping

Chương 5: Relational mapping. Các bước triển khai sơ đồ ý niệm. Design the conceptual schema Annotate the conceptual schema with mapping choices as needed Map the design to a logical schema Finesse the logical schema as needed Generate the physical schema

alissa
Download Presentation

Chương 5: Relational mapping

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. Chương 5: Relational mapping Giao trinh BM HTTT - Khoa CNTT - HUI

  2. Các bước triển khai sơ đồ ý niệm Design the conceptual schema Annotate the conceptual schema with mapping choices as needed Map the design to a logical schema Finesse the logical schema as needed Generate the physical schema Create external schema(s) (e.g., forms, reports) Enforce security levels as needed Populate the database Issue queries and updates Update the schemas as needed Giao trinh BM HTTT - Khoa CNTT - HUI

  3. Sơ đồ quan hệ • Sơ đồ quan hệ (relational schema) là 1 tập các định nghĩa bảng quan hệ, các ràng buộc và cả quy luật suy diễn • Cấu trúc của 1 bảng quan hệ được gọi là table scheme hay biến quan hệ (relation variable), Nó chứa 1 tập hợp các thuộc tính và miền giá trị tương ứng (domain) của mỗi thuộc tính. • Ứng với mỗi sơ đồ bảng có thể được phân bố bởi 1 tập hợp các hàng (tuple) , nhưng phấn bố này không thuộc vào chính sơ đồ bảng Giao trinh BM HTTT - Khoa CNTT - HUI

  4. Ánh xạ từ lược đồ ORM thành lược đồ quan hệ Giao trinh BM HTTT - Khoa CNTT - HUI

  5. Các ràng buộc trong sơ đồ quan hệ • Ràng buộc duy nhất (uniqueness constraint) được chỉ ra bằng đường gạch dưới. • Khóa dự tuyển (candidate key) • Khóa chính (primary key): là 1 trong các khóa dự tuyến, các khóa dự tuyển còn lại gọi là "alternate keys“ hay "secondary keys“. Khóa chính ký hiệu bằng đường gạch dưới đôi nếu có tồn tại các alternate key khác. Giao trinh BM HTTT - Khoa CNTT - HUI

  6. Ví dụ khóa chính Secondary key Primary key • Nếu chỉ có 1 candidate key thì mặc định nó là primary key • Nếu có nhiều hơn 1 candidate key empNr là khóa chính Giao trinh BM HTTT - Khoa CNTT - HUI

  7. Các ràng buộc trong sơ đồ quan hệ Cột không cho phép có giá trị null được gọi là bắt buộc (mandatory) Cột cho phép giá trị null được gọi là tùy chọn (optional), ký hiệu [] Ví dụ: Employee( empNr, salary, [tax] ) , tax là cột optional Giao trinh BM HTTT - Khoa CNTT - HUI

  8. Ví dụ 1 Ánh xạ từ mô hình ORM thành sơ đồ quan hệ Do tax có quan hệ là tùy chọn trong ORM nên khi chuyển sang ER nó thành cột tùy chọn [tax] Giao trinh BM HTTT - Khoa CNTT - HUI

  9. Ánh xạ từ ORM thành ER Ràng buộc vai trò bắt buộc (Mandatory role) được chuyển thành cột bắt buộc trong bảng và ràng buộc subset sẽ được chuyển vào bảng khác (nếu cần) chứa giá trị về loại đối tượng đó. Giao trinh BM HTTT - Khoa CNTT - HUI

  10. Ví dụ 2: ràng buộc vai trò bắt buộc • Do luật cơ bản drives là m:n nên nó được map thành 1 bảng quan hệ khác. • Ràng buộc vai trò bắt buộc chỉ được thể hiện 1 phần 1 nghiệp vụ: không có 1 hạn chế nào khi đưa mã số nhân viên vào bảng Drive mà mã số này không có trong bảng Employee. Employee( empNrg, gender, salary, [tax] ) Drive(EmpNr, CarRegNo) Giao trinh BM HTTT - Khoa CNTT - HUI

  11. Ánh xạ ràng buộc role bắt buộc Làm thế nào để ánh xạ ràng buộc role bắt buộc? Một role r là bắt buộc đối với đối tượng loại O chỉ nếu phần bố của mỗi role khác bởi O phải là 1 subset của phân bố của r. Vì vậy mỗi role tùy chọn của 1 đối tượng đều có 1 ràng buộc subset ngầm định. Giao trinh BM HTTT - Khoa CNTT - HUI

  12. Ví dụ 2: ràng buộc vai trò bắt buộc Để thể hiện ràng buộc subset của role drives, thêm vào lược đồ quan hệ 1 ràng buộc subset từ cột empNr của bảng Drives vào cột empNr của bảng Employee Giao trinh BM HTTT - Khoa CNTT - HUI

  13. Ví dụ 2: ràng buộc vai trò bắt buộc Ràng buộc subset trong lược đồ quan hệ thể hiện bằng mũi tên đứt nét  bảo đảm “any employee listed as driving a car is also listed in the Employee table” Giao trinh BM HTTT - Khoa CNTT - HUI

  14. Thuật ngữ quan hệ Theo thuật ngữ quan hệ, ràng buộc subset được gọi là ràng buộc bảo toàn tham chiếu (referential integrity constraint). Thuộc tính empNr của bảng Drives là khóa ngoại (foreign key) tham chiếu đến thuộc tính empNr của bảng Employee. Giao trinh BM HTTT - Khoa CNTT - HUI

  15. Các quy luật bảo toàn dữ liệu của mô hình quan hệ • Hai quy luật bảo toàn cơ bản (integrity rules) • Bảo toàn thực thể (entity integrity): yêu cầu khóa chính không được chứa giá trị nulls • Bảo toàn tham chiều (Referential integrity): mỗi giá trị khác null của khóa ngoại phải khớp với 1 giá trị nào đó của khóa chính. • Người dùng cũng có thể đưa ra các ràng buộc của người dùng (user-defined constraint) và các quy luật suy diễn. Giao trinh BM HTTT - Khoa CNTT - HUI

  16. Ví dụ 3 • Hãy ánh xạ lược đồ ORM trên thành lược đồ ER Giao trinh BM HTTT - Khoa CNTT - HUI

  17. Ví dụ 3 Giao trinh BM HTTT - Khoa CNTT - HUI

  18. Exercise Page 492 Giao trinh BM HTTT - Khoa CNTT - HUI

  19. Trình tự ánh xạ từ lược đồ ORM sang lược đồ quan hệ • Từ một lược đồ ý niệm có thể có nhiều thiết kế lược đồ quan hệ khác nhau. • Để chọn 1 lược đồ quan hệ, cần dựa vào 3 tiêu chuẩn: correct, efficient, and clear. • Correct: phải tương đương với lược đồ ý niệm • Efficient: thời gian đáp ứng truy vấn nhanh và đòi hỏi không gian lưu trữ hợp lý • Clear: lược đồ phải tương đối dễ hiễu và dễ làm việc với nó Tiêu chuẩn nào là quan trọng nhất??? Giao trinh BM HTTT - Khoa CNTT - HUI

  20. Rmap Correct:là tiêu chuẩn quan trọng nhất. Để bảo đảm tính đúng đắn của dữ liệu trong lược đồ quan hệ thì cần phải tránh dư thừa (avoid redundancy) Một thủ tục mới để ánh xạ là Rmap (Relational mapping). Rmap bảo đảm lược đồ quan hệ không bị dư thừa và hạn chế số bảng. Rmap mở rộng và tinh chỉnh thủ tục cũ hơn "Optimal Normal Form" (ONF) . Giao trinh BM HTTT - Khoa CNTT - HUI

  21. Rmap Bước cơ bản của Rmap là :” Redundancy is repetition of an atomic fact. ”. Nều bảo đảm loại quan hệ là atomic thì dễ dàng tránh được dư thừa trong các bảng quan hệ. Thường mỗi hàng của bảng quan hệ sẽ chứa 1 hay nhiều luật cơ bản (elementary facts). Ngược lại hàng của bảng chứa 1 loại tham chiếu. Giao trinh BM HTTT - Khoa CNTT - HUI

  22. Quy luật ánh xạ Để tránh dư thừa trong các bảng phải bảo đảm “each fact type maps to only one table in such a way that its instances appear only once”. Hai quy luật nhóm (grouping) cơ bản để thực thi qui định trên Giao trinh BM HTTT - Khoa CNTT - HUI

  23. Quy luật 1 Giao trinh BM HTTT - Khoa CNTT - HUI

  24. Quy luật 2 Có 2 loại quan hệ chức năng (functional role) được gắn với loại đối tượng A. Giao trinh BM HTTT - Khoa CNTT - HUI

  25. Ví du 1̣: áp dụng 2 quy luật nhóm Giao trinh BM HTTT - Khoa CNTT - HUI

  26. Ví dụ 2 Ràng buộc ngang bằng (equality constraint) được chỉ ra bằng đường mũi tên đứt nét nối giữa các trường empNr của cả 2 bảng. Vì cả 2 role của Academic đều là bắt buộc và mỗi role ánh xạ thành 1 bảng riêng biệt. Ràng buộc ngang bằng được xem như là 2 ràng buộc subset ngược chiều nhau, tạo ra 1 vòng tham chiếu (referential cycle) Giao trinh BM HTTT - Khoa CNTT - HUI

  27. Ví dụ 2 Ràng buộc subset từ Qualification.empNr đến Academic.empNr là ràng buộc foreign key vì nó tham chiếu đến 1 primary key. Nhưng ràng buộc subset từ Academic.empNr đến Qualification.empNr không phải là ràng buộc foreign key vì nó chỉ tham chiếu đến 1 phần của primary key. Giao trinh BM HTTT - Khoa CNTT - HUI

  28. Ví dụ 3 Mỗi race có nhiều nhất 1 winner. Gender và weight là các role chức năng gắn với Horse. Tên cột "winner" được dùng thay thế "horseName" để phù hợp với ngữ nghĩa hơn. Giao trinh BM HTTT - Khoa CNTT - HUI

  29. Ánh xạ mối kết hợp 1:1(Mapping 1:1 assocation) Trong ORM, Bankcard và Client có mối kết hợp 1:1. Nếu Bankcard không có thêm 1 role chức năng nào khác, nên nhóm với các loại chức năng khác vào cùng 1 bảng. Giao trinh BM HTTT - Khoa CNTT - HUI

  30. Ánh xạ mối kết hợp 1:1 Cột bankcard là tùy chọn, có thể có giá trị null, nên sẽ gây bất lợi nhiều hơn khi gom các cột vào cùng 1 bảng. Bankcard được gạch dưới để chỉ ra UC với các giá trị khác null nhưng nó có thể chứa 1 hay nhiều giá trị null  cột bankcard không thể làm khóa chính. Giao trinh BM HTTT - Khoa CNTT - HUI

  31. Ánh xạ mối kết hơp 1:1 Với 2 UC, clientNr được gạch dưới bằng nét đôi để chỉ nó là primary key. Nhưng nếu Bankcard có thêm các role chức năng khác thì nên nhóm các mối quan hệ của bankcard thành 1 bảng khác. Giao trinh BM HTTT - Khoa CNTT - HUI

  32. Ví dụ 1 về ánh xạ mối kết hợp 1:1 Giao trinh BM HTTT - Khoa CNTT - HUI

  33. Ánh xạ mối kết hơp 1:1 Trong mối kết hợp 1:1, thường chỉ có 1 role là bắt buộc, tốt hơn hết là hãy nhóm trên phía role bắt buộc. Giao trinh BM HTTT - Khoa CNTT - HUI

  34. Ví dụ 2 Trong mối kết hợp 1:1 giữa Employee và Department thì Employee là tùy chọn và Department là bắt buộc. Vì vậy thường thì nên nhóm bên phía bắt buộc, đưa cột headEmpNr vào trong bảng Department Giao trinh BM HTTT - Khoa CNTT - HUI

  35. So sánh 2 cách nhóm Nhóm bên phía role bắt buộc Nếu nhóm bên phía tùy chọn, đưa cột deptHeaded vào bảng Employee. Giao trinh BM HTTT - Khoa CNTT - HUI

  36. Nhận xét • Nếu theo cách nhóm theo phía tùy chọn thì có 2 nhược điểm sau: • Cột tùy chọn deptHeaded cho phép giá trị null, mà giá trị null thì nên tránh dùng vì ngoài việc tốn không gian lưu trữ, nó thường bất tiện cho người dùng. • Ràng buộc equality giữa các bảng thay cho ràng buộc subset. Giao trinh BM HTTT - Khoa CNTT - HUI

  37. Ánh xạ UC ngoàiMapping External Uniqueness Constraints • Ràng buộc duy nhất ngoài thường có 2 dạng: • Dạng lược đồ tham chiếu phức • Dạng UC ngoài thực sự liên quan đến các loại quan hệ (fact type) khác nhau trong lược đồ Giao trinh BM HTTT - Khoa CNTT - HUI

  38. Ánh xạ UC ngoàiMapping External Uniqueness Constraints • Các bước để ánh xạ ràng buộc duy nhất ngoài dạng sơ đồ tham chiếu phức: • Bỏ qua sơ đồ tham chiếu của mỗi loại đối tượng • Nhóm các quan hệ vào các bảng bằng cách dùng ký tự thay thế đơn giản cho các role của đối tượng. • Thay thế mỗi ký hiệu bằng các thuộc tính được dùng trong bảng để xác định đối tượng. Giao trinh BM HTTT - Khoa CNTT - HUI

  39. Ví dụ • Từ mối quan hệ “Employee e is of Gender g” ánh xạ thành Employee(e,g) • Thay thề g thành gender, vì e liên quan đến sơ đồ tham chiếu phức nên nó được ánh xạ thành familyName, initials Giao trinh BM HTTT - Khoa CNTT - HUI

  40. Ví dụ 2: khóa chính phức Giao trinh BM HTTT - Khoa CNTT - HUI

  41. Ví dụ 3 • Khác 2 sơ đồ trên, Employee có khóa chính đơn. UC ngoài liên quan đến 2 loại quan hệ • UC này được ánh xạ thành UC chứa cả surname và initials trong bảng quan hệ. • Khi đó UC trên khóa chính sẽ chứa cả 3 UC đơn tương ứng với 3 UC trong ORM. Giao trinh BM HTTT - Khoa CNTT - HUI

  42. Ví dụ 3 Giao trinh BM HTTT - Khoa CNTT - HUI

  43. UC ngoài liên quan đến quan hệ m:m Nếu UC ngoài liên quan đến 1 tập các role có 1 role m:n (LabSession is assigned to Student). Giao trinh BM HTTT - Khoa CNTT - HUI

  44. UC ngoài liên quan đến quan hệ m:m Vì loại quan hệ m:n được ánh xạ thành 1 bảng, UC ngoài sẽ liên quan đến cả 2 bảng tương đương với 1 UC nội nối courseCode và studentNr trong kết nối nội của 2 bảng. Giao trinh BM HTTT - Khoa CNTT - HUI

  45. Ánh xạ mối kết hợp được đối tượng hóaMapping Objectified Associations Giao trinh BM HTTT - Khoa CNTT - HUI

  46. Ánh xạ mối kết hợp được đối tượng hóaMapping Objectified Associations Mối kết hợp Employee worked on Project được đối tượng hóa thành Work. Loại đối tượng hóa này có 1 role bắt buộc và 1 role tùy chọn, cả hai role đều role chức năng. Giao trinh BM HTTT - Khoa CNTT - HUI

  47. Ánh xạ mối kết hợp được đối tượng hóa Xem mối kết hợp đối tượng hóa này như 1 "black box", và loại đối tượng Work chỉ có 2 loại quan hệ chức năng nên được nhóm vào cùng 1 bảng. Ký hiệu Work như 1 black box Bảng kết quả Work( , startdate, [enddate] ) Thay thế thành các thuộc tính empNr và projectName Work(empNr, projectName, startdate, [enddate]) Giao trinh BM HTTT - Khoa CNTT - HUI

  48. Ánh xạ mối kết hợp được đối tượng hóa Giao trinh BM HTTT - Khoa CNTT - HUI

  49. Exercise Page 514 Giao trinh BM HTTT - Khoa CNTT - HUI

More Related