Bài giảng Cơ sở dữ liệu - Chương 2: Các mô hình dữ liệu
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu - Chương 2: Các mô hình dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bai_giang_co_so_du_lieu_chuong_2_cac_mo_hinh_du_lieu.pdf
Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 2: Các mô hình dữ liệu
- 9/5/2016 CƠ SỞ DỮ LIỆU CÁC MÔ HÌNH DỮ LIỆU NỘI DUNG 1 • Mô hình thực thể kết hợp 2 • Mô hình dữ liệu quan hệ Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] MÔ HÌNH THỰC THỂ KẾT HỢP 1 • Một số đặc trưng cơ bản 2 • Các thành phần Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 1
- 9/5/2016 MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH THỰC THỂ KẾT HỢP • Bản vẽ thiết kế cơ sở dữ liệu 1 • Biểu diễn cấu trúc tổng thể của tổ chức 2 Mô hình thực thể kết hợp • Biểu diễn một số ràng buộc trên dữ liệu – 3 • Không thể hiện các thao tác trên dữ liệu 4 Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU . Công ty được tổ chức thành nhiều đơn vị với các thông tin bao gồm: tên đơn vị, số hiệu đơn vị. Mỗi đơn vị có thể có nhiều văn phòng đại diện tại những địa điểm khác nhau. Đơn vị được quản lý bởi một nhân viên giữ chức vụ trưởng đơn vị. Hệ thống cũng yêu cầu phải duy trì thông tin về ngày ký quyết định bổ nhiệm cho từng trưởng đơn vị. . Mỗi đơn vị điều hành nhiều dự án. Thông tin về dự án bao gồm: tên dự án, số hiệu, và địa điểm thực hiện dự án. . Công ty duy trì thông tin về nhân viên bao gồm: họ và tên, mã số, mức lương, giới tính, ngày sinh và ngày ký hợp đồng làm việc với công ty. Mỗi nhân viên Mô hình thực thể kếtthuộc hợp biên chế một đơn vị nhưng có thể tham gia nhiều dự án khác nhau. Các – dự án này không nhất thiết phải do cùng một đơn vị quản lý. Công ty cũng theo dõi thời gian (tính bằng số giờ làm việc trong tuần) tham gia từng dự án của mỗi nhân viên. Ngoài ra, mỗi nhân viên còn chịu sự giám sát của một nhân viên khác. . Cuối cùng, công ty có chế độ bảo hiểm dành cho người thân của nhân viên. Cơ sở dữ liệu Thông tin về người thân bao gồm tên, giới tính, ngày sinh và mối liên hệ với nhân viên. Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Thực thể Đối tượng dữ liệu cơ bản Sự vật, hiện tượng tồn tại độc lập . Tập thực thể Một nhóm các thực thể giống nhau Mỗi thực thể là một thể hiện của tập thực thể Mô hình thực thể kết hợp – . Thuộc tính Đặc trưng phân biệt các thực thể Mỗi thực thể tại từng thuộc tính có một giá trị tương ứng Cơ sở dữ liệu Giá trị của thuộc tính giúp phân biệt thực thể Ths. Trịnh Hoàng Nam, [email protected] 2
- 9/5/2016 HOẠT ĐỘNG 1 • Xác định các tập thực thể trong 1 ví dụ mẫu • Xác định thuộc tính tương ứng Mô hình thực thể kết hợp – 2 với từng tập thực thể trong ví dụ mẫu Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Miền giá trị Tập hợp các giá trị mà thuộc tính có thể nhận được Có thể là tập các số nguyên, số thực, các xâu ký tự, Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Phân biệt các thuộc tính theo nhóm Thuộc tính tổ hợp & thuộc tính đơn Thuộc tính đơn trị & thuộc tính đa trị Thuộc tính lưu trữ & thuộc tính dẫn xuất Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 3
- 9/5/2016 HOẠT ĐỘNG 2 • Xác định miền giá trị thích hợp cho các thuộc 1 tính trong từng tập thực thể của ví dụ mẫu • Xác định thuộc tính đơn & thuộc tính tổ hợp 2 trong từng tập thực thể của ví dụ mẫu Mô hình thực thể kết hợp – • Xác định thuộc tính đơn trị & thuộc tính đa trị 3 trong từng tập thực thể của ví dụ mẫu Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Giá trị NULL Giá trị không tồn tại Giá trị tồn tại nhưng không xác định Giá trị tồn tại, xác định, nhưng không sử dụng được Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Thuộc tính khóa Một (số) thuộc tính dùng để phân biệt các thực thể khác nhau trong một tập thực thể Mỗi tập thực thể có ít nhất một khóa Khóa chính và khóa phụ Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 4
- 9/5/2016 HOẠT ĐỘNG 3 • Xác định thuộc tính lưu trữ và thuộc tính 1 dẫn xuất (nếu có) trong ví dụ mẫu • Diễn giải sự xuất hiện của các giá trị null 2 xuất hiện trong ví dụ mẫu Mô hình thực thể kết hợp – • Xác định khóa chính, khóa phụ trong ví 3 dụ mẫu Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp – Hình 2.1. Các thực thể (kèm thuộc tính) của COMPANY Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Liên kết là một sự kết hợp giữa các thực thể từ một hoặc nhiều tập thực thể khác nhau . Kiểu liên kết giữa các tập thực thể A1, A2, là tập hợp các liên kết giữa các thực thể a1, a2, từ các tập thực thể nói trên Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 5
- 9/5/2016 CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Phân loại liên kết dựa trên số thực thể tham gia Liên kết hai ngôi Liên kết nhiều ngôi . Liên kết nhiều ngôi có thể được chuyển đổi thành nhiều liên kết hai ngôi Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP Mô hình thực thể kết hợp – Hình 2.2. Chuyển đổi liên kết ba ngôi thành ba liên kết hai ngôi Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Phân loại liên kết hai ngôi dựa trên số lượng các thực thể cùng loại tham gia vào liên kết Liên kết một – một Liên kết nhiều – một Liên kết nhiều – nhiều Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 6
- 9/5/2016 VÍ DỤ MẪU Mô hình thực thể kết hợp Hình 2.3. Biểu diễn liên kết một – một trong CSDL COMPANY – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp Hình 2.4. Biểu diễn liên kết một – nhiều trong CSDL COMPANY – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp Hình 2.5. Biểu diễn liên kết nhiều – nhiều trong CSDL COMPANY – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 7
- 9/5/2016 CÁC THÀNH PHẦN TRONG MÔ HÌNH THỰC THỂ KẾT HỢP . Một số đặc điểm của liên kết Mỗi thực thể có vai trò riêng trong liên kết Liên kết có thể có thuộc tính riêng Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp Hình 2.6. Hai vai trò của tập thực thể EMPLOYEE trong liên kết SUPERVISES – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp Hình 2.7. Biểu diễn thuộc tính của liên kết WOKRSON trong CSDL COMPANY. – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 8
- 9/5/2016 HOẠT ĐỘNG 4 • Xác định các kiểu liên kết tồn tại 1 trong ví dụ mẫu • Xác định chỉ số bội của từng kiểu 2 liên kết trong ví dụ mẫu Mô hình thực thể kết hợp – • Xác định thuộc tính của mỗi kiểu 3 liên kết trong ví dụ mẫu Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] TẬP THỰC THỂ YẾU . Kiểu liên kết R từ E1 đến E2 gọi là hỗ trợ khi R là loại liên kết hai ngôi n:1 từ E1 đến E2 Tập thực thể E1 không có khóa chính, nó nhận khóa chính của E2 về làm khóa cho nó . Khi đó, E1 gọi là tập thực thể yếu Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU . Xét tập thực thể DEPENDENT Liên kết BELONGS TO là liên kết hỗ trợ từ DEPENDENT đến EMPLOYEE DEPENDENT không có khóa, nó nhận khóa của EMPLOYEE về để xây dựng khóa riêng cho nó là {ESSN, DName} Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 9
- 9/5/2016 VÍ DỤ MẪU Mô hình thực thể kết hợp – Hình 2.8. Tập thực thể yếu DEPDENDENT trong CSDL COMPANY Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC KÝ HIỆU Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp – Cơ sở dữ liệu Hình 2.9. Biểu diễn cơ sở dữ liệu COMPANY bằng mô hình thực thể kết hợp. Ths. Trịnh Hoàng Nam, [email protected] 10
- 9/5/2016 MÔ HÌNH DỮ LIỆU QUAN HỆ 1 • Tổ chức dữ liệu 2 • Ràng buộc trên dữ liệu 3 • Thao tác trên dữ liệu Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] BA THÀNH PHẦN CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ Ràng Tổ chức buộc trên dữ liệu dữ liệu Mô hình thực thể kết hợp – Thao tác trên dữ liệu Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC KHÁI NIỆM CƠ BẢN CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ . Lược đồ quan hệ . Bậc của quan hệ . Thuộc tính . Miền giá trị . Bộ dữ liệu Mô hình thực thể kết hợp – . Thể hiện quan hệ . Lược đồ cơ sở dữ liệu quan hệ Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 11
- 9/5/2016 VÍ DỤ MẪU Thuộc tính Mô hình thực thể kết hợp – Cơ sở dữ liệu Bộ dữ liệu Giá trị thành phần Hình 4.1. Một thể hiện của quan hệ EMPLOYEE Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU WORKSON EMPLOYEE DEPARTMENT ESSN ESSN DNumber PNum EName DName workHours ESalary mgrSSN ESex mgrStartdate EBirthdate EStartdate PROJECT DNum PNumber supervisorSSN PName DEPLOCATION PLocation DNum DNum DLocation Mô hình thực thể kết hợp – DEPENDENT DName ESSN DSex DBirthdate DRelationship Cơ sở dữ liệu Hình 4.2. Lược đồ cơ sở dữ liệu COMPANY Ths. Trịnh Hoàng Nam, [email protected] MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ . Thứ tự của các bộ trong quan hệ Mô hình thực thể kết hợp – Cơ sở dữ liệu Hình 4.3. Hai thể hiện của quan hệ EMPLOYEE TƯƠNG ĐƯƠNG Ths. Trịnh Hoàng Nam, [email protected] 12
- 9/5/2016 MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ . Thứ tự của các giá trị bên trong một bộ Mô hình thực thể kết hợp – Cơ sở dữ liệu Hình 4.3. Hai thể hiện của quan hệ EMPLOYEE TƯƠNG ĐƯƠNG Ths. Trịnh Hoàng Nam, [email protected] MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ . Các giá trị thuộc tính trong bộ Giá trị thuộc tính là giá trị đơn Mô hình thực thể kết hợp – Sử dụng NULL để biểu diễn Cơ sở dữ liệu giá trị không biết Ths. Trịnh Hoàng Nam, [email protected] MỘT SỐ ĐẶC TRƯNG CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ . Quan hệ biểu diễn thực thể và quan hệ biểu diễn liên kết Quan hệ biểu diễn thực thể EMPLOYEE (ESSN, EName, ESalary, , DNum, supervisorSSN) Mô hình thực thể kếtPROJECT hợp (PNumber, PName, PLocation, DNum) – WORKSON (ESSN, PNum, workHours) Quan hệ biểu diễn liên kết Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 13
- 9/5/2016 RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc miền giá trị • Giá trị ứng với thuộc tính A phải là đơn trị và phải thuộc miền giá trị dom(A) Ví dụ Mô hình thực thể kết hợp – Mọi bộ trong quan hệ EMPLOYEE có giá trị tại ESex là ‘M’, ‘F’, hoặc null Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] RÀNG BUỘC TOÀN VẸN DỮ LIỆU . Ràng buộc khóa Hai bộ bất kỳ của quan hệ không có giá trị bằng nhau tại thuộc tính khóa . Định nghĩa SK là siêu khóa của quan hệ R khi hai bộ bất kỳ của R không có giá trị bằng nhau tại SK Mô hình thực thể kết hợp – K là khóa của quan hệ R khi . K là siêu khóa . K là siêu khóa nhỏ nhất Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực. thể kếtKhóa hợp của EMPLOYEE là gì? – {ESSN}? {EName, ESex}? Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 14
- 9/5/2016 HOẠT ĐỘNG 1 • Xác định tất cả khóa của các 1 quan hệ trong ví dụ mẫu • Khóa nào được chọn làm khóa Mô hình thực thể kết hợp – 2 chính trong số các khóa của từng quan hệ, tại sao? Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc giá trị NULL • Khi thuộc tính A được thiết lập là NOT NULL thì các bộ dữ liệu không được nhận giá trị null tại thuộc tính này Ví dụ Mô hình thực thể kết hợp – Mọi bộ trong quan hệ EMPLOYEE không thể nhận giá trị null tại thuộc tính EName Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc thực thể • Nếu K là khóa chính của quan hệ R thì tồn tại đồng thời ràng buộc NOT NULL trên các thuộc tính của K Ví dụ Mô hình thực thể kết hợp – Nếu {ESSN} là khóa chính của EMPLOYEE thì các bộ dữ liệu không được có giá trị null tại thuộc tính này Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 15
- 9/5/2016 RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc toàn vẹn tham chiếu Một giá trị xuất hiện trong cột A của quan hệ R thì phải xuất hiện trong cột B của quan hệ S Để tồn tại một ràng buộc toàn vẹn tham chiếu từ A của R tới B của S, thì Mô hình thực thể kết hợp – dom(A) = dom(B) B phải là khóa (chính hoặc phụ) của S A(R) B(S) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU . Xét hai lược đồ quan hệ Mô hình thực thể kết hợp – . Ràng buộc toàn vẹn tham chiếu? Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU . Xét hai lược đồ quan hệ Mô hình thực thể kết hợp – Cơ sở dữ .liệu Ràng buộc toàn vẹn tham chiếu? Ths. Trịnh Hoàng Nam, [email protected] 16
- 9/5/2016 BA TOÁN TỬ CẬP NHẬT TRÊN DỮ LIỆU QUAN HỆ Thêm mới • Thêm mới một (số) bộ dữ liệu vào quan hệ Chỉnh sửa • Cập nhật giá trị một (số) bộ dữ liệu hiện có trong quan hệ Mô hình thực thể kết hợp – Xóa bỏ • Xóa bỏ một (số) bộ dữ liệu hiện có ra khỏi quan hệ Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] HOẠT ĐỘNG 2 • Toán tử thêm mới có khả năng gây ra 1 vi phạm ràng buộc toàn vẹn nào? • Toán tử thêm mới có khả năng gây ra 2 vi phạm ràng buộc toàn vẹn nào? Mô hình thực thể kết hợp – • Toán tử thêm mới có khả năng gây ra vi 3 phạm ràng buộc toàn vẹn nào? Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] VÍ DỤ MẪU Mô hình thực thể kết hợp – Cơ sở dữ .liệu Khi nào RBTV trên EMPLOYEE bị vi phạm? Ths. Trịnh Hoàng Nam, [email protected] 17
- 9/5/2016 BA CƠ CHẾ XỬ LÝ VI PHẠM RÀNG BUỘC TOÀN VẸN • Cơ chế mặc định 1 Tự động từ chối mọi hành vi vi phạm ràng buộc toàn vẹn • Cơ chế thay thế 2 Tự động cập nhật giá trị khóa ngoại khi giá trị khóa chính tương ứng bị thay đổi Mô hình thực thể kết hợp – • Cơ chế sử dụng giá trị null 3 Mọi giá trị vi phạm ràng buộc toàn vẹn được thiết lập giá trị là null Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] NỘI DUNG 1 • Mô hình thực thể kết hợp 2 • Mô hình dữ liệu quan hệ Mô hình thực thể kết hợp – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 18



