intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng CSDL: Chương 3 - Mô hình Cơ sở dữ liệu quan hệ

Chia sẻ: Minh Minh | Ngày: | Loại File: PDF | Số trang:28

452
lượt xem
20
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mô hình Cơ sở dữ liệu 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, 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ệ, 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ệ. Mời bạn đọc tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng CSDL: Chương 3 - Mô hình Cơ sở dữ liệu quan hệ

  1. 1
  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  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ệ  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ệ. 2
  3. Các khái niệm  Quan hệ / bảng  Thuộc tính  Bộ  Lược đồ quan hệ  Khóa 3
  4. hệ Quanlưu trữ trong CSDL Quan hệ được tổ chức thành các  Dữ liệu Quan hệ (relation)  Quan hệ (relation) thể hiện ra như là bảng (table)  Một quan hệ có :  Một tên  Tập hợp các thuộc tính (attribute), có tên và kiểu dữ liệu  Tập hợp các bộ (tuple), có thể thay đổi theo thời gian 4
  5. Quan hệ và bảng Thuật ngữ tương đương : • Quan hệ, bộ, thuộc tính (Relation, tuple, attribute) • Bảng, dòng, cột (Table, row, column) MASV MAMH MAKHOA DIEMTHI 99001 CSDL CNTT 3.0 99002 CSDL CNTT 8.0 99001 THVP CNTT 6.0 99005 THVP AV 5.0 5
  6. Thuộc tính Một thuộc tính bao gồm :  Tên thuộc tính  Tên phân biệt  Giúp diễn giải ý nghĩa thuộc tính (thuộc tính của thực thể, hay mối kết hợp)  Kiểu dữ liệu thuộc tính  Số nguyên, số thực, văn bản, logic,…  Miền giá trị xác định  Có thể bị áp đặt bởi qui tắc nghiệp vụ, hay ràng buộc dữ liệu  Có thể NULL 6
  7. Bộ và quan hệ  Mỗi bộ (dòng) là một tổ hợp các giá trị tương ứng với các thuộc tính của quan hệ  mô tả về một thực thể , hay một mối kết hợp có trong thế giới thực  Một tập các bộ xác định tại một thời điểm, gọi là một thể hiện của lược đồ quan hệ (hay quan hệ)  Ký hiệu: r(Ketqua)  Không có 2 bộ trùng nhau trong một quan hệ  khóa  Trật tự của các bộ (và các thuộc tính) là không quan trọng đối với DBMS. 7
  8. Lược đồ hệ - relationhệ  Lược đồ quan Quan schema  Mô tả cấu trúc của quan hệ  Các thuộc tính và Mối liên hệ giữa các thuộc tính  Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó. Vd, 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)  Lược đồ CSDL  Tập hợp các lược đồ quan hệ trong cùng một CSDL 8
  9. Khóa (Key hay candidate 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  Siêu khoá có ít thuộc tính nhất được gọi là khóa (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 ngoại (foreign key) là thuộc tính của LĐQH này nhưng lại là khóa chính của LĐQH khác  Khóa phức (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 9
  10. Khóa _ ví dụ 1  Monhoc(Mamon, Tenmon, Sotiet) 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 (khóa dự tuyển, khóa chính) : {Mamon} 10
  11. Khóa _ ví dụ 2  Ketqua(MaSV, MaMH, Makhoa, Diemthi) rKQ 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 (khóa dự tuyển, khóa chính , khóa phức): {MaSV, MaMH} Khóa ngoại : {Makhoa} 11
  12. Khóa _ ví dụ 3  Sinhvien(MaSV, Hoten, Phai, soCMND) rSV 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 (khóa dự tuyển): {MaSV} , {soCMND} Khóa chính : {MaSV} 12
  13. Đại số quan hệ  Khái niệm  Các phép toán đại số quan hệ  Ví dụ 13
  14. Giới thiệu  Đại số quan hệ (và phép tính quan hệ) được định nghĩa bởi Codd 1971  được xem như là nền tảng của các ngôn ngữ quan hệ khác như SQL  Là ngôn ngữ thủ tục bậc cao  Được dùng để chỉ ra cách xây dựng một quan hệ mới từ một hay nhiều quan hệ trong DB  Bao gồm tập các phép toán thao tác trên các quan hệ 14
  15. Phép tích Descartes Cho quan hệ r trên lược đồ R(A1, A2,..,Am) và s trên lược đồ S(B1,B2,…,Bn) Nếu R và S có các thuộc tính trùng tên, thì phải đổi tên.  Phép tích Descartes của r và s là 1 quan hệ trên lược đồ T(A1, A2,.., Am, B1, B2, ….,Bn) r x s ={ t |  tr  r và ts  s với t[A1, A2,.., Am] = tr và t[B1, B2, ….,Bn] = ts } 15 15
  16. Phép tích Descartes – ví dụ 1  Relations r, s: rxs MASV MAMH DIEM MAMH TENMH 99001 CSDL 5.0 CSDL COSO DULIEU 99002 FOX 2.0 FOX FOXPRO 99003 MANG 8.0 MASV MAMH DIEM MAMH TENMH 99001 CSDL 5.0 CSDL COSO DULIEU 99001 CSDL 5.0 FOX FOXPRO 99002 FOX 2.0 CSDL COSO DULIEU 99002 FOX 2.0 FOX FOXPRO 99003 MANG 8.0 CSDL COSO DULIEU 99003 MANG 8.0 FOX FOXPRO 16
  17. Phép tích Descartes  ứng dụng :  phép tích Descartes là một phép tính vô nghĩa nếu đứng riêng. Tuy nhiên, nếu kết hợp sau phép toán này một phép chọn phù hợp , kết quả sẽ có nghĩa : kết hợp các bộ có liên quan từ hai quan hệ.  Vd : Hiển thị bảng điểm của các sinh viên. Bao gồm MaSV, MaMH, Diem, TenMH => Viết biểu thức đại số quan hệ ? (r x s) ( r.MaMH = s.MaMH) 17 17
  18. Ràng buộc toàn vẹn  Ràng buộc tòan vẹn là gì  Các loại ràng buộc toàn vẹn  Biểu diễn ràng buộc toàn vẹn 18
  19. Khái niệm  Ràng buộc toàn vẹn (integrity constraint) là qui tắc mà tất cả các dữ liệu trong CSDL phải thỏa mãn  Nguồn gốc : xuất phát từ các qui tắc nghiệp vụ trong thế giới thực và những đặc tính của mô hình quan hệ  đảm bảo dữ liệu phản ánh đúng thế giới thực, đảm bảo những đặc trưng của mô hình quan hệ  Các dạng :  Ràng buộc toàn vẹn thực thể (ràng buộc khóa chính)_ Entity integrity  Ràng buộc toàn vẹn tham chiếu (ràng buộc phụ thuộc tồn tại / ràng buộc khóa ngọai)_ Referential integrity  Ràng buộc toàn vẹn miền giá trị _ Domain integrity  Ràng buộc toàn vẹn do người dùng định nghĩa _ User-defined integrity 19
  20. Khái niệm Mô tả một ràng buộc toàn vẹn (RBTV): thông qua 3 yếu tố Bối cảnh : nêu ra tên một hay một số quan hệ mà RBTV đó có hiệu lực Biểu diễn : nội dung của một RBTV được biểu diễn bằng ngôn ngữ tự nhiên hoặc bằng một ngôn ngữ hình thức Bảng tầm ảnh hưởng: xác định thời điểm (cập nhật dữ liệu) cần phải tiến hành kiểm tra RBTV 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2