Chương 5: Relational mapping

Slides:



Advertisements
Similar presentations
THIÊN ĐƯỜNG HOA TÌNH YÊU TẠI XỨ NHẬT
Advertisements

5.
AI CŨNG PHẢI HỌC LÀM NGƯỜI
CHƯƠNG III: NGÂN HÀNG VÀ CÁC NGHIỆP VỤ NGÂN HÀNG.
By Nguyen Minh Quy - UTEHY
Cách trộn thư trong Office 2003 Ứng dụng để làm giấy khen, giấy mời.
BÀI 3. ĐƯỜNG THẲNG VÀ MẶT PHẲNG SONG SONG SỞ GD&ĐT ĐIỆN BIÊN TRƯỜNG THCS-THPT TẢ SÌN THÀNG BÀI DỰ THI SOẠN GIẢNG E-LEARNING Chương II ĐƯỜNG THẲNG VÀ MẶT.
Rèn luyện nghiệp vụ sư phạm 3
Orientation Các vấn đề về IT.
Giáo viên: Nguyễn Ngọc Thúy Hằng Đơn vị: Trường THPT Lê Quý Đôn
BIỆN PHÁP TRÁNH THAI TỰ NHIÊN ĐỐI TƯỢNG: CĐ HỘ SINH THỜI GIAN: 4 TIẾT.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
CHƯƠNG 5. CẤU TẠO ĐƯỜNG KIẾN TẠO. Nội dung chính KHÁI NIỆM CHUNG CÁC DẠNG CẤU TẠO ĐƯỜNG KIẾN TẠO CÁCH ĐO ĐẠC VÀ THU THẬP CÁC SỐ LIỆU CẤU TẠO ĐƯỜNG.
TRAO ĐỔI KINH NGHIỆM PHƯƠNG PHÁP ÔN LUYỆN & KỸ NĂNG THI TOEIC
CƠ CHẾ QUẢN LÝ KINH TẾ TRƯỚC THỜI KÌ ĐỔI MỚI (1975 – 1986)
37 Lê Quốc Hưng, Quận 4, Tp. Hồ Chí Minh ​ (08) ĐỀ XUẤT POC CÁC GIẢI PHÁP GIÁM SÁT HẠ TẦNG TRÊN NỀN TẢNG CÔNG.
1 BÀI 6 BẤM CÁP VÀ CHIA SẺ DỮ LIỆU MẠNG. 2 Nội Dung  Bấm cáp xoắn đôi đúng chuẩn Phương pháp bấm cáp chuẩn A Phương pháp bấm cáp chuẩn B  Kết nối máy.
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C/C++
Thị trường mới ThS. Nguyễn Văn Thoan
1. Quyền Admistrator, quyền Standard hoặc Limited 2. Kiểm tra kết nối mạng nội bộ, Internet 3. Một số nội dung của Quy nội bộ số 72/QyĐ-KTNB 4. L ư u ý.
Kính Chào Cô và Các b ạ n thân m ế n !!!!!. HÌNH THỨC CHÍNH THỂ CỦA NHÀ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM VÀ MỘT SỐ NƯỚC TRÊN THẾ GIỚI. Thuyết trình.
Tác tử thông minh.
Ngôn ngữ lập trình C/C++
SỬ DỤNG EXCEL ĐỂ TRÍCH KHẤU HAO TSCĐ
Đầu tiên chỉ là 1 giao thức đơn giản
Bảo mật - Mã hóa dữ liệu Nội dung trình bày :
CHƯƠNG 9 PHẦN MỀM POWERPOINT
BÀI 4 CÔNG NGHỆ THÔNG TIN VÀ CHUỖI CUNG ỨNG
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
© 2007 Thomson South-Western
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++
Chương 8 KẾT NỐI VỚI SQL SERVER & ỨNG DỤNG TRÊN C#
Chương 4: Thị trường tài chính
© 2007 Thomson South-Western
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0
Tuyển chọn nguồn nhân lực của
Ràng buộc toàn vẹn (Integrity Constraint)
Hệ quản trị Cơ sở dữ liệu Giới thiệu
Dược Thảo Lợi Hại Ra Sao Kính thưa quí bạn, slide show nầy nói về những điều cần lưu ý khi tìm đọc các thông tin về các loại thuốc phụ trợ hoặc bổ sung,
Chương 1: Khái quát về dự án đầu tư.
Ra quyết định kinh doanh
Policy Analysis Tools of the Trade NMDUC 2009.
Quản lý hệ thống file.
Cấu hình đơn giản cho Router
Bài giảng môn Tin ứng dụng
Ring ? Bus ? ? Mesh ? Start ?. Ring ? Bus ? ? Mesh ? Start ?
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
Chương 6 Các chiến lược tiếp thị
TÀI LIỆU GIẢNG DẠY IC3 GS4 SPARK
Bài 8 (6 tiết): CÂY (TREE) A. CÂY VÀ CÂY NHỊ PHÂN (2 tiết)
HỆ ĐIỀU HÀNH MẠNG.
ỨNG DỤNG HIV INFO 3.0 QUẢN LÝ SỐ LIỆU NGƯỜI NHIỄM HIV/AIDS
GVHD: TS Lê Vũ Tuấn Hùng HV: Trịnh Thị Quỳnh Như
File Transfer Protocol (FTP) là cơ chế truyền tin dưới dạng tập tin (file). Thông qua giao thức TCP/IP FTP là dịch vụ đặc biệt vì nó dùng tới 2 port Port.
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
BÀI 29: LỌC DỮ LIỆU TỪ DANH SÁCH DỮ LIỆU
Chương 4 - CÁC MÔ ĐUN ĐiỀU KHIỂN TRONG HỆ THỐNG CƠ ĐiỆN TỬ
Data Integrity TÍNH TOÀN VẸN DỮ LiỆU.
Phương pháp Nghiên cứu khoa học (SCIENTIFIC RESEARCH METHODOLOGY)
Lớp DH05LN GIÁO VIÊN PHỤ TRÁCH ThS. NGUYỄN QUỐC BÌNH
Please click through slides at your leisure
Chương 3. Lập trình trong SQL Server TRIGGER
AUDIO DROPBOX - TUTORIALS
2D Transformations Các phép biến đổi 2D
Module 2 – CSR & Corporate Strategy
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG
Company LOGO CĂN BẢN VỀ MẠNG NGUYEN TAN THANH Xem lại bài học tại
1 Bài tập 3D. 2 3D Modeling Line – Ray – SegmentLine – Ray – Segment SurfaceSurface –Parametric Ruled SurfaceRuled Surface Surface of RevolutionSurface.
Quản trị rủi ro Những vấn đề căn bản Nguyễn Hưng Quang 07/11/2015 NHẬT HOA IC&T.
TRƯỜNG ĐẠI HỌC NGOẠI THƯƠNG CƠ SỞ II TẠI TP. HỒ CHÍ MINH HỘI NGHỊ KHOA HỌC CƠ SỞ II “BÁO CÁO HOẠT ĐỘNG ĐI THỰC TẾ CỦA GIẢNG VIÊN CSII, NĂM HỌC ”
Presentation transcript:

Chương 5: Relational mapping Page 482 Giao trinh BM HTTT - Khoa CNTT - HUI

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

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

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

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

Ví dụ khóa chính 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 Secondary key Primary key Giao trinh BM HTTT - Khoa CNTT - HUI

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

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

Á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

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

Á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

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

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” Page 487 Giao trinh BM HTTT - Khoa CNTT - HUI

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

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

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

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

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

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??? Page 492 Giao trinh BM HTTT - Khoa CNTT - HUI

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

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

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

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

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

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

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

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

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

Á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

Á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

Á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

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

Á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

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 Page 497 Giao trinh BM HTTT - Khoa CNTT - HUI

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

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

Ánh xạ UC ngoài Mapping 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

Ánh xạ UC ngoài Mapping 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

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

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

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

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

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

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

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

Ánh xạ mối kết hợp được đối tượng hóa Mapping 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

Á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

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

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