Bài giảng Cơ sở dữ liệu - Chương 3 Mô hình dữ liệu quan hệ (The Relational Database Model)

Khóa ngoại (Foreign key)  Khoá ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thông qua 1 thuộc tính nếu thuộc tính này đóng vai trò là khoá chính (Primary key) trong một quan hệ đã xác định thì nó chính là khoá ngoại ( Foreign key ) của quan hệ còn lại. Tính chất: - Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại. -Khóa ngoại có thể tham chiếu đến khóa chính trên cùng 1 lược đồ quan hệ. -Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính.

pdf37 trang | Chia sẻ: vutrong32 | Ngày: 20/10/2018 | Lượt xem: 117 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 3 Mô hình dữ liệu quan hệ (The Relational Database Model), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3 Mô hình dữ liệu quan hệ (The Relational Database Model) 1 Quá trình thiết kế CSDL Bài toán Thực tế Mô hình E-R Mô hình CSDL Quan hệ DBMS DB 2 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 Quan hệ thể hiện dữ liệu dưới góc độ logic. Cung cấp một cấu trúc dữ liệu đơn giản và đồng bộ.  Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mô hình quan hệ. 3 Giới thiệu  Mô hình này bao gồm: • Các khái niệm nhằm mô tả 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, ... • Các phép toán thao tác với dữ liệu: Đại số quan hệ. • Ràng buộc toàn vẹn quan hệ. 4 • Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ Quan hệ (Relation) 5 Quan hệ (thể hiện cho một tập thực thể) gồm: - Tên của quan hệ: NHANVIEN. - Tập hợp các cột (thể hiện các thuộc tính): Cố định, được đặt tên, có kiểu dữ liệu riêng. - Tập hợp các dòng (thể hiện một thực thể): có tính chất thay đổi theo thời gian. Quan hệ (Relation) 6 1 cột là 1 thuộc tính của nhân viên 1 dòng là 1 nhân viên TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Tên quan hệ là NHANVIEN Thuộc tính (Attribute)  Tên các cột của quan hệ.  Mô tả ý nghĩa cho các giá trị tại cột đó.  Tất cả các dữ liệu trong cùng 1 một cột đều có chung một kiểu dữ liệu. TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Thuộc tính 7 Dữ liệu cụ thể của thuộc tính Bộ (Tuple) • Là các dòng của quan hệ (trừ dòng tiêu đề - tên của các thuộc tính). • Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ. 8 * Thứ tự các bộ trong quan hệ là không quan trọng • Thứ tự giữa các giá trị trong một bộ là quan trọng Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 TENNV HONV NGSINH DCHI PHAI LUONG PHG Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 null Nam 38000 5 Bộ khác Bộ Bộ (Tuple) 9 - Mỗi giá trị trong một bộ: + Hoặc là một giá trị nguyên tố. + Hoặc là một giá trị rỗng (null). - Không có bộ nào trùng nhau. Bộ (Tuple) 10 Lược đồ quan hệ Lược đồ (relation schema)  Lược đồ quan hệ:  Ký hiệu: R(A1, A2,..., An)  R: Tên của quan hệ.  A1, A2,, An: Danh sách các thuộc tính của quan hệ. NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) Tập hợp các thuộc tính 11 Lược đồ (relation schema) - Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó. Ví dụ:  Tân từ: Mỗi Sinh viên thuộc một khoa, học một môn học thì có kết quả thi môn học đó.  Ký hiệu: Ketqua( MASV, MAMH, MAKHOA, DIEMTHI) 12 - Lược đồ Cơ sở dữ liệu : Tập hợp các lược đồ quan hệ trong cùng một Cơ sở dữ liệu. Lược đồ CSDL NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) DEAN(TENDA, MADA, DDIEM_DA, PHONG) Lược đồ (relation schema) 13 - Caùc thuoäc tính ñöôïc phaân bieät qua teân goïi vaø phaûi thuoäc vaøo moät kieåu döõ lieäu nhaát ñònh (soá, chuoãi, ngaøy thaùng, logic, hình aûnh,). Kieåu döõ lieäu ôû ñaây laø kieåu ñôn. Trong cuøng moät ñoái töôïng khoâng ñöôïc coù hai thuoäc tính cuøng teân. -Thoâng thöôøng moãi thuoäc tính chæ choïn laáy giaù trò trong moät taäp con cuûa kieåu döõ lieäu vaø taäp hôïp con ñoù goïi laø mieàn giaù trò cuûa thuoäc tính ñoù. - Ví dụ : Thuoäc tính ngaøy trong thaùng thì coù kieåu döõ lieäu laø soá nguyeân, mieàn giaù trò cuûa noù laø 1 ñeán (toái ña laø) 31. Đieåm thi cuûa sinh vieân chæ laø caùc soá nguyeân töø 0 ñeán 10. Họ tên: Tập hợp các dãy chữ cái có độ dài <= 30. Tuổi: Tậ p các số nguyên nằm trong khoảng từ 1 đến 80. Giới tính: Tập hợp gồm hai giá trị “Nam”, “N ữ”. Kiểu dữ liệu và Miền giá trị (Domain) 14 Ký hiệu • Lược đồ quan hệ – Cho A1, A2, , An là các thuộc tính – Có các miền giá trị D1, D2, , Dn tương ứng – Ta có: Ký hiệu: R(A1:D1, A2:D2, , An:Dn) là một lược đồ quan hệ. Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ Ví dụ: NHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer)  NHANVIEN là một lược đồ bậc 8 mô tả đối tượng nhân viên  MANV là một thuộc tính có miền giá trị là số nguyên  TENNV là một thuộc tính có miền giá trị là chuỗi ký tự 15 - Một quan hệ r của lược đồ quan hệ R(A1, A2, , An), ký hiệu r(R), là một tập các bộ r = {t1, t2, , tk} -Trong đó mỗi ti là 1 danh sách có thứ tự của n giá trị ti= -Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng. - Giá trị thứ i của bộ t, tương ứng với thuộc tính Ai được ký hiệu là t[Ai] . TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 null Nam 38000 5 t1 t2 t3 t4 vi Ký hiệu 16 Khóa (Key) Gọi S là một tập các thuộc tính của lược đồ quan hệ R.  S được gọi là một siêu khóa (superkey) của lược đồ quan hệ R, nếu với hai bộ bất kỳ trong R thì giá trị của các thuộc tính trong S là khác nhau. 17 18 * Lược đồ: Monhoc(Mamon, Tenmon, Sotiet) * Quan hệ: rMonhoc Mamon Tenmon Sotiet THVP Tin hoc văn phòng 30 LTC Lập trình C 60 CSDL1 Co so du lieu 45 CSDL2 Co so du lieu 45 {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet}, {Mamon, Tenmon, Sotiet} Khóa (Key) Siêu khóa: 19 MaSV MaMH Makhoa Diemthi 99001 CSDL CNTT 3.0 99002 CSDL CNTT 8.0 99001 THVP CNTT 6.0 99005 THVP AV 5.0 Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa}, Khóa (Key) * Lược đồ: Ketqua(MaSV, MaMH, Makhoa, Diemthi) * Quan hệ: rKetqua 20 MaSV Hoten Phai soCMND 99001 Nguyen van anh Nam 01245012 99002 Tran Le Tuan Nam 02209875 99003 Nguyen Thi Hong Nu 04563711 99004 Do van Thuan Nam Siêu khóa : {MaSV} , {MaSV, Hoten}, , {soCMND} , {soCMND, Hoten}, Khóa (Key) * Lược đồ: Sinhvien(MaSV, Hoten, Phai, soCMND) * Quan hệ: rSinhvien Khóa (Key) Gọi S là một tập các thuộc tính của lược đồ quan hệ R.  Siêu khoá có ít thuộc tính nhất được gọi là khóa (Primary key) hay khóa dự tuyển (candidate key). Một lược đồ quan hệ có thể có nhiều khóa (khóa dự tuyển).  Một khóa được chọn để cài đặt gọi là khóa chính (primary key). Không chứa giá trị NULL.  Khóa phức (composite key) là khóa chính có nhiều hơn một thuộc tính 21 22 MaSV Hoten Phai soCMND 99001 Nguyen van anh Nam 01245012 99002 Tran Le Tuan Nam 02209875 99003 Nguyen Thi Hong Nu 04563711 99004 Do van Thuan Nam Siêu khóa : {MaSV} , {MaSV, Hoten}, , {soCMND} , {soCMND, Hoten}, Khóa (Key) * Lược đồ: Sinhvien(MaSV, Hoten, Phai, soCMND) * Quan hệ: rSinhvien Khóa (khóa dự tuyển): {MaSV} , {soCMND} Khóa chính : {MaSV} 23 * Lược đồ: Monhoc(Mamon, Tenmon, Sotiet) * Quan hệ: rMonhoc Mamon Tenmon Sotiet THVP Tin hoc văn phòng 30 LTC Lập trình C 60 CSDL1 Co so du lieu 45 CSDL2 Co so du lieu 45 Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet}, {Mamon, Tenmon, Sotiet} Khóa (Key) Khóa (khóa dự tuyển, khóa chính) : {Mamon} 24 MaSV MaMH Makhoa Diemthi 99001 CSDL CNTT 3.0 99002 CSDL CNTT 8.0 99001 THVP CNTT 6.0 99005 THVP AV 5.0 Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa}, Khóa (Key) * Lược đồ: Ketqua(MaSV, MaMH, Makhoa, Diemthi) * Quan hệ: rKetqua Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV, MaMH} Khóa chính (Primary key)  Tính chất: - Khóa chính là cơ sở để nhận biết các bộ. - Các thuộc tính khóa chính phải có giá trị khác null. - Các thuộc tính khóa chính thường được gạch dưới.  Ký hiệu: NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 25 Khóa ngoại (Foreign key)  Khoá ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thông qua 1 thuộc tính nếu thuộc tính này đóng vai trò là khoá chính (Primary key) trong một quan hệ đã xác định thì nó chính là khoá ngoại ( Foreign key ) của quan hệ còn lại. Tính chất: - Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại. -Khóa ngoại có thể tham chiếu đến khóa chính trên cùng 1 lược đồ quan hệ. -Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính. 26 Khóa ngoại (Foreign key)  Ký hiệu: NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(TENPHG, MAPHG) Khóa chính Khóa ngoại 27 Khóa ngoại (Foreign key) 28 Khóa ngoại (Foreign key) TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 TENPHG MAPHG Nghien cuu 5 Dieu hanh 4 Quan ly 1 R S 29 Khóa ngoại (Foreign key) 30 Các qui tắc chuyển đổi từ mô hình ER sang mô hình RL (1) Tập thực thể: – Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên và tập thuộc tính. NHANVIEN TENNV NGSINH DCHI PHAI LUONG HONV MANV Lam_viec La_truong_phong PHONGBAN MAPHG TENPHG (1,1) (1,n) (1,1) (1,1) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG) PHONGBAN(MAPHG ,TENPHG) 31 (2) Mối quan hệ : Nhiều-Nhiều Tạo một quan hệ mới với: + Tên quan hệ là tên của mối quan hệ + Thuộc tính là những thuộc tính khóa của các tập thực thể liên quan. DEAN TENDA DDIEM_D A MADA NHANVIEN TENNV NGSINH DCHI PHAI LUONG HONV MANV Phan_cong (1,n) (1,n) THOIGIAN PHANCONG(MANV, MADA, THOIGIAN) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG) DEAN(MADA, TENDA, DDIEM_DA) Các qui tắc chuyển đổi từ mô hình ER sang mô hình RL 32 (2) Mối quan hệ: Một-Nhiều - Thêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiều. NHANVIEN TENNV NGSINH DCHI PHAI LUON G HONV MANV Lam_viec PHONGBAN MAPHG TENPHG (1,1) (1,n) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG) PHONGBAN(MAPHG, TENPHG) Các qui tắc chuyển đổi từ mô hình ER sang mô hình RL 33 34 Mã học viên Tên học viên Địa chỉ Ngày sinh Số điện thoại Ngày nhập học. Mã môn học Tên môn học Thời lượng HOCVIEN MONHOC Ghi danh Mối kết hợp Một-Nhiều 1 M HOCVIEN (Mã học viên, Tên học viên, địa chỉ, ngày sinh, số điện thọai, ngày nhập học, Mã môn học) MONHOC (Mã môn học, Tên môn học, thời lượng ) Chuyển khóa chính từ bên một sang làm khóa ngoại bên nhiều (2) Mối quan hệ: Một-Một - Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia. - Hoặc thêm thuộc tính khóa vào cả 2 quan hệ NHANVIEN TENNV NGSINH DCHI PHAI LUONG HONV MANV La_truong_phong PHONGBAN MAPHG TENPHG (1,1) (1,1) NG_NHANCHUC PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC) Các qui tắc chuyển đổi từ mô hình ER sang mô hình RL 35 36 NGƯỜI LÁI XE BẰNG LÁI Mã người lái xe Tên Địa chỉ Ngày sinh Mã bằng lái Loại bằng lái Ngày hết hạn Sở hữu 1 1 (1,1) (1,1) NGƯỜI LÁI XE (Mã người lái xe, tên, địa chỉ, ngày sinh) BẰNG LÁI (Mã bằng lái, lọai bằng lái, ngày hết hạn, Mã người lái xe) Hay NGƯỜI LÁI XE (Mã người lái xe, tên, địa chỉ, ngày sinh, Mã bằng lái) BẰNG LÁI (Mã bằng lái, lọai bằng lái, ngày hết hạn) Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hoặc ngược lại Mối kết hợp Một-Một (3) Thực thể yếu: - Chuyển thành một quan hệ: + Có cùng tên với thực thể yếu. + Thêm vào thuộc tính khóa của quan hệ liên quan. NHANVIEN TENNV NGSINH DCHI PHAI LUONG HONV MANV THANNHAN(MANV, TENTN, PHAI, NGSINH, QUANHE) THANNHAN TENTN PHAI NGSINH QUANHE Co_than_nhan (1,1) (1,n) Các qui tắc chuyển đổi từ mô hình ER sang mô hình RL 37

Các file đính kèm theo tài liệu này:

  • pdftran_dac_phi_hungchuong_3_mo_hinh_du_lieu_quan_he_v2_4842.pdf