Xem mẫu

  1. NỘI DUNG MÔN HỌC • Chương 1: Giới thiệu chung về lý thuyết CSDL • Chương 2: Mô hình thực thể kết hợp • Chương 3: Mô hình quan hệ HỆ CƠ SỞ DỮ LIỆU • Chương 4: Chuyển từ mô hình thực thể kết hợp sang mô hình quan hệ • Chương 5: Ngôn ngữ truy vấn SQL GV: Nguyễn Việt Cường • Chương 6: Chuẩn hóa dữ liệu • Chương 7: Thiết kế vật lý cơ sở dữ liệu • Chương 8: Thủ tục lưu trữ và trigger • Chương 9: Bảo mật và quyền của người dùng • Tổng cộng: 45 LT+60TH TÀI LIỆU THAM KHẢO NỘI DUNG MÔN HỌC • [1]Concepts of Database management – Philip CHƯƠNG TÊN CHƯƠNG LÝ THUYẾT THỰC HÀNH J. Pratt & Joseph J. Adamski – Thomson , 5th Giới thiệu chung về lý edition 1 3 0 thuyết CSDL • [2] Database Systems: Design, Implementation 2 Mô hình thực thể kết hợp 3 0 & Management – Peter Rob & Carlos Coronel – 3 Mô hình quan hệ 6 0 Thomson, 6th edition Chuyển từ mô hình thực • [3] Programming Logic and Design – Joyce 4 thể kết hợp sang mô hình 3 0 Farrell – Thomson, 3rd Edition quan hệ 5 Ngôn ngữ truy vấn SQL 12 30 • [4] Giáo trình cơ sở dữ liệu - Trường ĐH Công 6 Chuẩn hóa dữ liệu 6 0 nghiệp TP HCM Thiết kế vật lý cơ sở dữ [5] Các bài thực hành môn cơ sở dữ liệu- 7 liệu 3 0 Trường ĐH Công nghiệp TP HCM 8 Thủ tục lưu trữ và trigger 6 24 • [6] Principles of database and knowledge base 9 Bảo mật và quyền của 3 6 systems - JEFFREY D. ULLMAN người dùng Tổng cộng: 45 60 Nội dung Chương 1  Các khái niệm cơ bản và định nghĩa  Hệ thống xử lý tập tin truyền thống  Cách tiếp cận cơ sở dữ liệu  Các thành phần của môi trường hệ Giới thiệu chung về lý thuyết quản trị cơ sở dữ liệu Cơ Sở Dữ Liệu (CSDL)  Các chức năng của hệ quản trị cơ sở dữ liệu  Kiến trúc cơ sở dữ liệu ba lược đồ 1
  2. 1. Các khái niệm cơ bản và định nghĩa 1. Các khái niệm cơ bản và định nghĩa  Dữ liệu và thông tin Dữ liệu Dữ liệu (data): 1 10273 Nguyễn Văn Hoà CDTH7 20 • Là một mô tả hình thức thích hợp về những sự 2 00298 Nguyễn Minh Tâm CDTH7 19 kiện(event), khái niệm (concept) hay chỉ thị để … giúp con người giao tiếp, diễn giải hay xử lý 151 50542 Hồ Xuân Phương TCTH33 18 hoặc thực hiện 1 cách tự động 152 50075 Lê Việt Dũng CNTH34 20 • Dữ liệu được mô tả bất kỳ dạng nào, chẳng hạn ký tự hay số gắn liền với ngữ nghĩa Thông tin: dữ liệu trong ngữ cảnh STT Mã sinh viên Họ và tên sinh viên Lớp Thông tin (Information): Tuổi • Là dữ liệu đã được qua xử lý nhằm đáp ứng 1 10273 Nguyễn Văn Hoà CDTH7 20 yêu cầu của người sử dụng trong những hoàn 2 00298 Nguyễn Minh Tâm CDTH7 19 cảnh cụ thể … • Dữ liệu trong ngữ cảnh 151 50542 Hồ Xuân Phương TCTH33 18 • Dữ liệu được tổng hợp / xử lý 152 50075 Lê Việt Dũng CNTH34 20 1. Các khái niệm cơ bản và định nghĩa 1. Các khái niệm cơ bản và định nghĩa  Siêu dữ liệu (metadata) Siêu dữ liệu là dữ liệu dùng để mô tả các tính chất / đặc tính của dữ liệu khác (dữ liệu về dữ liệu). Các đặc tính: định nghĩa dữ liệu, cấu trúc dữ liệu, qui tắc / ràng buộc. 2. Quá trình quản lý dữ liệu 2. Quá trình quản lý dữ liệu  Các thành phần của hệ thống xử lý tập tin 2.1 Hệ thống xử lý tập tin theo lối cũ  Phần cứng: các máy tính.  Phần mềm:  Hệ điều hành  Hệ thống xử lý tập tin(file processing system)  Các tiện ích Hệ thống xử lý tập tin là tập hợp các chương trình  Các tập tin dùng để lưu trữ, thao tác và truy xuất các tập tin  Các chương trình quản lý tập tin dữ liệu có kích thước lớn.  Các chương trình ứng dụng tạo các báo cáo từ các dữ liệu được lưu trữ trong các tập tin. Các tập tin dữ liệu được lưu trữ trong các thư mục  Con người: người quản lý, chuyên gia, người lập (folder). trình, người sử dụng cuối cùng.  Các thủ tục: các lệnh và các qui tắc chi phối việc thiết kế và sử dụng các thành phần của phần mềm.  Dữ liệu: tập hợp các sự kiện. 2
  3. 2. Quá trình quản lý dữ liệu Hệ thống xử lý tập tin theo lối cũ  Quản lý dữ liệu của hệ thống tập tin  Nhược điểm của hệ thống xử lý tập tin  Ngôn ngữ lập trình: 3GL (third-Generation  Phụ thuộc dữ liệu – chương trình (Program-Data Language). Dependence)  Làm gì? Làm như thế nào?  Tất cả các chương trình ứng dụng phải duy trì siêu  Các ngôn ngữ: dữ liệu (phần mô tả) của các tập tin mà chúng sử COBOL (COmmon Business-Oriented Language) dụng. BASIC (Beginner’s All-purpose Symbolic Instruction Code)  Dư thừa dữ liệu / Trùng lặp dữ liệu (Data FORTRAN (FORmula TRANslation) Redundancy / Duplication of Data)  Các chương trình xử lý tập tin  Các hệ thống / chương trình khác nhau có các bản  Tạo cấu trúc tập tin. dữ liệu riêng biệt của cùng dữ liệu.  Thêm dữ liệu vào tập tin.  Hạn chế việc dùng chung dữ liệu  Xóa dữ liệu của tập tin  Mỗi ứng dụng có các tập tin riêng biệt, ít sử dụng  Sửa dữ liệu của tập tin. chung dữ liệu với các ứng dụng khác.  Liệt kê dữ liệu của tập tin. Hệ thống xử lý tập tin theo lối cũ Phụ thuộc dữ liệu  Nhược điểm của hệ thống xử lý tập tin  Mỗi người lập trình phải duy trì dữ liệu riêng  Thời gian phát triển lâu biệt.  Người lập trình phải thiết kế các dạng tập tin dữ liệu  Mỗi chương trình ứng dụng phải có mã lệnh riêng và viết cách truy xuất tập tin cho mỗi ứng dụng mới. cho siêu dữ liệu của mỗi tập tin.  Chi phí bảo trì chương trình cao  Mỗi chương trình ứng dụng phải có các  Các nhược điểm nêu trên làm cho việc bảo trì chương trình con xử lý để đọc, thêm, sửa và chương trình gặp nhiều khó khăn, thường chiếm xóa dữ liệu. khoảng 80% ngân sách phát triển HTTT.  Không có các điều khiển chung và phối hợp.  Các dạng thức tập tin không có cùng chuẩn. Dư thừa dữ liệu Dư thừa dữ liệu Duplicate Data  Tốn vùng nhớ để lưu trữ dữ liệu dư thừa.  Gây ra các vấn đề khó về bảo trì dữ liệu.  Vấn đề chính:  Việc cập nhật dữ liệu của một tập tin có thể dẫn đến các mâu thuẫn dữ liệu.  Vi phạm tính toàn vẹn dữ liệu. 3
  4. 2. Quá trình quản lý dữ liệu 2. Quá trình quản lý dữ liệu 2.2 Cách tiếp cận cơ sở dữ liệu 2.2 Cách tiếp cận cơ sở dữ liệu 3.Các khái niệm về hệ quản trị cơ sở dữ liệu 3.Các khái niệm về hệ quản trị cơ sở dữ liệu  Cơ sở dữ liệu (CSDL)  Hệ quản trị CSDL Cơ sở dữ liệu là sự tập hợp có tổ chức các dữ liệu DBMS – DataBase Management System có liên quan luận lý với nhau được lưu trữ trong Hệ quản trị CSDL là tập hợp các chương trình, các tập tin phần mềm dùng để quản lý cấu trúc và dữ liệu Tập dữ liệu này sẽ được lưu trữ trên các của CSDL và điều khiển truy xuất dữ liệu trong thiết bị thông tin lưu trữ như băng từ, CSDL. đĩa…nhằm thỏa mãn yêu cầu khai thác Cho phép người sử dụng định nghĩa, tạo lập và thông tin đồng thời của nhiều người dùng bảo trì CSDL và cung cấp các truy xuất dữ liệu. hay nhiều chương trình ứng dụng với nhiều Cung cấp một giao diện giưã người sử dụng và mục đích sử dụng khác nhau. dữ liệu. Một hệ CSDL= CSDL+ hệ QTCSDL 3.1 Các cách nhìn khác nhau về dữ liệu 3.2 Mô hình dữ liệu, lược đồ và thể hiện Mô hình Dữ liệu View 1 View 2 ….. View n Mô hình Dữ liệu – Data Model: Tập hợp các khái niệm mô tả: Cấp độ trừu tượng Dữ liệu và mối kết hợp giữa dữ liệu Logical (or Conceptal) Level Ngữ nghĩa dữ liệu và ràng buộc dữ liệu Các thao tác trên Mô hình Dữ liệu: Các thao tác rút trích và cập nhật CSDL bằng Physical Level cách tham chiếu đến các khái niệm của Mô hình Dữ liệu Các mức độ trừu tượng trong một DBMS Sự trừu tượng đạt được thông qua mô tả mỗi mức dưới dạng một lược đồ bằng cách dùng một mô hình dữ liệu cụ thể 4
  5. 3.2 Mô hình dữ liệu, lược đồ và thể hiện 3.2 Mô hình dữ liệu, lược đồ và thể hiện Lược đồ và thể hiện: Các Mô hình Dữ liệu: Lược đồ CSDL-Database Schema: Mô tả Mô hình Quan hệ- Relational Model về CSDL. Bao gồm mô tả về cấu trúc CSDL Mô hình Mạng-Network Model và các ràng buộc trên CSDL đó Thể hiện CSDL-Database Instance: Dữ Mô hình Dữ liệu Phân cấp-Hierarchical liệu hiện thời được lưu trong một CSDL ở Data Model một thời điểm nào đó, hay còn gọi là trạng Mô hình Hướng đối tượng-Object-oriented thái CSDL- database state(hay thể hiện- Data Models occurrence) Mô hình Quan hệ Đối tượng-Object- Lược đồ CSDL rất ít khi thay đổi. Trạng Relational Models thái CSDL thay đổi mỗi khi CSDL được cập nhật 3.3 Các đặc điểm của Cách tiếp cận cơ sở dữ liệu 3.3 Các đặc điểm của Cách tiếp cận cơ sở dữ liệu Một kho chứa dữ liệu được định nghĩa 1 lần, được duy trì và truy xuất bởi nhiều Mô hình dữ liệu Dữ liệu. người dùng. Hỗ trợ nhiều cách nhìn về dữ liệu Bản chất tự mô tả của 1 hệ CSDL Chia sẽ dữ liệu và xử lý giao dịch nhiều  Một DBMS catalog lưu trữ mô tả về CSDL(mô người dùng tả này gọi là meta-data).  CSDL+ mô tả về cấu trúc và ràng buộc của CSDL Phần mềm DBMS làm việc với nhiều ứng dụng CSDL Sự tách biệt giữa chương trình và dữ liệu, sự trừu tượng của dữ liệu 3.5 Sự cần thiết của CSDL 3.4 Các đối tượng dùng Cơ sở dữ liệu Dữ liệu tạo thành một tài sản của tổ chức:  Những người lập trình: Những người này phải hiểu Điều khiển tích hợp rõ cấu trúc CSDL, cách lưu trữ dữ liệu. Giảm tối thiểu sự dư thừa dữ liệu (data  Những người sử dụng không chuyên: Chỉ cần biết redundancy). nội dung CSDL và cách truy xuất Nâng cao tính nhất quán (data consistency) /  Những người quản trị CSDL: Đối tượng này xuất toàn vẹn dữ liệu (data integrity). hiện do tính chất quá phức tạp của hệ quản trị Nâng cao việc dùng chung dữ liệu (data CSDL, không phải ai cũng có toàn quyền đối với sharing). CSDL. Những người thuộc đối tượng này có nhiệm  Những người sử dụng khác nhau có những cái nhìn vụ cài đặt cấu trúc CSDL vào hệ quản trị CSDL, khác nhau về dữ liệu. nhập dữ liệu ban đầu, giải quyết các biến cố xảy ra, backup , restore dữ liệu, sửa đối cấu trúc CSDL theo yêu cầu của người thiết kế, nắm các quyền ưu tiên, lập cơ chế bảo mật của hệ thống CSDL. 5
  6. 3.5 Sự cần thiết của CSDL 3.6 Các chức năng của hệ quản trị CSDL Nâng cao an toàn dữ liệu  Các chức năng của hệ quản trị CSDL Tăng hiệu suất phát triển ứng dụng Lưu trữ, truy xuất và cập nhật dữ liệu  Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition  Độc lập dữ liệu – chương trình (data - program Language) independence).  Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation  DBMS chứa siêu dữ liệu (metadata), do đó các ứng Language). dụng không cần quan tâm đến các dạng thức của Quản lý giao tác (transaction management). dữ liệu. Điều khiển tương tranh (concurrency control)  DBMS quản lý các truy vấn và cập nhật dữ liệu, do Chép lưu(backup) và phục hồi dữ đó ứng dụng không cần xử lý việc truy xuất dữ liệu. liệu(rescovery). Bảo mật dữ liệu(security)  Ngôn ngữ điều khiển dữ liệu (DCL - Data Control Language). Hỗ trợ truyền thông dữ liệu. Duy trì tính toàn vẹn / nhất quán dữ liệu. Cung cấp các tiện ích. 4. Nội dung và kiến trúc của DBMS 4. Nội dung và kiến trúc của DBMS  Các yêu cầu của 1 DBMS  Các yêu cầu của 1 DBMS Khả năng đáp ứng cao Chu kỳ sống lâu Độ tin cậy cao An toàn Lưu lượng cao Xác thực (authentication), chứng thực Thời gian phản hồi thấp (authorization), mã hóa (encryption) 4. Nội dung và kiến trúc của DBMS 4. Nội dung và kiến trúc của DBMS  Phân loại DBMS:  Các thành phần của DBMS: Dựa trên mô hình dữ liệu được dùng: Ngôn ngữ định nghĩa dữ liệu: Tạo cấu trúc của bảng SinhVien Truyền thống: Quan hệ, mạng, phân cấp CREATE TABLE SinhVien Đang thịnh hành: hướng đối tượng, Quan hệ (MaSV NUMBER(7,0) NOT NULL, Đối tượng HoTen VARCHAR(25) NOT NULL, Các sự phân loại khác: DiaChi VARCHAR(30), Người sử dụng đơn(single-user), đa người NoiSinh VARCHAR(20), dùng(multi user) CONSTRAINT PK_SinhVien PRIMARY KEY (MaSV)); Tập trung và phân tán Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các sinh viên thuộc thành phố ‘HCM’ Chi phí phần mềm DBMS SELECT MaSV, HoTen, DiaChi …… FROM SinhVien WHERE NoiSinh = ‘HCM’; Ngôn ngữ điều khiển dữ liệu: Cho phép người sử dụng A và B được phép xem và thêm dữ liệu vào bảng SinhVien GRANT SELECT, INSERT ON SinhVien TO A,B; 6
  7. 1. Quá trình thiết kế Cơ sở dữ liệu Chương 2 Thu thập và phân tích các yêu cầu Thiết kế mức quan niệm Ánh xạ thiết kế logic/mô hình dữ liệu Mô hình thực thể kết hợp Thiết kế mức vật lý (Mô hình liên kết thực thể) Thế giới thực Thu thập và phân tích 2. Mô hình thực thể kết hợp yêu cầu Các yêu cầu chức năng Các yêu cầu của CSDL Phân tích chức năng Phân tích quan niệm • Hiện nay mô hình dữ liệu quan hệ thường được dùng trong các hệ quản trị CSDL, tuy Các đặc tả giao tác Lược đồ quan niệm cấp cao (trong một mô hình dữ liệu cấp cao) nhiên mô hình này không được trực quan. Thiết kế logic • Để thuận lợi trong việc thiết kế mô hình dữ liệu Phụ thuộc DBMS cụ thể Lược đồ quan niệm quan hệ, người ta thường dùng một mô hình (trong mô hình dữ liệu của một DBMS cụ thể) Thiết kế ctr. ứng dụng trung gian đó là mô hình thực thể kết hợp. Thiết kế mức vật lý Thực hiện giao tác Lược đồ trong Các chương trình ứng dụng 2. Mô hình thực thể kết hợp Vấn đề khi thiết kế CSDL? • Hiện nay mô hình thực thế kết hợp được coi là • Các thực thể và mối kết hợp nào cần quan mô hình chuẩn để thiết kế hệ thống thông tin. tâm? • Moâ hình ER ñoâi khi coøn ñöôïc goïi laø moâ hình yù • Thông tin nào về thực thể và mối quan hệ nieäm döõ lieäu (Conceptual Data Model) hay ñôn giữa các thực thể cần được lưu trữ trong giaûn laø moâ hình döõ lieäu (data model) CSDL? • Các ràng buộc nào cần được bảo đảm đối với thực thể và mối kết hợp? 7
  8. 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Thực thể(entity, instance, entity instance, entity Thực thể(entity, instance, entity instance, entity occurence): occurence): Là một đối tượng hay sự vật của thế giới thực tồn  Thực thể nên là tại cụ thể hay tồn tại quan niệm mà có thể phân biệt  đối tượng có nhiều thể hiện trong CSDL.  đối tượng có nhiều thuộc tính. được với các đối tượng khác  đối tượng cần được mô hình hóa. Ví dụ : Thực thể SINHVIEN Nguyễn Thị Lan Anh,  Thực thể không nên là LOP TCTH36D,….  người sử dụng của hệ CSDL.  kết xuất của hệ CSDL (ví dụ bản báo cáo).  Đặc điểm của thực thể là tính phân biệt (distinctness): có thể phân biệt giữa thực thể này với thực thể khác. 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Thuộc tính (Attributes): Các loại thuộc tính: Là các đặc tính riêng dùng để mô tả 1 thực thể Ví dụ : Thực thể SINHVIEN có các thuộc tính  Thuộc tính đơn và thuộc tính phức hợp MASV,TENSV, DCHI, PHAI, NGAYSINH Thuộc tính đơn (simple attribute) là thuộc tính Ví dụ : Thực thể sinh viên cụ thể có các thuộc tính: không bị phân rã thành nhiều thuộc tính khác. • MASV=‘06028071’ Thuộc tính phức hợp (composite attribute) là • TENSV=‘Nguyen Thi Lan Anh’, thuộc tính bị phân rã thành nhiều thuộc tính • DCHI=‘580 CMT8, TP HCM’ khác. • PHAI=‘Nu’ • NGAYSINH=’05/06/1991’, 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Các loại thuộc tính: Các loại thuộc tính:  Thuộc tính đơn trị và thuộc tính đa trị Thuộc tính đơn trị (single-valued attribute) là thuộc tính chỉ chứa một giá trị. Thuoäc tính ñôn Thuộc tính đa trị (multivalued attribute) là thuộc tính chứa nhiều giá trị khác nhau thuộc một miền trị, được biểu diễn bằng hình bầu dục nét đôi. Thuoäc tính phức hôïp 8
  9. 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Các loại thuộc tính: Các loại thuộc tính:  Thuộc tính chứa và thuộc tính dẫn xuất  Giá trị của tập thuộc tính Thuộc tính chứa (stored attribute) là thuộc tính Còn được gọi là “Miền giá trị” của thuộc tính mà giá trị của nó không được suy dẫn từ các Tập các giá trị có thể được gán cho thuộc tính thuộc tính khác. đó đối với mỗi loại thực thể riêng Thuộc tính dẫn xuất (derived attribute) là thuộc Không được thể hiện trên giản đồ ER tính mà giá trị của nó được suy dẫn từ các thuộc tính khác, được biểu diễn bằng hình bầu dục nét đứt. 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Các loại thuộc tính: Loại thöïc theå (entity type, regular entity type,entity class, generic entity) : Thuộc tính đơn trị Là tập hợp các thực thể thuộc cùng một loại (thường tương ứng với một bảng). Loại Thực thể thường được biểu diễn bởi một hình chữ nhật, và tên của thực thể được đặt trong hình chữ nhật Thuộc tính dẫn xuất Thuộc tính đa trị Thuộc tính chứa Tên của các loại thực thể (trong một hệ thống) phải khác nhau trong một mô hình thực thể kết hợp 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể, Tập Giá trị Tập Giá trị Tập thöïc theå (entity set): NHANVIEN CONGTY ENTITY TYPE: (Ten, Tuoi, Luong) (Ten, Diachi, Giamdoc) Là tập hợp các thực thể thuộc cùng một loại nào đó ở một thời điểm bất kỳ N1: Tran A, 24, 2Tr C1: ABC, HCMC, Nguyen B ENTITY SET: N2: Nguyen B, 34, 3Tr C2: MNO, HNC, Tran A (Extension) N3: Le C, 56, 4Tr … … 9
  10. 2.2 Khóa của loại Thực thể 2.2 Khóa của loại Thực thể  Khóa / thuộc tính xác định key / identifier  Khóa đơn và khóa phức hợp Khóa là một thuộc tính hoặc tổ hợp các thuộc Khóa đơn (simple key) là khóa chỉ có một thuộc tính dùng để xác định duy nhất một thể hiện của tính. một kiểu thực thể. Khóa phức hợp (composite key) là khóa có nhiều hơn một thuộc tính.  Thuộc tính khóa và thuộc tính không khóa Thuộc tính khóa là thuộc tính ở trong khóa.  Khóa dự tuyển  key attribute / prime attribute / identifier attribute candidate key  Thuộc tính khóa được gạch dưới. Khóa dự tuyển là khóa của một kiểu thực thể. Thuộc tính không khóa (non-key attribute) là Một kiểu thực thể có ít nhất một khóa dự tuyển. thuộc tính không ở trong khóa.  Thuộc tính không khóa còn được gọi là thuộc tính mô tả (descriptor). 2.2 Khóa của loại Thực thể 2.2 Khóa của loại Thực thể  Khóa chính primary key Khóa chính là một khóa tiêu biểu trong các khóa dự tuyển của một kiểu thực thể. primary key Khóa đơn Khóa chính dùng để liên kết giữa các thực thể. Thuộc tính không khóa Khóa phức hợp 2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp Loại mối kết hợp và tập mối kết hợp có cùng tên Mối kết hợp (relationship): liên hệ với hai hay Có nhiều hơn một loại mối kết hợp có thể có nhiều thực thể khác nhau mang một ý nghĩa nào trong cùng loại thực thể đó Ví dụ: QUANLY và PHANCONG là các mối kết Tập mối kết hợp (relationship set): những mối hợp khác nhau giữa NHANVIEN và kết hợp có cùng loại kết hợp PHONGBAN Loại mối kết hợp (relationship type): các thực thể được nhóm lại hay phân loại thành một loại mối kết hợp 10
  11. 2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp (0,N) 1 (1,1) (1,N) Lamviec Theo mô hình cuả  Bậc / ngôi của mối liên kết (degree / arity of N 1 Peter Chen relationship) Giamsat Nhanvien Phongban Bậc của mối liên kết là số lượng kiểu thực thể tham gia đồng thời vào mối liên kết này. 1 1 N Quanly  Các loại mối liên kết (1,1) (0,1) (1,1) Mối liên kết 1-ngôi (unary relationship) Bi_giamsat Duoc_lamviec Lamviec Theo mô hình cuả Mối liên kết 2-ngôi (binary relationship) Crow’s Foot Mối liên kết 3-ngôi (ternary relationship): 3 kiểu thực thể đồng thời tham gia vào mối liên kết. Nhanvien Phongban …. Mối liên kết n-ngôi(n-ary):…………. Giamsat Duoc_quanly Quanly 2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp  Bậc / ngôi của mối liên kết (degree / arity of  Bậc / ngôi của mối liên kết (degree / arity of relationship) relationship):Relationship Degree 1 1 M N EMPLOYEE PROFESSOR CONTRIBUTOR CFR RECIPIENT 1 teaches P Entities of two different M FUND types related to each other is married CLASS One entity related to another of the same Terary Entities of three different entity type Unary types related to each Binary other or recursive relationship Theo mô hình của Peter Chen 2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp  Thuộc tính của mối kết hợp (Relationship  Thuộc tính của mối kết hợp (Relationship Attributes) Thoigian Attributes) Một loại mối kết hợp có thể có các thuộc (1,N) (1,M) Nhanvien Phancong Phongban tính để mô tả tính chất của một mối kết hợp Các thuộc tính này không thể gắn với các Thoigian thực thể tham gia, i.e., nó chỉ có ý nghĩa trong ngữ cảnh của một mối kết hợp Nhanvien Phancong Phongban Mối kết hợp không có thuộc tính khóa (1,N) (1,1) (1,M) chính. Việc xác định một mối kết hợp nào (1,1) Composite entity đó trong một tập các mối kết hợp thông qua Hoặc bridge entity các khóa của các thực thể tham gia Hoặc assocciative entity Hoặc intersection entity 11
  12. 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  Loại mối kết hợp luôn có một số ràng buộc về  Lượng số của mối liên kết (cardinality of cấu trúc nhằm giới hạn khả năng có thể kết relationship) hợp của các thực thể tham gia trong một tập Lượng số của mối liên kết là số lượng thể hiện hợp mối kết hợp tương ứng thực thể tham gia vào mối liên kết này. Xuất phát từ các ràng buộc của thế giới thực  Có 2 loại ràng buộc mối kết hợp chính: • cardinality ratio constraint • participation constraint 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  Các loại lượng số  Many-to-Many, N:M Many-to-Many,N:M (mặc định) Many-to-One, N:1 N M One-to-Many, 1:N NHANVIEN LAMVIEC PHONGBAN One-to-One, 1:1 Ý nghĩa: Một nhân viên có thể làm việc ở nhiều phòng ban (≥0) và một phòng ban có thể có nhiều nhân viên (N, M là bất kỳ) 1-to-1 1-to Many Many-to-1 Many-to-Many 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  Many-to-One, N:1  One-to-Many, 1:N N 1 NHANVIEN LAMVIEC PHONGBAN 1 N NHANVIEN LAMVIEC PHONGBAN Ý nghĩa: Ý nghĩa: Một nhân viên có thể làm việc ở nhiều nhất là Một nhân viên có thể làm việc ở nhiều phòng một phòng ban (≤1) và một phòng ban có ban (≥0) và một phòng ban chỉ có nhiều thể có nhiều nhân viên (N là bất kỳ) nhất một nhân viên (N là bất kỳ) 12
  13. 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  One-to-One, 1:1  Participation Constraint (Ràng buộc về sự tham gia) Cho biết sự tồn tại của một thực thể e  E 1 1 có phụ thuộc vào một thực thể khác thông NHANVIEN LAMVIEC PHONGBAN qua loại kết hợp R hay không Có hai loại: • Toàn phần (total) – phụ thuộc tồn tại: mỗi thực Ý nghĩa: thể e  E phải tham gia vào một mối kết hợp, nó không thể tồn tại mà không tham gia Một nhân viên có thể làm việc ở nhiều nhất là • Từng phần (partial): một thực thể e  E trong một phòng ban (≤1) và một phòng ban chỉ toàn bộ tập thực thể có tham gia vào một mối có nhiều nhất một nhân viên kết hợp 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  Toàn phần (total) – phụ thuộc tồn tại:  Riêng phần (partial): một số thực thể e mỗi thực thể e  E phải tham gia vào  E trong toàn bộ tập thực thể có tham một mối kết hợp gia vào một mối kết hợp  Ví dụ:  Ví dụ: N 1 (0,1) (1,1) NHANVIEN LAMVIEC PHONGBAN NHANVIEN QUANLY PHONGBAN Ý nghĩa: Ý nghĩa: Mọi nhân viên bắt buộc phải làm việc ở một Trong mối kết hợp QUANLY, không phải mọi phòng ban nào đó nhân viên đều quản lý phòng ban, ta nói, sự tham gia của NHANVIEN trong loại mối kết hợp QUANLY là riêng phần 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp  Ký hiệu (min,max) cho các ràng buộc  Ký hiệu (min,max) cho các ràng buộc cấu trúc trên mối kết hợp cấu trúc trên mối kết hợp Chỉ định mỗi thực thể e  E tham gian ít Min=0 là tùy chọn (optional) nhất min và nhiều nhất max thể hiện quan Nếu Min=1 hoặc nhiều là bắt buộc hệ trong R (mandatory). (min1, max1) (min2, max2) (min1, max1) (min2, max2) E1 R E2 E1 R E2 Ý nghĩa: Mỗi thực thể e1  E phải tham gia trong tập mối kết hợp R ít nhất min1 và nhiều nhất max1 lần (tương tự cho e2  E ) 13
  14. 2.4 Các ràng buộc trên loại mối kết hợp 2.5 Loại thực thể yếu (weak entity type) (0,N) 1 (1,1) (1,N) Loại thực thể không có thuộc tính khóa Lamviec Theo mô hình cuả Phải tham gia trong một loại mối kết hợp xác định N 1 Peter Chen (identifying relationship type) trong đó có một loại Giamsat Nhanvien Phongban thực thể chủ hay lọai thực thể xác định (owner entity type) 1 1 Các thực thể được xác định bằng sự kết hợp của: Quanly (1,1) N (1,1) •Khóa riêng phần (partial key) của loại thực thể (0,1) yếu Bi_giamsat Duoc_lamviec Lamviec Theo mô hình cuả •Loại thực thể mà chúng có quan hệ với trong Crow’s Foot loại thực thể xác định Lọai thực thể yếu luôn có ràng buộc tham gia toàn Nhanvien Phongban phần(phụ thuộc tồn tại) trong mối kết hợp xác định tương ứng, bởi vì thực thể yếu không thể xác định mà không có thực thể chủ tương ứng Giamsat Duoc_quanly Quanly 3. Thiết kế quan niệm ER: 3.1 Các bước thiết kế ER ►Có thể định nghĩa thực thể và mối kết hợp theo 1. Xác định các loại thực thể (loại thực thể hay các cách khác nhau với cùng một mô hình! thuộc tính) ►Thiết kế giản đồ là một việc lặp đi lặp lại và có 2. Xác định loại mối kết hợp thể cần có sự tinh chế 3. Xác định và gắn thuộc tính với loại thực thể và •Các thuộc tính của loại mối kết hợp 1:1 có thể được loại mối kết hợp ghép vào một trong các thực thể tham gia 4. Quyết định miền giá trị của thuộc tính •Các thuộc tính của loại mối kết hợp 1:N (or N:1) có thể 5. Quyết định các thuộc tính khóa cho loại thực thể được ghép vào loại thực thể của nhánh N 6. Gắn (tinh chế) cardinality ratio(s) vào loại mối kết •Các thuộc tính của loại mối kết hợp N:M không thể hợp được ghép chung 7. Thiết kế phân cấp chuyên biệt hóa/tổng quát hóa (specialization/generalization) trong các ràng buộc 3.2 Chuyển đổi lược đồ ER thành Bảng (table) Các ký hiệu của mô hình ER ► Một lược đồ ER có thể được thể hiện dưới dạng tập hợp các bảng thể hiện nội dung của CSDL (instance) … ► Các khóa chính cho phép các loại thực thể và loại mối kết Entity Type hợp được diễn đạt dưới dạng bảng Composite Attribute ► Đối với mỗi loại thực thể và loại mối kết hợp, một bảng Weak Entity Type duy nhất có thể được phát sinh được gán cho một tên Derived Attribute tương ứng với tên của loại thực thể hay loại mối kết hợp Relationship Type ► Mỗi bảng có một số cột tương ứng với các thuộc tính E1 R E2 Identifying Relationship Type (atomic) và có một tên duy nhất. Một thuộc tính của một Total Participation of E2 in R bảng có thể có cùng miền giá trị với thuộc tính trong lược Attribute đồ ER E1 R E2 ► Việc chuyển đổi một lược đồ ER thành một tập hợp các Cardinality Ratio 1:N for E1:E2in R Key Attribute (min, max) bảng là cơ bản để phát sinh một lược đồ quan hệ từ một R E giản đồ ER Multivalued Attribute Structural Constraint (min, max) on Participation of E in R 14
  15. 4. Ví dụ về Cơ sở dữ liệu quản lý điểm của Với bài toán trên thì cần quản lý các đối tượng sinh viên như: SINH VIÊN, MÔN HỌC, KHOA, LỚP. Ví dụ: Bài toán quản lý điểm của sinh viên được phát biểu đơn giản như sau: "Trường có nhiều khoa, mỗi khoa có một mã khóa duy • Mối kết hợp nhất, mỗi mã khoa xác định tên khoa, số điện thoại khoa. Một khoa có nhiều lớp, mỗi lớp có một mã lớp duy • Mối kết hợp "thuộc" sau biểu diễn mối liên nhất, mỗi mã lớp xác định tên lớp. Mỗi sinh viên có một hệ giữa hai thực thể LỚP và KHOA. mã số sinh viên duy nhất, mỗi mã số sinh viên xác định họ tên, ngày sinh, địa chỉ, lớp mà sinh viên đó theo học, giới tính của sinh viên đó, … Mỗi sinh viên có thể đăng ký học nhiều môn và với mỗi môn học thì chỉ có một kết LỚP thuộc KHOA quả nhất định. Mỗi môn học có một mã môn học nhất định, mỗi mã môn học xác định tên môn học, số tiết của môn học đó". • Bản số của mối kết hợp (1,1) (1,n) LỚP thuộc KHOA MASV- (1,n) (0,n) -MAMH NU- HOTEN- SINH VIEÂN MOÂN HOÏC -TENMH NGAYSINH ketqua -SOTIET HOCBONG TINH- (1,1) DIEMTHI thuộc (1,n) MALOP- -MAKHOA (1,1) (1,n) -TENKHOA TENLOP- LÔÙP KHOA -SOCBGD thuộc QUAÛN LYÙ LAO ÑOÄNG Ñeå quaûn lyù vieäc phaân coâng caùc nhaân vieân tham gia vaøo xaây döïng caùc coâng trình. Coâ ng ty xaây döïng ABC toå chöùc quaûn lyù nhö sau: Cuøng luùc coâng ty coù theå tham gia xaây döïng nhieàu coâ ng trình, moãi coâng trình coù moät maõ soá coâ ng trình duy nhaát (MACT), moãi maõ soá coâng trình xaùc ñònh caùc thoâng tin nhö: Teâ n goïi coâng trình (TENCT), ñòa ñieåm(ÑIAÑIEM), ngaø y coâng trình ñöôïc caáp giaáy pheùp xaâ y döï ng (NGAYCAPGP), ngaøy khôûi coâ ng (NGAYKC), ngaøy hoaøn thaø nh (NGAYHT) Moãi nhaân vieân cuûa coâ ng ty ABC coù moät maõ soá nhaân vieâ n(MANV) duy nhaát, moät maõ soá nhaân vieâ n xaùc ñònh caùc thoâng tin nhö: Hoï teâ n (HOTEN), ngaøy sinh(NGAYSINH), phaùi (PHAI), ñòa chæ (ÑIACHI),phoø ng ban, … Coâng ty phaâ n coâng caùc nhaân vieân tham gia vaøo caùc coâng trình, moãi coâng trình coù theå ñöôïc phaân cho nhieàu nhaân vieâ n vaø moãi nhaâ n vieân cuøng luùc cuõng coù theå tham gia vaøo nhieà u coâng trình. Vôùi moãi coâ ng trình moät nhaân vieân coù moät soá löôïng ngaøy coâng (SLNGAYCONG) ñaõ tham gia vaø o coâng trình ñoù . Coâng ty coù nhieàu phoøng ban(Phoø ng keá toaù n, phoø ng kinh doanh, phoøng kyõ thuaät, phoø ng toå chöùc, phoø ng chuyeâ n moâ n, Phoøng phuïc vuï ,…). Moãi phoø ng ban coù moät maõ soá phoø ng ban(MAPB) duy nhaát, moät phoøng ban öùng vôùi moät teâ n phoøng ban(TENPB) 15
  16. QUAÛN LYÙ THÖ VIEÄN Moâ hình ER maDG soPM laø chuû theå Moät thö vieän toå chöùc vieäc cho möôïn saùch nhö sau: hoTen ÑOÄC GIAÛ PHIEÁU ngayMuon ngaySinh thuoäc veà MÖÔÏN Moãi quyeån saùch ñöôïc ñaùnh moät maõ saùch (MASH) duøng ñeå phaân bieät diaChi vôùi caùc quyeån saùch khaùc (giaû söû neáu moät taùc phaåm coù nhieàu baûn ngheNghiep thuoäc veà gioáng nhau hoaëc coù nhieàu taäp thì cuõng xem laø coù maõ saùch khaùc nhau), moãi maõ saùch xaùc ñònh caùc thoâng tin khaùc nhö : teân saùch (TENSACH), teân taùc giaû (TACGIA), nhaø xuaát baûn (NHAXB), naêm xuaát baûn (NAMXB). chöùa soPM Moãi ñoïc giaû ñöôïc thö vieân caáp cho moät theû thö vieän, trong ñoù coù ghi maDauSach ñöôïc keâ bôûi CHI TIEÁT maDauSach ban roõ maõ ñoïc giaû (MAÑG), cuøng vôùi caùc thoâng tin khaùc nhö : hoï teân tap ÑAÀU SAÙCH MÖÔÏN ngayTra keâ (HOTEN), ngaøy sinh (NGAYSINH), ñòa chæ (ÑIACHI), ngheà nghieäp(NGHENGHIEP). laø töïa cuûa Cöù moãi löôït möôïn saùch, ñoïc giaû phaûi ñaêng kyù caùc quyeån saùch caàn Löôïc ñoà CSDL möôïn vaøo moät phieáu möôïn, moãi phieáu möôïn coù moät soá phieáu möôïn coù DOCGIA(maDG,hoTen,ngaySinh,diaChi,ngheNghiep) (SOPM) khaùc nhau, moãi phieáu möôïn xaùc ñònh caùc thoâng tin nhö: maSH PHIEUMUON(soPM,ngayMuon,maDG) ngaøy möôïn saùch (NGAYMUON), maõ ñoïc giaû. Caùc caùc quyeån saùch tenSach TÖÏA SAÙCH CHITIETMUON(soPM,maDauSach,ngayTra,maDauSach) trong cuøng moät phieáu möôïn khoâng nhaát thieát phaûi traû trong moät laàn. tacGia nhaXB DAUSACH(maDauSach,ban,tap,maSH) TUASACH(maSH,tenSach,tacGia,nhaXB,namXB) namXB Moâ hình ER vaø löôïc ñoà CSDL QUAÛN LYÙ BAÙN HAØNG Moãi khaùch haøng coù moät maõ khaùch haøng (MAKH) duy nhaát, moãi MAKH xaùc ñònh ñöôïc caùc thoâng tin veà khaùch haøng nhö : hoï teân khaùch haøng (HOTEN), ñòa chæ (ÑIACHI), soá ñieän thoaïi (ÑIENTHOAI). Caùc maët haøng ñöôïc phaân loaïi theo töøng nhoùm haøng, moãi nhoùm haøng coù moät maõ nhoùm (MANHOM) duy nhaát, moãi maõ nhoùm haøng xaùc ñònh teân nhoùm haøng (TENNHOM), taát nhieân moät nhoùm haøng coù theå coù nhieàu maët haøng. Moãi maët haøng ñöôïc ñaùnh moät maõ soá (MAHANG) duy nhaát, moãi maõ soá naøy xaùc ñònh caùc thoâng tin veà maët haøng ñoù nhö : teân haøng (TENHANG), ñôn giaù baùn (ÑONGIA), ñôn vò tính (ÑVT). Moãi hoùa ñôn baùn haøng coù moät soá hoùa ñôn (SOHÑ) duy nhaát, moãi hoùa ñôn xaùc ñònh ñöôïc khaùch haøng vaø ngaøy laäp hoùa ñôn (NGAYLAPHÑ), ngaøy baùn haøng (NGAYBAN). Vôùi moãi maët haøng trong moät hoùa ñôn cho bieát soá löôïng baùn (SLBAN) cuûa maët haøng ñoù. QUAÛN LYÙ DAÏY HOÏC Ñeå quaûn lyù lòch daïy cuûa caùc giaùo vieân vaø lòch hoïc cuûa caùc lôùp, moät tröôøng toå chöùc nhö sau: Moãi giaùo vieân coù moät maõ soá giaùo vieân (MAGV) duy nhaát, moãi MAGV xaùc ñònh caùc thoâng tin nhö: hoï vaø teân giaùo vieân (HOTEN), soá ñieän thoaïi (DTGV). Moãi giaùo vieân coù theå daïy nhieàu moân cho nhieàu khoa nhöng chæ thuoäc söï quaûn lyù haønh chaùnh cuûa moät khoa naøo ñoù. Moãi moân hoïc coù moät maõ soá moân hoïc (MAMH) duy nhaát, moãi moân hoïc xaùc ñònh teân moân hoïc(TENMH). Öùng vôùi moãi lôùp thì moãi moân hoïc chæ ñöôïc phaân cho moät giaùo vieân. Moãi phoøng hoïc coù moät soá phoøng hoïc (PHONG) duy nhaát, moãi phoøng coù moät chöùc naêng (CHUCNANG); chaúng haïn nhö phoøng lyù thuyeát, phoøng thöïc haønh maùy tính, phoøng nghe nhìn, xöôûng thöïc taäp cô khí,… Moãi khoa coù moät maõ khoa (MAKHOA) duy nhaát, moãi khoa xaùc ñònh caùc thoâng tin nhö: teân khoa (TENKHOA), ñieän thoaïi khoa(DTKHOA). Moãi lôùp coù moät maõ lôùp (MALOP) duy nhaát, moãi lôùp coù moät teân lôùp (TENLOP), só soá lôùp (SISO). Moãi lôùp coù theå hoïc nhieàu moân cuûa nhieàu khoa nhöng chæ thuoäc söï quaûn lyù haønh chính cuûa moät khoa naøo ñoù. Haøng tuaàn, moãi giaùo vieân phaûi laäp lòch baùo giaûng cho bieát giaùo vieân ñoù seõ daïy nhöõng lôùp naøo, ngaøy naøo (NGAYDAY), moân gì?, taïi phoøng naøo, töø tieát naøo (TUTIET) ñeán tieát naøo (ÑENTIET),töïa ñeà baøi daïy (BAIDAY), nhöõng ghi chuù (GHICHU) veà caùc tieát daïy naøy, ñaây laø giôø daïy lyù thuyeát (LYTHUYET) hay thöïc haønh - giaû söû neáu LYTHUYET=1 thì ñoù laø giôø daïy thöïc haønh vaø neáu LYTHUYET=2 thì ñoù laø giôø lyù thuyeát, moät ngaøy coù 16 tieát, saùng töø tieát 1 ñeán tieát 6, chieàu töø tieát 7 ñeán tieát 12, toái töø tieát 13 ñeán 16. 16
  17. Moâ hình quan heä (Relational Model) Chương 3 Moâ hình Cô sôû döõ lieäu Quan heä (goïi taét laø Moâ hình Quan heä) do E.F Codd ñeà xuaát naêm 1970. Moâ hình naøy bao goàm: – caùc khaùi nieäm lieân quan ñeán caáu truùc döõ lieäu döôùi Mô hình quan hệ daïng doøng vaø coät nhö quan heä, boä, thuoäc tính, khoùa chính, khoaù ngoaïi, ... – pheùp toaùn taäp hôïp vaø pheùp toaùn quan heä. – raøng buoäc toaøn veïn quan heä. Caùc HQTCSDLQH ñöôïc xaây döïng döïa theo lyù thuyeát moâ hình quan heä MOÂ HÌNH QUAN HEÄ MOÂ HÌNH QUAN HEÄ MASV MAMH MAKHOA DIEMTHI MASV HOSV TENSV MA HOSV TEN MONHOC TEN DIEM SV SV KHOA THI 99001 CSDL CNTT 3.0 99001 TRAN DAN THU 99001 TRAN DAN THU CO SO DU LIEU CNTT 3.0 99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO 99002 NGUYEN HA DA THAO CO SO DU LIEU CNTT 8.0 99001 THVP CNTT 6.0 99005 LE THANH TRUNG 99005 THVP AV 5.0 99001 TRAN DAN THU TIN HOC VAN P. CNTT 6.0 99005 LE THANH TRUNG TIN HOC VAN P. ANH VAN 5.0 MAKHOA TENKHOA CNTT CONG NGHE THONG TIN AV ANH VAN Baøi toaùn quaûn lyù ñieåm thi ñöôïc löu tröõ khoâng ñuùng MAMH TENMH SOTIET vôùi moâ hình quan heä seõ gaây ra dö thöøa döõ lieäu. Dö CSDL CO SO DU LIEU 90 thöøa döõ lieäu daãn ñeán caäp nhaät dò thöôøng THVP TIN HOC VAN PHONG 90 LÖÔÏC ÑOÀ QUAN HEÄ (Relation schema) THUOÄC TÍNH (Attribute, arity) – Laø taäp taát caû caùc thuoäc tính cuûa moät ñoái töôïng, – Thoâng tin chi tieát söï vaät, söï vieäc hay ñoái töôïng söï vaät hay söï vieäc – Thuoäc tính cuûa söï vaät ñöôïc phaân bieät qua teân – Löôïc ñoà quan heä Q vôùi taäp thuoäc tính vaø khoâng ñöôïc coù hai thuoäc tính cuøng teân A1,A2,...An ñöôïc vieát laø Q(A1,A2,... An) – Thuoäc tính phaûi thuoäc moät kieåu döõ lieäu nhaát – Moãi löôïc ñoà quan heä luoân keøm moät taân töø ñeå ñònh nhö soá, chuoãi, ngaøy ... dieãn taû yù nghóa cuûa noù. Chaúng haïn LÑQH Kh(MAKHOA,TENKHOA,SOCBGD) coù taân töø: Moãi khoa coù maõ khoa ñeå phaân bieät khoa naøy vôùi khoa kia, teân khoa vaø soá giaûng vieân cuûa khoa 17
  18. QUAN HEÄ (relation) là một bảng dữ liệu hai chiều bao QUAN HEÄ (Relation, instances of relation) gồm nhiều hàng (mẩu tin-record) và nhiều cột (thuộc tính hoặc vùng tin(field)). – Söï theå hieän cuûa löôïc ñoà quan heä Q ôû moät thôøi ñieåm naøo ñoù ñöôïc goïi laø quan heä.  Mỗi hàng là duy nhất: không thể có hai hàng có cùng các giá trị ở tất cả vùng tin. – Löôïc ñoà quan heä Q coù quan heä r.  Ngầm định là khóa chính luôn tồn tại – Ví duï quan heä khoa  Giá trị trong một bộ: rKh Tất cả các giá trị được xem là atomic (không thể MAKHOA TENKHOA SOCBGD phân chia được nữa). CNTT CONG NGHE THONG TIN 60  Thứ tự của các hàng là không quan trọng. AV ANH VAN 60 Một bảng chỉ là một đại diện của một quan hệ HOA HOA CHAT 20 Tuy nhiên, lưu trữ vật lý của một quan hệ phải có MAÙY TÍNH MOI TRUONG 10 thứ tự.  Thứ tự của các cột là không quan trọng.  Không phải mọi bảng đều là quan hệ. Quan hệ là một bảng không chứa các hàng giống hệt nhau.  Giá trị không biết cũng phải được thể hiện: BOÄ (Tuple) Chúng được thay thế bằng giá trị đặc biệt null. – Boä laø taäp moãi giaù trò lieân quan cuûa taát caû caùc Null có nhiều ý nghĩa: “không biết”, “không quan thuoäc tính cuûa moät löôïc ñoà quan heä. tâm”, “không thể áp dụng một bộ đó – Ví duï quan heä sau coù 2 boä MA NGAY MA HOC Quan hệ: Supplier SV HOTEN NU SINH LOP TINH BONG Snum Name City 99001 TRAN AN TRUE 15-03-1977 CÑTH2B T GIANG 120000 S1 Nguyễn Trung Tiến SF 99002 NGUYEN HA TRUE 25-04-1986 TCTH29C TPHCM 120000 S2 Trần Thị Yến LA S3 Nguyễn Văn An SF Ràng buộc khóa chính Candidate Key • Super key (siêu khóa): SK của r là một • Candidate key K của r(R) thỏa mãn 2 điều kiện: thuộc tính hay tập hợp các thuộc tính để – K là một SK, và xác định duy nhất một bộ trong một quan – K là SK bé nhất (K’K, K’≠K, K’ không phải là SK). hệ (không có hai bộ nào trong bất kỳ thể • Quan hệ r có thể có nhiều hơn một khóa K hiện quan hệ r(R) có cùng giá trị SK). • Ex: • i.e., Với mọi bộ phân biệt t1 và t2 trong – XE{TINH_TP, SOXE, SOHIEUXE, NOISX, KIEUDANG, NAM} r(R), t1[SK] t2[SK]. – Có hai SK là K1 = {TINH_TP, SOXE}, K2 = • Mọi quan hệ đều có ít nhất một SK. {SOHIEUXE}, nhưng K1 không là Khóa. 18
  19. Ràng buộc khóa ngoại và toàn Foreign Key – Khóa ngoại vẹn tham chiếu KHO MAKHOA TENKHOA A CNTT Cong nghe Thong tin • Cho FK  r1, FK ≠, FK được gọi là khóa ngoại VT Vien thong của r1 (tham chiếu đến r2) khi: DT Dien tu • Các thuộc tính trong FK phải có cùng miền giá SVIEN TENSV MASV MAHK trị với các thuộc tính khóa chính PK trong r2. • Giá trị tại FK của một bộ t1r1 bằng giá trị tại PK Nhat 11 CNTT của một bộ t2r2 hoặc bằng giá trị rỗng null. Minh 16 DT Trường hợp đầu, ta nói t1 tham chiếu tới bộ t2. (t1[FK]=t2[PK]) • Tập hợp các thuộc tính trong một quan hệ (quan hệ • Nếu tất cả các ràng buộc khóa ngoại được bảo con) được dùng để tham chiếu tới một bộ của quan đảm cho một quan hệ, ta nói đã đạt được toàn hệ khác (quan hệ cha). Khóa ngoại phải tham chiếu vẹn tham chiếu - referential intergrity. tới khóa chính của quan hệ đựợc tham chiếu. Primary Key – Khóa chính Alternate Key • Nếu có nhiều Khóa (candidate key) trong một • Là Candidate Key nhưng không được quan hệ, người thiết kế hoặc người quản trị CSDL chọn là primary key. sẽ chọn ra một khóa là khóa chính để nhận biết các bộ trong một quan hệ. • Được khai báo ràng buộc duy nhất • Các thuộc tính khóa chính được gạch dưới. (uniqueness constraint) • Các thuộc tính khóa chính PK của quan hệ r không thể mang giá trị null ở bất kỳ bộ nào vì giá trị của khóa chính được dùng để xác định các bộ. – t[PK] null tr(R) • Các thuộc tính khác của r cũng có thể có ràng buộc quy định không được có giá trị null, cho dù chúng không tham gia vào khóa chính. • Ex: Sinhvien(MaSv, TenSv, Khoa) Cơ sở dữ liệu quan hệ A primary key in a table a) can be the same value as other primary key values  Cơ sở dữ liệu quan hệ (relational database) in the same table bao gồm các bảng (quan hệ) biểu diễn các b) must be different from foreign keys in another table thực thể và các khóa chính / khóa ngoại biểu diễn các mối liên kết. c) must not contain NULL. d) must be a number andmust be different from a primary key in another table 19
  20. Cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ Primary Key Foreign Key (implements 1:N relationship between customer and order) Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product) Cơ sở dữ liệu quan hệ. Sự tương ứng với mô hình ER Lược đồ cơ sở dữ liệu  Mỗi quan hệ (bảng) tương ứng với một kiểu  Lược đồ cơ sở dữ liệu thực thể hoặc với một kiểu mối liên kết nhiều -  database schema nhiều.  Lược đồ cơ sở dữ liệu là một tập hợp các lược đồ  Mỗi hàng tương ứng với một thể hiện thực thể quan hệ. hoặc với một thể hiện mối liên kết nhiều -  Trong một lược đồ cơ sở dữ liệu, các tên lược nhiều. đồ quan hệ là duy nhất.  Mỗi cột tương ứng với một thuộc tính. Lược đồ cơ sở dữ liệu:  Từ quan hệ (relation) trong cơ sở dữ liệu Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum) quan hệ không có cùng nghĩa với từ mối quan Dept (Deptnum, Name, Area, Mgrnum) Supplier (Snum, Name, City) hệ (relationship) trong mô hình ER. Supply (Snum, Pnum, Deptnum, Quan) Ràng buộc toàn vẹn Ràng buộc toàn vẹn  Ràng buộc toàn vẹn  Qui tắc hoạt động  integrity constraint  action assertion  Ràng buộc toàn vẹn là một qui tắc mà tất cả các  Các qui tắc nghiệp vụ (business rule). dữ liệu trong CSDL phải thỏa mãn qui tắc này.  Ràng buộc miền giá trị  domain constraint  Các giá trị cho phép của một thuộc tính.  Toàn vẹn thực thể  entity integrity  Thuộc tính khóa chính không có giá trị rỗng (null value) 20
nguon tai.lieu . vn