Định nghĩa hình thức
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
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 đồ
NHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, GT:string, LUONG:integer, DONVI: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ự
Định nghĩa hình thức (tt)
Thể hiện quan hệ (Instance)
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
40 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 528 | Lượt tải: 0
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ệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3Mô hình dữ liệu quan hệNội dung chi tiếtGiới thiệuCác khái niệm của mô hình quan hệRàng buộc toàn vẹnCác đặc trưng của quan hệChuyển lược đồ E/R sang thiết kế quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT2Giới thiệuDo tiến sĩ E. F. Codd đưa ra“A Relation Model for Large Shared Data Banks”, Communications of ACM, 6/1970Cung cấp một cấu trúc dữ liệu đơn giản và đồng bộKhái niệm quan hệCó nền tảng lý thuyết vững chắcLý thuyết tập hợpLà cơ sở của các HQT CSDL thương mạiOracle, DB2, SQL ServerNhập môn Cơ sở dữ liệu - Khoa CNTT3Nội dung chi tiếtGiới thiệuCác khái niệm của mô hình quan hệQuan hệ (Relation)Thuộc tính (Attribute)Lược đồ (Schema)Bộ (Tuple)Miền giá trị (Domain)Ràng buộc toàn vẹn Các đặc trưng của quan hệChuyển lược đồ E/R sang thiết kế quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT41 cột là 1 thuộc tính của nhân viên1 dòng là 1 nhân viênQuan hệ 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ệTENNVHONVNSDIACHIGTLUONGPHGTungNguyen12/08/1955638 NVC Q5Nam400005HangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962Ba Ria VTNam380005Tên quan hệ là NHANVIENNhập môn Cơ sở dữ liệu - Khoa CNTT5Quan hệ (tt)Quan hệ gồmTênTập hợp các cộtCố địnhĐược đặt tênCó kiểu dữ liệuTập hợp các dòngThay đổi theo thời gianMột dòng ~ Một thực thểQuan hệ ~ Tập thưc thểNhập môn Cơ sở dữ liệu - Khoa CNTT6Thuộc tínhTê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ó dùng kiểu dữ liệuTENNVHONVNSDIACHIGTLUONGPHGTungNguyen12/08/1955638 NVC Q5Nam400005HangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962Ba Ria VTNam380005Thuộc tínhNhập môn Cơ sở dữ liệu - Khoa CNTT7Lược đồ quan hệLược đồLược đồ quan hệTên của quan hệTên của tập thuộc tínhNHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)Là tập hợpNhập môn Cơ sở dữ liệu - Khoa CNTT8Lược đồ (tt)Lược đồ CSDLGồm nhiều lược đồ quan hệLược đồ CSDLNHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)DIADIEM_PHG(MAPHG, DIADIEM)THANNHAN(MA_NVIEN, TENTN, GT, NS, QUANHE)DEAN(TENDA, MADA, DDIEM_DA, PHONG)Nhập môn Cơ sở dữ liệu - Khoa CNTT9Dữ liệu cụ thể của thuộc tínhBộ (tupe)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ệNhập môn Cơ sở dữ liệu - Khoa CNTT10Miền giá trịLà tập các giá trị nguyên tố gắn liền với một thuộc tínhKiểu dữ liệu cơ sở Chuỗi ký tự (string) Số (integer)Các kiểu dữ liệu phức tạpTập hợp (set)Danh sách (list)Mảng (array)Bản ghi (record)Ví dụTENNV: stringLUONG: integerKhông được chấp nhậnNhập môn Cơ sở dữ liệu - Khoa CNTT11Định nghĩa hình thứcLượ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 ứngKý 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 đồNHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, GT:string, LUONG:integer, DONVI:integer)NHANVIEN là một lược đồ bậc 8 mô tả đối tượng nhân viênMANV là một thuộc tính có miền giá trị là số nguyênTENNV là một thuộc tính có miền giá trị là chuỗi ký tựNhập môn Cơ sở dữ liệu - Khoa CNTT12Định nghĩa hình thức (tt)Thể hiện quan hệ (Instance)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ỗngTENNVHONVNGSINHDCHIPHAILUONGPHGTungNguyen12/08/1955638 NVC Q5Nam400005HangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962nullNam380005t1t2t3t4viNhập môn Cơ sở dữ liệu - Khoa CNTT13Thể hiện Mô hình quan hệMô hình quan hệSự kiện về thực thểSự kiện về liên kếtCác quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT14Tóm tắt các ký hiệuLược đồ quan hệ R bậc nR(A1, A2, , An)Tập thuộc tính của RR+Quan hệ (thể hiện quan hệ)R, S, P, QBột, u, vMiền giá trị của thuộc tính ADOM(A) hay MGT(A)Giá trị tại thuộc tính A của bộ thứ tt.A hay t[A]Nhập môn Cơ sở dữ liệu - Khoa CNTT15Nội dung chi tiếtGiới thiệuCác khái niệm của mô hình quan hệRàng buộc toàn vẹnSiêu khóa (Super key)KhóaKhóa chính (Primary key)Tham chiếuKhóa ngoại (Foreign key)Các đặc trưng của quan hệChuyển lược đồ E/R sang thiết kế quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT16Ràng buộc toàn vẹnRBTV (Integrity Constraint)Là những qui tắc, điều kiện, ràng buộc cần được thỏa mãn trong một thể hiện của CSDL quan hệRBTV được mô tả khi định nghĩa lược đồ quan hệRBTV được kiểm tra khi các quan hệ có thay đổiNhập môn Cơ sở dữ liệu - Khoa CNTT17Siêu khóaCác bộ trong quan hệ phải khác nhau từng đôi mộtSiêu khóa (Super Key)Gọi SK là một tập con khác rỗng các thuộc tính của RSK là siêu khóa khiSiêu khóa là tập các thuộc tính dùng để xác định tính duy nhất của mỗi bộ trong quan hệMọi lược đồ quan hệ có tối thiểu một siêu khóar,t1,t2r, t1t2t1[SK]t2[SK]Nhập môn Cơ sở dữ liệu - Khoa CNTT18KhóaĐịnh nghĩaGọi K là một tập con khác rỗng các thuộc tính của RK là khóa nếu thỏa đồng thời 2 điều kiệnK là một siêu khóa của R Nhận xétGiá trị của khóa dùng để nhận biết một bộ trong quan hệKhóa là một đặc trưng của lược đồ quan hệ, không phụ thuộc vào thể hiện quan hệKhóa được xây dựng dựa vào ý nghĩa của một số thuộc tính trong quan hệLược đồ quan hệ có thể có nhiều khóaK, K’K’Kkhông phải là siêu khóa của R, K’Nhập môn Cơ sở dữ liệu - Khoa CNTT19Khóa chính Xét quan hệCó 2 khóaMANVHONV, TENNV, NSKhi cài đặt quan hệ thành bảng (table)Chọn 1 khóa làm cơ sở để nhận biết các bộKhóa có ít thuộc tính hơnKhóa được chọn gọi là khóa chính (PK - primary key)Các thuộc tính khóa chính phải có giá trị khác nullCác thuộc tính khóa chính thường được gạch dướiNHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)Nhập môn Cơ sở dữ liệu - Khoa CNTT20Tham chiếuMột bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một thuộc tính B của quan hệ S, ta gọi R tham chiếu SBộ được tham chiếu phải tồn tại trướcTENNVHONVNSDCHIGTLUONGMAPHGTungNguyen12/08/1955638 NVC Q5Nam400005HangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962Ba Ria VTNam380005TENPHGMAPHGNghien cuu5Dieu hanh4Quan ly1RSNhập môn Cơ sở dữ liệu - Khoa CNTT21Khóa ngoạiXét 2 lược đồ R và S Gọi FK là tập thuộc tính khác rỗng của R FK là khóa ngoại (Foreign Key) của R khiCác thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính khóa chính của SGiá trị tại FK của một bộ t1RHoặc bằng giá trị tại khóa chính của một bộ t2SHoặc bằng giá trị rỗngVí dụ NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG)PHONGBAN(TENPHG, MAPHG)Khóa chínhKhóa ngoạiQuan hệ tham chiếuQuan hệ bị tham chiếuNhập môn Cơ sở dữ liệu - Khoa CNTT22Khóa ngoại (tt)Nhận xétTrong 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ạiKhóa ngoại có thể tham chiếu đến khóa chính trên cùng 1 lược đồ quan hệ VD: ?Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính. VD: ??Ràng buộc tham chiếu = Ràng buộc khóa ngoạiNhập môn Cơ sở dữ liệu - Khoa CNTT23Biểu diễn ràng buộc tham chiếuNhập môn Cơ sở dữ liệu - Khoa CNTT24Nội dung chi tiếtGiới thiệuCác khái niệm của mô hình quan hệRàng buộc toàn vẹn Các đặc trưng của quan hệChuyển lược đồ E/R sang thiết kế quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT25Các đặc trưng của quan hệ Thứ tự các bộ trong quan hệ là không quan trọngThứ tự giữa các giá trị trong một bộ là quan trọngTungNguyen12/08/1955638 NVC Q5Nam400005TENNVHONVNGSINHDCHIPHAILUONGPHGHangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962nullNam380005Bộ khácBộ Nhập môn Cơ sở dữ liệu - Khoa CNTT26Các đặc trưng của quan hệ (tt)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 nhauNhập môn Cơ sở dữ liệu - Khoa CNTT27Nội dung chi tiếtGiới thiệuCác khái niệm của mô hình quan hệRàng buộc toàn vẹn Các đặc trưng của quan hệChuyển lược đồ E/R sang thiết kế quan hệ (đọc thêm)Các qui tắc chuyển đổiNhập môn Cơ sở dữ liệu - Khoa CNTT28Các qui tắc chuyển đổi(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ínhNHANVIENTENNVNSDCHIGTLUONGHONVMANVLam_viecLa_truong_phongPHONGBANMAPHGTENPHG(1,1)(1,n)(1,1)(1,1)NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG)PHONGBAN(TENPHG, MAPHG)Nhập môn Cơ sở dữ liệu - Khoa CNTT29Các qui tắc chuyển đổi (tt)(2) Mối quan hệ(2a) Một-MộtHoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kiaHoặc thêm thuộc tính khóa vào cả 2 quan hệNHANVIENTENNVNSDCHIGTLUONGHONVMANVLa_truong_phongPHONGBANMAPHGTENPHG(1,1)(1,1)NG_NHANCHUCPHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC)Nhập môn Cơ sở dữ liệu - Khoa CNTT30Các qui tắc chuyển đổi (tt)(2) Mối quan hệ(2b) Một-NhiềuThêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiềuNHANVIENTENNVNSDCHIGTLUONGHONVMANVLam_viecPHONGBANMAPHGTENPHG(1,1)(1,n)NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG)Nhập môn Cơ sở dữ liệu - Khoa CNTT31Các qui tắc chuyển đổi (tt)(2) Mối quan hệ(2c) Nhiều-NhiềuTạ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à những thuộc tính khóa của các tập thực thể liên quanDEANTENDADDIEM_DAMADANHANVIENTENNVNGSINHDCHIPHAILUONGHONVMANVPhan_cong(1,n)(1,n)THOIGIANPHANCONG(MANV, MADA, THOIGIAN)Nhập môn Cơ sở dữ liệu - Khoa CNTT32Các qui tắc chuyển đổi (tt)(3) Thực thể yếuChuyển thành một quan hệ Có cùng tên với thực thể yếuThêm vào thuộc tính khóa của quan hệ liên quanNHANVIENTENNVNSDCHIGTLUONGHONVMANVTHANNHAN(MANV, TENTN, GT, NS, QUANHE)THANNHANTENTNGTNSQUANHECo_than_nhan(1,1)(1,n)Nhập môn Cơ sở dữ liệu - Khoa CNTT33Các qui tắc chuyển đổi (tt)(4) Thuộc tính đa trịChuyển thành một quan hệ Có cùng tên với thuộc tính đa trịThuộc tính khóa của quan hệ này là khóa ngoài của quan hệ chứa thuộc tính đa trịNHANVIENTENNVNSBANGCAPGTLUONGHONVMANVBANGCAP(MANV, BANGCAP)NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, DCHI)Nhập môn Cơ sở dữ liệu - Khoa CNTT34Các qui tắc chuyển đổi (tt)(5) Liên kết đa ngôi (n>2)Chuyển thành một quan hệ Có cùng tên với tên mối liên kết đa ngôiKhóa chính là tổ hợp các khóa của tập các thực thể tham gia liên kếtNHACUNGCAP(MANCC,)DEAN(MADA,)THIETBI(MATB,)NHACUNGCAPMANCCCung_capDEANMADATENDATHIETBIMATBSOLUONGCUNGCAP(MANCC, MATB, MADA, SOLUONG)Nhập môn Cơ sở dữ liệu - Khoa CNTT35Tổng kếtERLoại thực thểQuan hệ 1:1, 1:NQuan hệ N:MQuan hệ đa ngôiThuộc tínhThuộc tính phức hợpThuộc tính đa trịTập các giá trịThuộc tính khóaMô hình quan hệQuan hệ thực thểKhóa ngoàiQuan hệ với 2 khóa ngoàiQuan hệ với n khóa ngoàiThuộc tínhTập các thuộc tính đơnQuan hệ với khóa ngoàiMiền giá trịKhóa chính (khóa dự tuyển)Nhập môn Cơ sở dữ liệu - Khoa CNTT36Ví dụ quản lý công tyNHÂNVIÊNĐƠNVỊCONDỰÁNQuảnlýLàmviệcchoKiểm soátLàmviệc trênGiám sátCóMãsốTên ĐịađiểmHọtênMã sốHọđệmTênNgàysinhLươngGiớitínhĐịachỉNgày bắt đầuSốgiờTênNgàysinhGiớitínhTên MãsốĐịađiểm (1,N)(1,1)(1,1)(0,1)(0,N)(1,N)(1,N)(0,N)(1,1)(0,N)(0,1)Nhập môn Cơ sở dữ liệu - Khoa CNTT37Tài liệu tham khảoGiáo trình CSDLChương 3Database management systemChapter 3An introduction to Database SystemChapter 5, 13Fundamentals of Database SystemsChapter 7, 9Nhập môn Cơ sở dữ liệu - Khoa CNTT38Bài tập về nhàBài tậpChuyển đổi mô hình thực thể liên kết sang mô hình quan hệ cho bt chương 2 (TRƯỜNG và THƯ VIỆN)Nhập môn Cơ sở dữ liệu - Khoa CNTT39Nhập môn Cơ sở dữ liệu - Khoa CNTT40
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_du_lieu_chuong_3_mo_hinh_du_lieu_quan_he.ppt