Bài giảng Hệ cơ sở dữ liệu - Chương 3: Mô hình quan hệ cung cấp cho người học các kiến thức: Mô hình quan hệ (Relational model), thiết kế CSDL quan hệ bằng cách chuyển đổi từ mô hình ER sang mô hình quan hệ. Mời các bạn cùng tham khảo.
Trang 1Chương 3
Mô hình quan hệ (The relational model)
Giáo trình & Tài liệu tham khảo:
1 Ramez Elmasri, Shamkant B Navathe, 2011 Fundamentals of Database
systems, 6th edition, Addison-Wesley
2 Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM
3 Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM
4 Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM
Trang 2Nội dung
• Mô hình quan hệ (Relational model)
– Giới thiệu
– Các Khái niệm
• Thiết kế CSDL quan hệ bằng cách chuyển đổi
từ mô hình ER sang mô hình quan hệ
Trang 3Các giai đoạn thiết kế CSDL (nhắc lại)
Phụ thuộc HQT cụ thể Độc lập HQT
Thế giới thực Phân tích yêu cầu
Thiết kế mức quan niệm
Thiết kế mức logic
Thiết kế mức vật lý
Các yêu cầu về dữ liệu
Lược đồ quan niệm ( ERD )
Lược đồ logic ( RDB shema )
Lược đồ trong ( Tables )
Trang 4Giới thiệu
Mô hình Quan hệ (Relational Model)
• Do tiến sĩ E F Codd đưa ra
– “A Relation Model for Large Shared Data Banks”,
Trang 5Mô hình Quan hệ Các khái niệm
• Mô hình quan hệ đưa ra các khái niệm để mô
tả dữ liệu và các ràng buộc trên dữ liệu
• quan hệ (Relation)
• thuộc tính (Attribute)
• miền giá trị (domain)
• bộ (tuple)
• Khóa chính và khóa ngoại (Primary key, Foreign key)
• Các toàn vẹn quan hệ (contraints)
5
Trang 6Mô hình Quan hệ Các khái niệm
• Quan hệ (relation) : là một table với các cột và dòng
• Thuộc tính (attribute) : là tên của cột
• Miền giá trị của một cột (domain) : là tập các giá trị
Trang 7Lược đồ và thể hiện của một quan hệ
Relation Schema & Relation Instance
• Lược đồ quan hệ là một biểu diễn bao gồm
– Tên của quan hệ
– Tập thuộc tính của quan hệ
• Thể hiện của quan hệ là tập các bộ của quan
hệ ở một thời điểm
STUDENT(Name, Ssn, Home_phone, Address, Office_phone, Age)
7
Trang 8Lược đồ cơ sở dữ liệu quan hệ
Relational Database Schema
• Mô tả cấu trúc của một CSDL
• Lược đồ CSDL gồm nhiều lược đồ quan hệ
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)
Trang 9Các đặc tính của một quan hệ
• Một quan hệ phải có một tên phân biệt với tất cả các quan hệ khác trong lược đồ CSDL quan hệ
• Mỗi thuộc tính có một tên phân biệt
• Các giá trị của một thuộc tính phải thuộc domain
• Mỗi ô trong quan hệ chứa 1 giá trị nguyên tố
• Mỗi bộ là phân biệt Không tồn tại 2 bộ giống nhau
• Thứ tự các thuộc tính không quan trọng
• Thứ tự các bộ không quan trọng
9
Trang 10Định nghĩa hình thức
• Lược đồ quan hệ
– Gọi A1, A2, …, An là các thuộc tính
– Có các miền giá trị D1, D2, …, Dn tương ứng
– 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 đồ
Trang 11Định nghĩa hình thức
• Quan hệ (hay thể hiện quan hệ)
– 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=<v1, v2, …, vn>
trị rỗng
11
Trang 12Định nghĩa hình thức
Tóm tắt ký hiệu
• Lược đồ quan hệ R bậc n
R(A1, A2, …, An) hoặc R(A1:D1, A2:D2, …, An:Dn)
• Miền giá trị của thuộc tính A
DOM(A) hay MGT(A)
• Giá trị tại thuộc tính A của bộ thứ t
t.A hay t[A]
Trang 13Định nghĩa hình thức
Ví dụ
NHANVIEN( TENNV:string, HONV:string, NGSINH:date,
R ( A 1 : D 1 , A 2 : D 2 , … , A n : D n )
13
Trang 14Khóa của lược đồ quan hệ
• Siêu khóa
– Một/một tập thuộc tính cho phép nhận diện tính duy
nhất của một bộ trong một lược đồ quan hệ
– Một lược đồ quan hệ có nhiều siêu khóa
• Khóa dự tuyển
– Là một tập con (nhỏ nhất) của siêu khóa , cho phép nhận diện tính duy nhất của một bộ trong một lược đồ quan hệ – Một lược đồ quan hệ có thể có nhiều khóa dự tuyển
• Khóa chính (primary key)
– Khóa chính là một khóa dự tuyển được chọn để nhận
diện tính duy nhất của một bộ trong lược đồ quan hệ
Trang 15Khóa của lược đồ quan hệ
STUDENT(StudentID, Name, Ssn, Home_phone, Address,
Trang 16Khóa của lược đồ quan hệ
• Khóa ngoại (foreign key)
– Một/một tập thuộc tính trong một lược đồ quan hệ
có liên kết đến khóa chính của một lược đồ quan hệ khác
• Thể hiện mối liên hệ giữa các bộ của hai lược đồ quan hệ
• Một lược đồ quan hệ có thể có nhiều khóa ngoại
– Khóa ngoại là thể hiện (biểu diễn) của mối quan hệ
(relationship) giữa các tập thực thể
Trang 17Khóa của lược đồ quan hệ
MANV TENNV NGSINH PHGBAN
NHANVIEN ( MANV, TENNV, NGSINH , PHGBAN) PHONGBAN ( MAPB , TENPB )
Khóa chính
Khóa ngoại Khóa chính
17
Trang 18Ràng buộc toàn vẹn
• RBTV (Integrity Constraint)
– Là những qui tắc, điều kiện, ràng buộc cần được thỏa mãn cho mọi thể hiện của CSDL quan hệ
– nhằm đảm bảo tính đúng đắn của dữ liệu
• RBTV được mô tả khi định nghĩa lược đồ quan hệ
• RBTV được kiểm tra khi quan hệ hoặc các quan
hệ có thay đổi
Trang 19Các loại ràng buộc toàn vẹn
• RBTV miền giá trị (Domain Integrity Constraint)
• RBTV thực thể (Entity Integrity Constraint)
• RBTV tham chiếu (Referential Integrity Constraint)
• RBTV do người dùng định nghĩa (User-defined
Integrity Constraint)
19
Trang 20Các loại ràng buộc toàn vẹn
RBTV miền giá trị
• Giá trị của mỗi thuộc tính A là một giá trị
nguyên tử thuộc miền giá trị Dom(A)
• Với mọi bộ của quan hệ NHANVIEN
– PHAI có kiểu chuỗi , có giá trị “nam” hoặc “nữ”
– NGSINH có kiểu datetime
– TENNV có kiểu chuỗi (tối đa 50 ký tự)
Trang 21Các loại ràng buộc toàn vẹn
RBTV thực thể
• Toàn vẹn thực thể đòi hỏi khóa chính phải có
giá trị xác định , không được phép null
Trang 22Các loại ràng buộc toàn vẹn
Trang 23Các loại ràng buộc toàn vẹn
Trang 24Chuyển đổi
Từ mô hình ER sang mô hình quan hệ
• Mục tiêu là tạo ra bản thiết kế CSDL quan hệ
với đầu vào là mô hình ER
• Ánh xạ khái niệm của 2 mô hình
Mô hình quan hệ
Mô hình ER
Tập thưc thể
Thực thể Thuộc tính của tập thực thể
Khóa chính của tập thực thể
Mối quan hệ giữa các tập thực thể
•Quan hệ
•Bộ
•Thuộc tính của quan hệ
•Khóa chính của quan hệ
•Khóa ngoại của quan hệ
Trang 25Các qui tắc chuyển đổi
Tạo một quan hệ mới có
– Tên quan hệ là : tên của mối quan hệ – Thuộc tính là : thuộc tính của mối quan hệ (nếu có) và những thuộc tính khóa của các tập thực thể liên quan
– 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ệ cha
– Thuộc tính khóa của quan hệ cha tham gia vào khóa chính của quan hệ
25
Trang 26Ví dụ 1
Nhanvien(Manv, Tennv, Phai, Ngaysinh)
Phongban(MaPB, TenPB)
Trang 27Ví dụ 1
Phongban(MaPB, TenPB)
27
Trang 29Ví dụ 2
HOCVIEN(MaHV, TenHV, Điachi, Ngaysinh, SoĐT)
MONHOC (MaMH, TenMH, Thoiluong)
29
Trang 30Ví dụ 2
HOCVIEN_MONHOC(MaHV, MAMH, Ngaynhaphoc)
MONHOC (MaMH, TenMH, Thoiluong)
Trang 31Ví dụ 2
• Kết quả
HOCVIEN_MONHOC(MaHV, MAMH, Ngaynhaphoc) HOCVIEN(MaHV, TenHV, Điachi, Ngaysinh, SoĐT) MONHOC (MaMH, TenMH, Thoiluong)
Mô hình ER
Lược đồ CSDL
quan hệ
31
Trang 32Ví dụ 3
Phongban(MaPB, TenPB)
Trang 33Ví dụ 3
Nhanvien(Manv, Hoten, Phai, Ngaysinh, MaPB)
33
Trang 35Ví dụ 4
Tập Thực thể cha
Tập Thực thể con (tập thực thể yếu)
Thannhan(Hoten, Quanhe, Ngaysinh)
Nhanvien(Manv, Hoten, Phai, Ngaysinh)
35
Trang 36Ví dụ 4
Tập Thực thể cha
Tập Thực thể con (tập thực thể yếu)
Thannhan(Hoten, Manv , Quanhe, Ngaysinh)
Nhanvien(Manv, Hoten, Phai, Ngaysinh)
Trang 38Ví dụ 5
• Cho mô hình ER
Trang 39Ví dụ 5
• Lược đồ CSDL quan hệ tương ứng
NHOMHANG( MaNhom, TenNhom )
MATHANG ( MaHang, TenHang, ĐVT, Đongia , MaNhom ) KHACHHANG (MaKH, Hoten, Điachi, SoĐt )
HOADON ( SoHD, NgayLapHD, NgayGiao , MaKH )
CHITIETHD ( SoHD, MaHang , SoLuong )
Cho biết các relationships trong mô hình ER của ví dụ 5
được thể hiện ở chỗ nào trong Lược đồ CSDL quan hệ ?
39
Trang 40Ví dụ 6
• Cho mô hình ER
Trang 41Ví dụ 6
• Lược đồ CSDL quan hệ tương ứng
TACGIA ( MaTG, Ten, Email, Phone, Điachi )
SACH ( Masach, Tieude , LanXB, NamXB, Gia, ISBN, Sotrang, Theloai,
Mota )
NGUOIMUON ( MaĐG, Ten, Email, Phone, Điachi )
Chitietmuon (MaĐG, Masach , Ngaymuon, Ngaytra )
Tacgia_muon_Sach (MaTG, Masach, Ngaymuon, Ngaytra )
Tacgia_viet_Sach (MaTG, Masach)
41
Trang 42Tóm tắt
Trang 43• Super key, Primary key, Foreign key
• Referential Integrity Constraint
43
Trang 44 Khóa chính của một quan hệ có đặc tính gì ?
Một quan hệ luôn chỉ có một khóa chính Đúng hay sai ?
Phân biệt : siêu khóa, khóa dự tuyển, khóa chính của một
quan hệ ?
Khóa ngoại của một quan hệ có vai trò gì ?
Các qui tắc chuyển đổi từ mô hình ER sang mô hình quan
Trang 45Bài tập 1
• Hãy chỉ ra: Lược đồ quan hệ ? Thể hiện quan hệ ? Thuộc tính ? Bộ ? Khóa chính ?
45
Trang 46Bài tập 2
• Ssn là khóa chính của lược đồ quan hệ
EMPLOYEE Hãy chỉ ra một vài siêu khóa của lược đồ quan hệ này ?
Trang 47Bài tập 3
• Cho lược đồ CSDL
47
Trang 48Bài tập 3 (tt)
• Một thể hiện của CSDL
Trang 49Bài tập 3 (tt)
49
Trang 50Bài tập 3 (tt)
• Câu hỏi :
– Cho biết các khóa ngoại có trong các quan hệ ?
– Chỉ ra các relationship giữa các quan hệ ?
Trang 51Bài tập 4
• Chuyển đổi mô hình ER của bài tập 2, 3 , 4
(chương 2) sang mô hình quan hệ ?
51
Trang 52Bài tập 5 - Quản lý thi tốt nghiệp PTCS
giáo trình CSDL của Trần Đắc Phiến
thi(TENHĐT), họ tên chủ tịch hội đồng(TENCT), địa chỉ (ĐCHĐT),điện
Trang 53Bài tập 5 - Quản lý thi tốt nghiệp PTCS
giáo trình CSDL của Trần Đắc Phiến
(2)
Giáo viên của các trường trực thuộc phòng được điều động đến các hội đồng để coi thi, mỗi trường có thể có hoặc không có thí sinh dự thi, mỗi trường có một mã trường duy nhất (MATR), mỗi
mã trường xác định một tên trường(TENTR), địa chỉ (ĐCTR), loại hình đào tạo (LHĐT) (Công lập, chuyên, bán công, dân lập, nội trú,…)
Giáo viên của một trường có thể làm việc tại nhiều
hội đồng thi Một giáo viên có một mã giáo viên(MAGV), một mã giáo viên xác định tên giáo viên (TENGV), chuyên môn giảng dạy (CHUYENMON), chức danh trong hội đồng thi(CHUCDANH)
53
Trang 54Bài tập 5 - Quản lý thi tốt nghiệp PTCS
giáo trình CSDL của Trần Đắc Phiến
(3)
Các thí sinh dự thi có một số báo danh duy nhất(SOBD), mỗi số báo danh xác định tên thí sinh(TENTS), ngày sinh (NGSINH), giới tính (PHAI) Mỗi thí sinh được xếp thi tại một phòng thi nhất định cho tất cả các môn
Mỗi thí sinh có thể có chứng chỉ nghề (CCNGHE) hoặc không (thuộc tính
CCNGHE kiểu chuỗi, CCNGHE=”x” nếu thí sinh có chứng chỉ nghề và CCNGHE bằng rỗng nếu thí sinh không có chứng chỉ nghề)
Thí sinh của cùng một trường chỉ dự thi tại một hội đồng thi
Trang 55Bài tập 5 - Quản lý thi tốt nghiệp PTCS
giáo trình CSDL của Trần Đắc Phiến
Câu hỏi :
1 Thiết lập mô hình ER cho bài toán quản lý thi TN
PTCS ?
2 Thiết lập mô hình CSDL quan hệ cho bài toán ?
3 Xác định khóa chính cho mỗi lược đồ quan hệ ?
4 Xác định các ràng buộc toàn vẹn trong lược đồ
CSDL ?
55