Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ (các khái niệm cơ bản)
Bạn đang xem tài liệu "Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ (các khái niệm cơ bản)", để 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:
- co_so_du_lieu_chuong_2_mo_hinh_co_so_du_lieu_quan_he_cac_kha.ppt
Nội dung text: Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ (các khái niệm cơ bản)
- Môn CƠ SỞ DỮ LIỆU Chương 2: Mô hình cơ sở dữ liệu quan hệ (Các khái niệm cơ bản)
- Nội dung 1. MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA MÔ HÌNH DỮ LIỆU QUAN HỆ u Thuộc Tính (Attribute) u Lược Đồ Quan Hệ (Relation schema) u Quan Hệ (Relation) u Bộ (Tuple) u Siêu Khóa - Khóa Chính 2. CHUYỂN TỪ MÔ HÌNH THỰC THỂ KẾT HỢP SANG MÔ HÌNH DỮ LIỆU QUAN HỆ 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QUAN HỆ) u Phép Hợp (Union) u Phép Giao (Intersection) u Phép Trừ (Minus) u Tích Descartes (Cartesian Product) u Phép Chiếu( Projection) u Phép Chọn (Selection) u Phép - Kết, Phép Kết Tự Nhiên 2
- 1. MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1. Thuộc Tính (Attribute) Thuộc tính là các đặc trưng riêng biệt của đối tượng. Một thuộc tính cần có: kiểu dữ liệu của thuộc tính và miền giá trị của thuộc tính. ◼ Kiểu dữ liệu của thuộc tính Các thuộc tính được phân biệt qua tên gọi và phải thuộc một kiểu dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh, ). Kiểu dữ liệu ở đây có thể là kiểu vô hướng hoặc là kiểu có cấu trúc. Một đối tượng không được có hai thuộc tính cùng tên. ◼ Miền giá trị của thuộc tính Thông thường mỗi thuộc tính chỉ chọn lấy giá trị trong một tập con của kiểu dữ liệu và tập hợp con đó gọi là miền giá trị của thuộc tính đó. Thường dùng các chữ cái in hoa A,B,C, để biểu diễn các thuộc tính, hoặc A1,A2, ., An để biểu diễn một số lượng lớn các thuộc tính. 3
- 1. MỘT SỐ KHÁI NIỆM CƠ BẢN (tt) 1.2. Lược Đồ Quan Hệ (Relation schema) ◼ Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với các mối liên hệ giữa chúng được gọi là lược đồ quan hệ. ◼ Lược đồ quan hệ Q với tập thuộc tính {A1,A2, ,An} được viết là + Q(A1,A2, ,An). Tập các thuộc tính của Q được ký hiệu là Q . ◼ Thường khi thành lập một lược đồ, người thiết kế luôn gắn cho nó một ý nghĩa nhất định, ý nghĩa đó gọi là tân từ của lược đồ quan hệ đó. Khi phát biểu tân từ cho một lược đồ quan hệ, người thiết kế cần phải mô tả đầy đủ ý nghĩa để người khác tránh hiểu nhầm. VD: Tân từ của lược đồ quan hệ Sinh viên ở trên là: "mỗi sinh viên có một mã sinh viên (MASV) duy nhất, mỗi mã sinh viên xác định tất cả các thuộc tính của sinh viên đó như họ tên (HOTEN), nữ (NU) ,ngày sinh (NGAYSINH), lớp theo học (MALOP), học bổng (HOCBONG), tỉnh (TINH)". ◼ Nhiều lược đồ quan hệ cùng nằm trong một hệ thống quản lý được gọi là một lược đồ cơ sở dữ liệu. 4
- 1. MỘT SỐ KHÁI NIỆM CƠ BẢN (tt) Ví dụ Lược Đồ Quan Hệ: Lược đồ CSDL dùng để quản lý điểm của các sinh viên có thể bao gồm các quan hệ Sv, Lop, Kh, Mh, Kq: ◼ Sv(MASV, HOTEN,NU, NGAYSINH, MALOP, HOCBONG, TINH); Tân từ: Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV xác định tất cả các thuộc tính còn lại của sinh viên đó. ◼ Lop(MALOP, TENLOP,MAKHOA); Tân từ: Mỗi lớp có một ma lớp duy nhất, một mã lớp xác định tên lớp, một khoa mà sinh viên đang theo học. ◼ Kh(MAKHOA,TENKHOA, SOCBGD); Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi MAKHOA xác định tất cả các thuộc tính còn lại của khoa đó. ◼ Mh(MAMH, TENMH, SOTIET); Tân từ: Môi Môn học có một MAMH duy nhất. Mỗi MAMH xác định tất cả các thuộc tính còn lại của môn học đó. ◼ Kq(MASV, MAMH, DIEMTHI); Tân từ: Mỗi sinh viên cùng với một môn học xác định duy nhất một điểm thi 5
- 1. MỘT SỐ KHÁI NIỆM CƠ BẢN (tt) 1.3. Quan Hệ (Relation) ◼ Sự thể hiện của lược đồ quan hệ Q ở một thời điểm nào đó được gọi là quan hệ, rõ ràng là trên một lược đồ quan hệ có thể định nghĩa rất nhiều quan hệ. ◼ Thường ta dùng các ký hiệu như Q,R,S để chỉ các lược đồ quan hệ, còn quan hệ thường được dùng bởi các ký hiệu là q, r, s. ◼ Về trực quan thì quan hệ là như một bảng hai chiều. 1.4. Bộ (Tuple) ◼ Mỗi bộ là những thông tin về một đối tượng thuộc một quan hệ, (được định nghĩa dưới dây) bộ cũng còn được gọi là mẫu tin. ◼ Thường người ta dùng các chữ cái thường (như t, p, q, ) để biểu diễn bộ trong một quan hệ, chẳng hạn để nói bộ t là một bộ của quan hệ r được định nghĩa trên lược đồ quan hệ Q, ta viết như sau: ◼ Gọi r là một quan hệ định nghĩa trên lược đồ quan hệ Q; t r 6
- 1. MỘT SỐ KHÁI NIỆM CƠ BẢN (tt) 1.5. Siêu Khóa - Khóa: Dựa vào tân từ người ta xác định được tập thuộc tính khóa của lược đồ quan hệ sau đây: ◼ S được gọi là một siêu khóa của lược đồ quan hệ R nếu với hai bộ tùy ý trong quan hệ R thì giá trị của các thuộc tính trong S là khác nhau. Nói cách khác, S là siêu khóa của Q nếu với r là quan hệ bất kỳ trên Q, t1,t2 là hai bộ bất kỳ thuộc r thì t1.r ≠ t2.r ◼ Một lược đồ quan hệ có thể có một hoặc nhiều siêu khóa. ◼ Siêu khóa không chứa một siêu khóa nào khác được gọi là khóa chỉ định, trong trường hợp lược đồ quan hệ có nhiều khóa chỉ định (hay khóa nội), thì khóa được chọn để cài đặt gọi là khóa chính ◼ Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khóa, các thuộc tính không tham gia vào bất kỳ một khóa nào được gọi là thuộc tính không khóa. ◼ Một thuộc tính được gọi là thuộc tính khóa ngoại nếu nó là thuộc tính không khóa của một lược đồ quan hệ này nhưng lại là thuộc tính khóa của một lược đồ quan hệ khác. 7
- 2. CHUYỂN TỪ MÔ HÌNH THỰC THỂ KẾT HỢP SANG MÔ HÌNH DỮ LIỆU QUAN HỆ Một số quy tắc cơ bản được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ: ◼ Quy tắc 1: Chuyển đổi mỗi thực thể thành một lược đồ quan hệ và chuyển đổi các thuộc tính của thực thể thành các thuộc tính của lược đồ quan hệ tương ứng. Khóa của mỗi lược đồ quan hệ là khóa của thực thể tương ứng. ◼ Quy tắc 2: Nếu mỗi kết hợp mà cả hai nhánh của nó đều có bản số max là n thì mối kết hợp này sẽ được chuyển thành một lược đồ quan hệ K' gồm các thuộc tính của mối kết hợp k, công thêm các thuộc tính khóa của hai lược đồ quan hệ A, B tương ứng với hai thực thể tham gia vào mỗi kết hợp. Khóa của lược đồ quan hệ K' gồm cả hai khóa của hai lược đồ quan hệ A và B. 8
- 2. CHUYỂN TỪ MÔ HÌNH THỰC THỂ KẾT HỢP SANG MÔ HÌNH DỮ LIỆU QUAN HỆ (tt) Một số quy tắc cơ bản được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ: (tt) ◼ Quy tắc 3: Mối kết hợp mà một nhánh có bản số là n (Nhánh B) và nhánh còn lại có bản số max là ( nhánh A) thì loại bỏ mối kết hợp này khỏi mô hình thực thể kết hợp và thêm các thuộc tính khóa của lược đồ tương ứng với thực thể ở nhánh B vào lược đồ tương ứng với thực thể ở nhánh A(khóa của B sẽ thành khóa ngoại của A). Nếu mối kết hợp có các thuộc tính thì những thuộc tính này cũng được thêm vào lược đồ quan hệ tương ứng với thực thể ở nhánh A. ◼ Quy tắc 4: Nếu mối kết hợp mà cả hai nhánh đều có bản số max là 1 thì áp dụng quy tắc 3 cho một trong hai nhánh tùy chọn. 9
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH 3.1 Phép Hợp (Union) ◼ Ta nói hai quan hệ r1 và r2 là tương thích nếu chúng được định nghĩa trên cùng một lược đồ quan hệ. ◼ Cho hai quan hệ tương thích r1 và r2 . Hợp của hai quan hệ r1 và r2 ký hiệu là r1 + r2 là một quan hệ trên lược đồ quan hệ Q gồm các phần tử thuộc r1 hoặc thuộc r2, tức là: r1 + r2 = {t | t r1 hoặc t r2} 10
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH 3.1 (tt)Ví dụ Phép Hợp ◼ Thứ tự trước/sau của các phần tử (các bộ) trong các quan hệ là như nhau. r1, r2 thì r1 + r2 = r2 + r1 r thì r + r = r ◼ Một cách tổng quát có thể lấy hợp của n quan hệ tương thích: cho n quan hệ tương thích r1,r2, ,rn ◼ Hợp của n quan hệ r1,r2, ,rn là một quan hệ r1 + r2+ + rn gồm các phần tử thuộc r1 hoặc thuộc r2 hoặc thuộc rn 11
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.2 Phép Giao (Intersection) ◼ Cho lược đồ quan hệ Q(A1,A2, ,An). r1 và r2 là hai quan hệ tương thích trên Q. ◼ Giao của hai quan hệ r1 và r2 ký hiệu là r1 * r2 là một quan hệ trên Q gồm các phần tử vừa thuộc r1 vừa thuộc r2. Vậy: r1 * r2 = { t | t r1 và t r2} 12
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.3.Phép Trừ (Minus) ◼ Cho hai quan hệ r1 và r2 tương thích có tập thuộc tính Q(A1,A2, ,An ). Hiệu của r1 và r2 ký hiệu là r1 - r2 là một quan hệ trên Q gồm các phần tử thuộc r1 và không thuộc r2. Vậy r1 - r2 = {t r1 và t r2} 13
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.4.Tích Descartes (Cartesian Product) ◼ Với phép tích Descartes của hai quan hệ ta chỉ xét trên các lược đồ rời nhau (để cho vấn đề được đơn giản). Cho hai lược đồ Q1(A1,A2, ,An) Q2(B1,B2, ,Bm) Với Q1 Q2 = ◼ Giả sử r1 , r2 là hai quan hệ trên Q1, Q2 tương ứng. Tích Descartes của r1 và r2 ký hiệu là r1 x r2 là quan hệ trên lược đồ Q1 Q2 gồm các phần tử tạo ra từ tích Descartes của hai quan hệ r1 và r2. Vậy quan hệ r1 x r2 là quan hệ trên lược đồ: Q = Q1 Q2 = { A1,A2, ,An,B1,B2, ,Bm } với r1 x r2 = {(t1,t2) : t1 r1, t2 r2 } 14
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.4. (tt) Ví Dụ Tích Descartes Q = Q1 Q2 = { A1,A2, ,An,B1,B2, ,Bm } với r1 x r2 = {(t1,t2) : t1 r1, t2 r2 } 15
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 2.5.Phép Chiếu( Projection) ◼ Cho lược đồ quan hệ Q(A1,A2, ,An), r là quan hệ trên Q. X Q+ ta gọi X là lược đồ con của Q. ◼ Phép chiếu của r lên tập thuộc tính X, ký hiệu là r[X] (hoặc r.X) sẽ tạo thành lược đồ quan hệ r', trong đó tập thuộc tính của r' chính là X và quan hệ r' được trích từ bằng cách chỉ lấy các thuộc tính có trong X. ◼ Phép chiếu chính là phép rút trích dữ liệu theo cột. 16
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 2.5. (tt) Ví dụ Phép Chiếu 17
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.6 Phép Chọn (Selection) ◼ Cho lược đồ quan hệ Q(A1,A2, ,An), r là một quan hệ định nghĩa trên Q. X là một tập con thuộc tính của Q+ và E là một mệnh đề logic được phát biểu trên tập X. Phần tử t r thỏa mãn điều kiện E ký hiệu là t(E). Phép chọn từ quan hệ r theo điều kiện E sẽ tạo thành một quan hệ mới ký hiệu là r(E), tức là ◼ r(E) = {t: t r và t(E)} ◼ Phép chọn chính là phép rút trích dữ liệu theo dòng. 18
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.7. Phép - Kết, Phép Kết Tự Nhiên ◼ Cho hai lược đồ quan hệ Q1 và Q2 : Q1(A1,A2, ,An) và Q2(B1,B2, ,Bm); r và s lần lượt là hai quan hệ trên Q1 và Q2. ◼ Ai và Bj lần lượt là thuộc tính của Q1 , Q2 sao cho MGT(AI)= MGT(BJ). là một trong các phép so sánh (=, , , , ) trên MGT(AI). ◼ Ai Bj Phép kết giữa r và s ký hiệu là r |><| s là một quan hệ trên lược đồ quan hệ Q1 Q2 . gồm những bộ thuộc tích Descartes của r và s sao cho thành phần thứ i của quan hệ r có quan hệ với thành phần thứ j của quan hệ s. 19
- 3. CÁC PHÉP TOÁN ĐẠI SỐ TRÊN CÁC QH(tt) 3.7. Phép - Kết, Phép Kết Tự Nhiên (tt) ◼ Ai Bj : r |><| s = {t12 / t1 r1 , t2 r2 sao cho { t12.Q1+ = t1 t12.Q2+ = t2 t12Ai t12.Bj} ◼ Ta rút ra các bước cụ thể để thực hiện phép kết như sau: Tạo tích descartes Thực hiện phép chọn theo điều kiện (Ai Bj ) 20