1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 4: MÔ HÌNH QUAN HỆ - RELATIONAL MODEL pptx

64 1,3K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 0,91 MB

Nội dung

Chương 4 Chương 4 MÔ HÌNH QUAN HỆ - RELATIONAL MODEL Nội dung Nội dung  Các định nghĩa cơ bản của mô hình dữ liệu quan hệ  Quan hệ  Lược đồ quan hệ  Quan hệ toán học  Lược đồ quan hệ và quan hệ  Khóa quan hệ  Ràng buộc toàn vẹn  Chuyển mô hình thực thể kết hợp sang mô hình quan hệ 2 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational data model)  Được đề xuất bởi E.F. Codd năm 1970.  Mô hình này bao gồm:  Các khái niệm liên quan đến cấu trúc dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa chính, khóa ngoại,  Được xây dựng trên cơ sở của phép toán tập hợp và phép toán quan hệ.  Ràng buộc toàn vẹn quan hệ.  Các HQTCSDLQH được xây dựng dựa theo lý thuyết mô hình quan hệ  Nhưng hiện nay DBMS bắt đầu theo hướng đối tượng 3 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational data model)  Quan hệ (relation) là một bảng dữ liệu hai chiều gồm nhiều hàng (mẫu tin hay bản ghi) và nhiều cột (thuộc tính hoặc vùng tin). Mỗi cột tương ứng với một thuộc tính của thực thể. Mỗi dòng chứa các giá trị dữ liệu của một đối tượng cụ thể thuộc thực thể  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.  Thứ tự của các hàng và cột là không quan trọng. 4 MaNV HoTenNV Tuoi NV01 Nguyễn Trung Tiến 25 NV02 Trần Thị Yến 35 NV03 Nguyễn Văn An 40 Bài 4 TH107 5 Trực quan về Quan hệ  Ví dụ : Để quản lý điểm sv, nếu ta lưu trữ theo bảng sau thì không đúng với mô hình quan hệ vì MASV TEN MALOP MAMH TENMH ĐIEM TCTH01 Sơn TCTHA THVP Tin Học Văn Phòng 6.0 TCTH01 Sơn TCTHA CSDL Cơ Sở Dữ Liệu 5.0 TCTH02 Lan TCTHA CSDL Cơ Sở Dữ Liệu 3.0 Thuộc tính Bộ • Ta không thể lưu trữ một SV mới khi SV này chưa có điểm thi. • Khi cần sửa đổi ten thì phải sửa tất cả các dòng có liên quan đến SV này. • Khi có nhu cầu xóa điểm thi một SV kéo theo khả năng xóa luôn họ tên Sv đó. • Để lưu trữ đúng mô hình quan hệ, ta có thể lưu trữ thành các bảng như sau Ví dụ về mô hình quan hệ MONHOC SVIEN MASV TEN MALOP TCTH01 Sơn TCTHA TCTH02 Bảo TCTHB TCTH03 Trang TCTHA MASV MAMH DIEM TCTH01 THVP 8 TCTH01 CSDL 6 TCTH01 CTDL 7 TCTH02 THVP 9 TCTH02 CSDL 8 TCTH03 THVP 10 MAMH TENMH TINCHI KHOA THVP Nhập môn TH 4 CNTT CSDL Cấu trúc dữ liệu 4 CNTT CTDL Toán rời rạc 3 TOAN KQUA LOP MALOP TENLOP SIS O TCTHA TCTH32A 80 TCTHB TCTH32B 65 TCTHC TCTH32C 82 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational data model)  Bộ  Bộ là tập mỗi giá trị liên quan của tất cả các thuộc tính của một lược đồ quan hệ.  Ví dụ quan hệ sau có 2 bộ 7 MA SV HOTEN PHAI NGAY SINH MA LOP TINH HOC BONG 99001 TRAN AN TRUE 15-03-1977 CÑTH2B T GIANG 120000 99002 NGUYEN HA TRUE 25-04-1986 TCTH29C TPHCM 120000 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational data model)  Khóa - key  Khóa quan hệ là một tập nhỏ nhất các thuộc tính dùng để xác định duy nhất một hàng.  Khóa thường được sử dụng làm chỉ mục (index) của bảng dữ liệu để làm tăng tốc độ xử lý của truy vấn.  Một quan hệ phải có ít nhất một khóa và có thể có nhiều khóa.  Các thuộc tính thuộc một khóa được gọi là thuộc tính khóa (prime attribute), các thuộc tính còn lại trong lược đồ quan hệ được gọi là các thuộc tính không khóa (nonprime attribute).  Các thuộc tính khóa được gạch dưới.  Các thuộc tính khóa không được có giá trị rỗng (null value). 8 Lược đồ quan hệ (Relation schema) Lược đồ quan hệ (Relation schema)  Lược đồ quan hệ bao gồm:  Tên quan hệ.  Tên các thuộc tính cùng với tên domain tương ứng.  Các ràng buộc bảo toàn ( integrity constraint): là các hạn chế trên các quan hệ của lược đồ này.  Domain : là 1 tập hợp các giá trị cho phép của 1 hay nhiều thuộc tính, thường là 1 tập con cuả kiểu dữ liệu. Ký hiệu dom(A)  miền trị của thuộc tính A  Ví dụ:  Thuộc tính Address của quan hệ STUDENT có domain là tập hợp các chuỗi.  Thuộc tính điểm có domain là các số thực trong phạm vi từ 0 đến 10. 9 Lược đồ quan hệ (relation schema) Lược đồ quan hệ (relation schema)  Cho A 1 , A 2 , , A n là tên các thuộc tính thuộc các miền D 1 , D 2 , , D n  Lược đồ quan hệ R với 1 tập thuộc tính {A 1 , A 2 , , A n } R(A 1 , A 2 , , A n )  Gọi U={A 1 , A 2 , , A n } là tập các thuộc tính của lược đồ quan hệ R  Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó.  Biểu diễn 1 lược đồ quan hệ: TÊN_QUAN_H ( thu c tính 1, thu c tính 2,…)Ệ ộ ộ Ví dụ : lược đồ quan hệ Employee có 3 thuộc tính NHANVIEN(MANV, Ten, MaPb, Luong) Tân từ: Mỗi nhân viên có một MaNV duy nhất dùng để nhận diện TenNV, MaPB và Lương. 10 [...]... Cấu trúc dữ liệu quan hệ (tt)  Bậc (degree): là số lượng các thuộc tính của quan hệ Số thuộc tính Bậc của quan hệ 1 quan hệ nhất phân (unary relation) 2 3 quan hệ tam phân (ternary relation) n  quan hệ nhị phân (binary relation) quan hệ n phân (ternary relation) Lượng số (cardinality): số lượng các bộ của quan hệ Lượng số sẽ thay đổi khi thêm hay xoá các tuple (hàng) 14 Khoá quan hệ (Relational Keys)... một thuộc tính  Từ quan hệ (relation) trong cơ sở dữ liệu quan hệ không có cùng nghĩa với từ mối quan hệ (relationship) trong mô hình ER 35 Chuyển đổi từ ERD thành các quan hệ Các bước chuyển từ ERD sang mô hình quan hệ  Bước 1: chuyển đổi kiểu thực thể thông thường (regular entity)  Bước 2: Chuyển đổi kiểu thực thể yếu (weak entity)  Bước 3: Chuyển đổi mối liên kết 2 ngôi  Bước 4: Chuyển đổi kiểu.. .Quan hệ (Relation)   Gọi D = D1 ∪ D2 ∪…∪ Dn Quan hệ r trên lược đồ quan hệ R được ký hiệu r(R) là một tập hữu hạn các ánh xạ {t1,t2, ,tp} từ R vào D với điều kiện mọi ánh xạ t ∈ r thì t[Ai]∈ Di, 1 ≤ i ≤ n  Quan hệ r là một thể hiện quan hệ (relation instance) của R tại 1 một thời điểm  Mỗi ánh xạ của quan hệ là 1 bộ của quan hệ và được ký hiệu (A1:d1, A2: d2,…,An:dn)... Deptnum) Dept (Deptnum, Name, Area, Mgrnum) Supplier (Snum, Name, City) Supply (Snum, Pnum, Deptnum, Quan) 12 Cơ sở dữ liệu quan hệ (Relational database)  Cơ sở dữ liệu quan hệ (relational database):  Là 1 tập hợp hữu hạn các quan hệ (relations)  Dữ liệu được lưu trữ trong các quan hệ (bảng)  Có nhiều mối quan hệ giữa các bảng SVIEN LOP MALOP TENLOP SIS O TCTHA TCTH32A 80 TCTHB TCTHB TCTH32B 65 TCTHA TCTHC... trong 1 quan hệ, thì mỗi giá trị khóa ngoại phải tương ứng với 1 giá trị khóa chính trong một quan hệ khác (hoặc trong cùng quan hệ này) hoặc giá trị khóa ngoại phải là giá trị rỗng” 28 Ví dụ về mô hình quan hệ SVIEN MALOP TENLOP SIS O TCTHA TCTH32A 80 TCTHB TCTHB TCTH32B 65 TCTHA TCTHC TCTH32C 82 MASV TEN MALOP TCTH01 Sơn TCTHA TCTH02 Bảo TCTH03 Trang N MONHOC MAMH TENMH KQUA TINCHI KHOA THVP Nhập môn... ký hiệu là t[Ai] hoặc t.Ai Quan hệ NHANVIEN trên tập các thuộc tính R={Manv, HoTenNV, Tuoi) là một quan hệ 3 ngôi MaNV HoTenNV Tuoi NV01 Nguyễn Trung Tiến 25 t1 NV02 Trần Thị Yến 35 t2 t1(NV01, ‘Nguyễn Trung Tiến’, 25) = t1(R) là một bộ của quan hệ 11 NHANVIEN Lược đồ quan hệ (Relation schema)  Lược đồ cơ sở dữ liệu  Trong một lược đồ cơ sở dữ liệu, các tên lược đồ quan hệ là duy nhất Lược đồ cơ sở... loại khoá quan hệ (Relational Keys)     Các khóa dự tuyển (candidate key) còn lại sau khi chọn khóa chính được gọi là khóa khác (alternate key) Khóa ngoại (foreign key): là 1 thuộc tính hay 1 tập thuộc tính của 1 quan hệ tham chiếu đến khóa dự tuyển của 1 quan hệ khác hay của cùng 1 quan hệ Khóa mượn (borrowed key): là 1 khóa dự tuyển có chứa khóa ngoại Xét các lược đồ quan hệ sau: Employee(Emp_ID,... để xác định duy nhất một bộ của quan hệ  Một siêu khoá có thể chứa thêm các thuộc tính không cần thiết để xác định duy nhất một bộ  Siêu khoá hiển nhiên là tập tất cả các thuộc tính của quan hệ Ví dụ: Xét 1 lược đồ quan hệ STUDENT (StudentID, FirstName, LastName, BirthDate, Major, SSN, ClassID)  Xác định các siêu khóa có thể có của R??? 15 Các loại khoá quan hệ (Relational Keys)   Khoá dự tuyển... có phải là quan hệ cấu trúc tốt???Sửa lại Employee(Emp_ID, Name, Dept_Name, Salary, CourseID) 34 Course (CourseID, Date_Completed)  Chuyển đổi từ ERD thành các quan hệ Sự tương ứng với mô hình ER  Mỗi quan hệ (bảng) tương ứng với một kiểu thực thể hoặc với một kiểu mối liên kết nhiều - nhiều  Mỗi hàng tương ứng với một thể hiện thực thể hoặc với một thể hiện mối liên kết nhiều - nhiều  Mỗi cột... khóa dự tuyển của quan hệ STUDENT??? 16 Các loại khoá quan hệ (Relational Keys)     Khóa đơn (simple key): là khóa có một thuộc tính Khóa phức hợp (composite key): là khóa có nhiều hơn một thuộc tính Khóa chính (primary key): là một khóa dự tuyển được chọn để xác định duy nhất một bộ của quan hệ Khóa chính có thể chỉ có 1 thuộc tính hay khóa phức hợp Ví dụ: khóa chính của quan hệ SINHVIEN??? SINHVIEN(Masv, . Chương 4 Chương 4 MÔ HÌNH QUAN HỆ - RELATIONAL MODEL Nội dung Nội dung  Các định nghĩa cơ bản của mô hình dữ liệu quan hệ  Quan hệ  Lược đồ quan hệ  Quan hệ toán học  Lược đồ quan hệ. hệ và quan hệ  Khóa quan hệ  Ràng buộc toàn vẹn  Chuyển mô hình thực thể kết hợp sang mô hình quan hệ 2 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational. ?? 19 Các loại khoá quan hệ (Relational Keys) Các loại khoá quan hệ (Relational Keys) Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational data model) (Relational data model) Ví dụ: Ta

Ngày đăng: 04/07/2014, 22:20

TỪ KHÓA LIÊN QUAN

w