Bài giảng Hệ cơ sở dữ liệu: Mô hình quan hệ (Relational Model)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ cơ sở dữ liệu: Mô hình quan hệ (Relational Model)", để 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_he_co_so_du_lieu_mo_hinh_quan_he_relational_model.ppt
Nội dung text: Bài giảng Hệ cơ sở dữ liệu: Mô hình quan hệ (Relational Model)
- Mô hình quan hệ (Relational Model) 1
- Giới thiệu ⚫ Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971. ⚫ 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, khoá ngoại, ⚫ 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 Hệ quản trị CSDL quan hệ được xây dựng dựa theo lý thuyết mô hình quan hệ. 2
- Các đặc điểm nổi bậc ⚫ Biểu diễn dữ liệu thông qua dạng bảng ⚫ Mỗi cột là một thành phần của quan hệ ⚫ Mỗi dòng là một bộ 3
- Khái niệm ⚫ Quan hệ (relation): bảng dữ liệu hai chiều bao gồm nhiều hàng (mẩu tin) và nhiều cột (thuộc tính hoặc vùng tin). ⚫ Không phải mọi bảng đều là quan hệ ⚫ Mỗi hàng là duy nhất ⚫ Thứ tự của các hàng là không quan trọng. ⚫ Thứ tự của các cột là không quan trọng. ⚫ Ví dụ:??? 4
- Relation Model - Key ⚫ Khóa quan hệ : tập nhỏ nhất các thuộc tính dùng để xác định duy nhất một hàng. ⚫ Simple key(khóa đơn): khóa chỉ có một thuộc tính ⚫ Composite key (khóa phức): khóa có nhiều thuộc tính ⚫ 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âu truy vấn. 5
- Relation Model - Key ⚫ Một quan hệ phải có ít nhất một khóa và có thể có nhiều khóa. ⚫ Thuộc tính khóa (prime attribute): các thuộc tính thuộc một khóa ⚫ Thuộc tính không khóa (nonprime attribute) : các thuộc tính không nằm trong khóa ⚫ 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) 6
- Relation Model - Key ⚫ Tất cả các khóa của một quan hệ được gọi là khóa dự tuyển (candidate key). ⚫ Khóa chính (primary key). ⚫ Một quan hệ chỉ có một khóa chính và có thể có nhiều khóa dự tuyển. ⚫ Khóa ngoại (foreign key):khi nó là khóa chính của một quan hệ khác. 7
- BỘ (Tuple) ⚫ Bộ(tuple): 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ộ 8
- Lược đồ Quan hệ (Relation schema) ⚫ Là tập tất cả các thuộc tính của một đối tượng, sự vật hay sự việc ⚫ Lược đồ quan hệ Q với tập thuộc tính A1,A2, An được viết là Q(A1,A2, An) ⚫ Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó. ⚫ VD: KHOA(MAKHOA,TENKHOA,SOCBGD) có tân từ: Mỗi khoa có mã khoa để phân biệt khoa này với khoa kia, tên khoa và số giảng viên của khoa 9
- Lược đồ Quan hệ (Relation schema) ⚫ Trong một lược đồ cơ sở dữ liệu, các tên lược đồ quan hệ là duy nhất. 10
- Đại số quan hệ ⚫ Relational Algebra Operation (phép toán đại số quan hệ) ⚫ Set Operation (Phép toán tập hợp) 11
- SET OPERATION (Phép toán tập hợp) ⚫ PHÉP HỢP (UNION,UNION JOIN): ⚫ Cho 2 quan hệ r1 và r2 trên cùng một lược đồ quan hệ R. Hợp của hai quan hệ r1, r2 là một quan hệ bao gồm các bộ của r1 và/hoặc của r2. r3=r1+ r2={t/ t r1 hay t r2} 12
- ⚫ PHÉP GIAO (INTERSECTION) ⚫ Cho 2 quan hệ r1 và r2 trên cùng một lược đồ quan hệ R. Giao của hai quan hệ r1 và r2 là một quan hệ bao gồm các bộ vừa có trong r1 và vừa có trong r2. r3= r1* r2 = {t/ t r1 và t r2} 13
- ⚫ PHÉP TRỪ (MINUS,DIFFERENCE) Cho 2 quan hệ r1 và r2 trên cùng một lược đồ quan hệ R. Hiệu của quan hệ r1 cho r2 là một quan hệ bao gồm các bộ của r1 không có trong r2. r3= r1- r2 ={t/ t r1 và t r2} 14
- ⚫ TÍCH DESCARTES (Cartesian Product, Product) Cho quan hệ r1 trên lược đồ quan hệ R1(A1, A2, , Am) và quan hệ r2 trên lược đồ quan hệ R2(B1, B2, , Bn). Tích Descartes của hai quan hệ r1, r2 là một quan hệ trên lược đồ quan hệ Q(A1, A2, , Am, B1, B2, , Bn) bao gồm các bộ sao cho m thành phần đầu tiên là một bộ của r1 và n thành phần cuối cùng là một bộ của r2. r3= r1x r2 = {(t1, t2 )/ t1 r1 và t2 r2} 15
- ⚫ Ví dụ r1 r3 = r1 x r2 MA MA DIEM MA MA DIEM MA SV MH THI SV MH THI MH TENMH 99001 CSDL 5.0 99001 CSDL 5.0 CSDL CO SO DU LIEU 99002 CTDL 2.0 99001 CSDL 5.0 FOX FOXPRO 99003 MANG 8.0 99002 CTDL 2.0 CSDL CO SO DU LIEU r2 99002 CTDL 2.0 FOX FOXPRO MAMH TENMH 99003 MANG 8.0 CSDL CO SO DU LIEU CSDL CO SODULIEU 99003 MANG 8.0 FOX FOXPRO FOX FOXPRO 16
- ⚫PHEÙP CHIEÁU (PROJECTION) ⚫Cho một quan hệ r trên một lược đồ quan hệ R(A1, A2, , An). Phép chiếu một quan hệ r trên một thuộc tính X, X {A1, A2, , An} là một quan hệ bao gồm các bộ chính là r nhưng chỉ lấy các thuộc tính của X r’=r.X=r[X]={t’/t r và t’=t.X} r r’ = r.{MAMH} MASV MAMH DIEMTHI MAMH 99001 CSDL 5.0 CSDL 99002 CTDL 2.0 CTDL 99003 MANG 8.0 MANG 17
- ⚫PHÉP CHỌN (SELECTION) ⚫Cho một quan hệ r trên một lược đồ quan hệ R và điều kiện F (là một biểu thức luận lý có giá trị đúng hoặc sai) bao gồm: - Các toán hạng là các hằng, hoặc tên các thuộc tính của lược đồ quan hệ R. -Các phép toán so sánh: =, , >= -Các phép toán luận lý: not, and, or -Phép chọn trên r theo điều kiện F cho kết quả là một quan hệ bao gồm các bộ của r thỏa mãn điều kiện F là đúng. - r’ =r(F)={t/ t r và t(F) =đúng} 18
- Ví dụ r r’= r(DIEMTHI >= 5) MASV MAMH DIEMTHI MASV MAMH DIEMTHI 99001 CSDL 5.0 99001 CSDL 5.0 99002 CTDL 2.0 99003 MANG 8.0 99003 MANG 8.0 19
- ⚫ PHEÙP KEÁT (JOIN,EQUI-JOIN) ⚫ Cho quan hệ r1 trên lược đồ quan hệ R1(A1, A2, , Am) và quan hệ r2 trên lược đồ quan hệ R2(B1, B2, , Bm). ⚫ Phép kết của r1 và r2 trên các thuộc tính A1, A2, , Am, B1, B2, , Bm là một quan hệ r3 trên lược đồ quan hệ Q bao gồm các bộ t sau: r3= r1 |><| r2={t / tr1 r1 và tr2 r2 với t[R1]= tr1 và t[R2]= tr2 và t[Ai]=t[Bi] , i=1, ,m} 20
- r1 r2 r3= r1|><| r2 Vôùi Ai=Bj=MAMH MA MA DIEM MA TEN MA MA DIEM SV MH THI MH MH SV MH THI TENMH 99001 CSDL 5.0 CSDL CO SO DU LIEU 99001 CSDL 5.0 CO SO DU LIEU 99002 CTDL 2.0 CTDL CAU TRUC DLIEU 99002 CTDL 2.0 CAU TRUC DLIEU 99003 MANG 8.0 21
- ⚫ PHÉP CHIA (DIVISION) ⚫ Cho quan hệ r1 trên lược đồ quan hệ R(A1, A2, , Ak, Ak+1, , Am) và quan hệ r2 trên lược đồ quan hệ R2(A1, A2, , Ak). ⚫ Phép chia quan hệ r1 cho r2 với r2 là một quan hệ trên lược đồ quan hệ Q(Ak+1, ,Am) bao gồm các bộ (tk+1, ,tm) sao cho đối với tất cả các bộ (t1, ,tk) thuộc r2 thì bộ (t1, ,tk,tk+1, ,tm) thuộc r1. 22