Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
805,81 KB
Nội dung
12/09/2016 Chương 2: Mô hình dữ liệu quan hệ (Relational Data Model) Thời lượng: tiết Khoa HTTT-Đại học CNTT Nội dung Giới thiệu Một số khái niệm Ràng buộc toàn vẹn Các đặc trưng quan hệ Chuyển đổi ERD Mô hình quan hệ 12/09/2016 Giới thiệu Mơ hình Dữ liệu Quan hệ (Relational Data Model) TS E F Codd đưa năm 1970 Đây mơ hình cung cấp cấu trúc liệu đơn giản đồng dựa khái niệm quan hệ Quan hệ khái niệm toán học dựa tảng lý thuyết vững lý thuyết tập hợp Là sở HQT CSDL thương mại (Oracle, DB2, SQL Server,…) Một số khái niệm 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Quan hệ Thuộc tính Bộ giá trị Thể quan hệ Tân từ Lược đồ quan hệ Lược đồ CSDL 12/09/2016 2.1 Quan hệ (Relation) Các thông tin lưu trữ CSDL tổ chức thành bảng (table) gọi quan hệ cột thuộc tính SV MASV HOTEN NGSINH DCHI PHAI NOISINH MALOP SV001 Nguyen A 12/08/1955 638 NVC Q5 Nam SG A05 SV002 Bui B 07/19/1968 332 NTH Q1 Nu Hue B04 SV003 Le C 06/20/1951 291 HVH QPN Nu SG C044 SV004 Nguyen A 09/15/1962 Ba Ria VT Nam HN A05 dòng sinh viên Tên quan hệ SINHVIEN 2.2 Thuộc tính (Attribute) (1) Thuộc tính: – Tên gọi: dãy ký tự (gợi nhớ) – Kiểu dữ liệu: Số, Chuỗi, Thời gian, Luận lý, OLE – Miền giá trị: tập giá trị mà thuộc tính nhận Ký hiệu miền giá trị thuộc tính A Dom(A) Ví dụ: GIOITINH kiểu dữ liệu Chuỗi; Miền giá trị: Dom(GIOITINH)=(‘Nam’,’Nu’) Chú ý: Một thuộc tính khơng có giá trị chưa xác định giá trị => giá trị Null 12/09/2016 2.2 Thuộc tính (Attribute) (2) Tên cột quan hệ Mô tả ý nghĩa cho giá trị cột Tất liệu cột có dùng kiểu liệu Thuộc tính MASV HOTEN NGSINH DCHI PHAI NOISINH MALOP A05 SV001 Nguyen A 12/08/1955 638 NVC Q5 Nam SG SV002 Bui B 07/19/1968 NULL Nu Hue B04 SV003 Le C 06/20/1951 291 HVH QPN Nu SG C044 SV004 Nguyen A 09/15/1962 Ba Ria VT Nam HN A05 2.3 Bộ (Tuple) Bộ dòng quan hệ (trừ dòng tiêu đề: tên thuộc tính) Thể dữ liệu cụ thể thuộc tính quan hệ Một quan hệ Q( A1 , A2 , , An ) q (a1 , a2 , , an ) với ai Dom( Ai ) Ví dụ: < SV001, Nguyen A, 12/08/1955, 638 NVC Q5, Nam, SG, A05 > Dữ liệu cụ thể thuộc tính 12/09/2016 Tóm tắt Một quan hệ gồm: Tên quan hệ Tập hợp cột (cố định, đặt tên, có KDL) Tập hợp dịng (thay đổi theo thời gian, thay đổi phụ thuộc vào NSD) Mỗi dòng Quan hệ Một thực thể Tập thực thể 2.4 Thể quan hệ (Instance) Định nghĩa: Thể quan hệ tập hợp giá trị quan hệ thời điểm định Ký hiệu: thể quan hệ Q TQ Ví dụ: TSINHVIEN thể quan hệ SINHVIEN thời điểm gồm có sau: MASV HOTEN NGSINH DCHI PHAI NOISINH MALOP SV001 Nguyen A 12/08/1955 638 NVC Q5 Nam SG A05 SV002 Bui B 07/19/1968 332 NTH Q1 Nu Hue B04 SV003 Le C 06/20/1951 291 HVH QPN Nu SG C044 SV004 Nguyen A 09/15/1962 Ba Ria VT Nam HN A05 10 12/09/2016 2.5 Tân từ Định nghĩa: Tân từ quy tắc dùng để mô tả quan hệ Ký hiệu: ||Q|| Ví dụ: THI (MaSV, MaMH, Lanthi, Diem) ||THI||: sinh viên phép thi môn học nhiều lần, lần thi lưu trữ sinh viên thi mơn gì? lần thi thứ mấy? điểm bao nhiêu? 11 2.6 Lược đồ quan hệ (1) Mục đích: Mơ tả cấu trúc quan hệ Các mối liên hệ giữa thuộc tính quan hệ Cấu trúc quan hệ: tập thuộc tính hình thành nên quan hệ Một lược đồ quan hệ gồm: Một tập thuộc tính quan hệ, kèm theo Một mô tả để xác định ý nghĩa mối liên hệ giữa thuộc tính 12 12/09/2016 2.6 Lược đồ quan hệ (2) Lược đồ quan hệ đặc trưng bởi: – Một tên phân biệt – Một tập hợp hữu hạn thuộc tính (A1, …, An) Ký hiệu: Lược đồ quan hệ Q gồm n thuộc tính (A1, A2, An) là: Q(A1, A2, , An) Ví dụ 1: Lược đồ quan hệ NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG) 13 Là tập hợp 2.6 Lược đồ quan hệ (3) Ví dụ 2: Lược đồ quan hệ SINHVIEN SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop) Tân từ: Mỗi sinh viên có mã sinh viên để phân biệt với sinh viên khác Cần lưu trữ họ tên, giới tính, nơi sinh thuộc lớp SINHVIEN TSINHVIEN 14 MaSV HoTen K1103 Ha Duy Lap Nam Gioitinh Nghe An Noisinh K11 Malop K1102 Tran Ngoc Han Nu Kien Giang K11 K1104 Tran Ngoc Linh Nu Tay Ninh K11 K1105 Tran Minh Long Nam TpHCM K11 K1106 Le Nhat Minh Nam TpHCM K11 12/09/2016 2.7 Lược đồ CSDL (1) Là tập hợp gồm lược đồ quan hệ mối liên hệ chúng HT quản lý Các CSDL Hệ Quản Trị CSDL Các quan hệ 15 2.7 Lược đồ CSDL (2) Ví dụ: Lược đồ CSDL quản lý giáo vụ (1) SINHVIEN (MASV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP) Tân từ: sinh viên phân biệt với mã sinh viên, lưu trữ họ tên, ngày sinh, giới tính, nơi sinh, thuộc lớp LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN) Tân từ: lớp gồm có mã lớp, tên lớp, học viên làm lớp trưởng lớp, sỉ số lớp giáo viên chủ nhiệm KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA) Tân từ: khoa cần lưu trữ mã khoa, tên khoa, ngày thành lập khoa trưởng khoa (cũng giáo viên thuộc khoa) MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA) Tân từ: môn học cần lưu trữ tên mơn học, số tín lý thuyết, số tín thực hành khoa phụ trách DIEUKIEN (MAMH, MAMH_TRUOC) Tân từ: có mơn học sinh viên phải có kiến thức từ số mơn học trước 16 12/09/2016 2.7 Lược đồ CSDL (3) Ví dụ: Lược đồ CSDL quản lý giáo vụ (2) GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL, HESO, MUCLUONG, MAKHOA) Tân từ: mã giáo viên để phân biệt giáo viên, cần lưu trữ họ tên, học vị, học hàm, giới tính, ngày sinh, ngày vào làm, hệ số, mức lương thuộc khoa GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY) Tân từ: học kỳ năm học phân công giảng dạy: lớp học mơn giáo viên phụ trách KETQUATHI (MASV, MAMH, LANTHI, NGTHI, DIEM, KQUA) Tân từ: lưu trữ kết thi sinh viên: sinh viên thi mơn học gì, lần thi thứ mấy, ngày thi ngày nào, điểm thi kết đạt hay khơng đạt 17 Tóm tắt ký hiệu Quan hệ: R, S, P, Q,… Thể quan hệ Q: TQ Bộ: t, u, v,… Miền giá trị thuộc tính A: DOM(A) hay MGT(A) Giá trị thuộc tính A thứ t: 18 Lược đồ quan hệ Q bậc n: Q( A1 , A2 , , An ) Tập thuộc tính Q: Q A1 , A2 , , An t.A hay t[A] 12/09/2016 Ràng buộc toàn vẹn (1) RBTV (Integrity Constraint) những: Qui tắc, Điều kiện, Ràng buộc cần thỏa mãn thể CSDL quan hệ RBTV mô tả định nghĩa lược đồ quan hệ RBTV kiểm tra quan hệ có thay đổi 19 Ràng buộc toàn vẹn (2) 3.1 Siêu khóa (super key) 3.2 Khóa (key) 3.3 Khóa (primary key) 3.4 Tham chiếu 3.5 Khóa ngoại (foreign key) 20 10 12/09/2016 3.1 Siêu khóa (super key) (1) Siêu khóa: tập thuộc tính Q+ mà giá trị chúng phân biệt khác thể TQ Nghĩa là: t1, t2 TQ, t1[K] t2[K] K siêu khóa Q Siêu khóa tập thuộc tính dùng để xác định tính quan hệ Một quan hệ có siêu khóa (Q+) có nhiều siêu khóa 21 3.1 Siêu khóa (super key) (2) Ví dụ: Các siêu khóa quan hệ SINHVIEN là: {MaSV};{MaSV,Hoten};{Hoten};{Noisinh,Hoten}… SINHVIEN MaSV HoTen Gioitinh Noisinh Malop K1103 Ha Duy Lap Nam Nghe An K11 K1102 Tran Ngoc Han Nu Kien Giang K11 K1104 Tran Ngoc Linh Nu Tay Ninh K11 K1105 Tran Minh Long Nam TpHCM K11 K1106 Le Nhat Minh Nam TpHCM K11 22 11 12/09/2016 3.2 Khóa (key) (1) Khóa: K khóa quan hệ R, thỏa mãn điều kiện: – K siêu khóa – K siêu khóa “nhỏ nhất” (chứa thuộc tính khác rỗng) nghĩa là: ¬K1 K, K1 , K1 siêu khóa Thuộc tính tham gia vào khóa gọi thuộc tính khóa, ngược lại thuộc tính khơng khóa 23 3.2 Khóa (key) (2) Ví dụ 1: SINHVIEN (MASV, HOTEN, NGSINH, GIOITINH, NOISINH, MALOP) Các siêu khóa quan hệ SINHVIEN là: {MaSV};{MaSV,Hoten};{Hoten};{Hoten,Gioitinh};{Noisinh,Hoten}; {MaSV,Hoten,Gioitinh,Noisinh}… => Khóa quan hệ SINHVIEN là: {MaSV}; {Hoten} Ví dụ 2: GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY) Khóa quan hệ GIANGDAY là: K={MaGV,MaMH,MaLop} => Thuộc tính khóa là: MaGV,MaMH,MaLop 24 12 12/09/2016 Nhận xét Giá trị khóa dùng để nhận biết quan hệ Khóa đặc trưng lược đồ quan hệ, không phụ thuộc vào thể quan hệ Khóa xây dựng dựa vào ý nghĩa số thuộc tính quan hệ Lược đồ quan hệ có nhiều khóa 25 3.3 Khóa (primary key) Định nghĩa: Khi cài đặt DBMS cụ thể, quan hệ có nhiều khóa, ta chọn gọi khóa Ký hiệu: Các thuộc tính nằm khóa liệt kê quan hệ phải gạch Ví dụ: – – SINHVIEN (MaSV,Hoten,Gioitinh,Noisinh,Malop) GIANGDAY(Magv,Mamh,Malop,Hocky,Nam) 26 13 12/09/2016 3.4 Tham chiếu Một quan hệ R, thuộc tính A nhận giá trị từ thuộc tính B quan hệ S, ta gọi R tham chiếu S – Bộ tham chiếu phải tồn trước S R 27 TENPHG MAPHG Nghien cuu Dieu hanh Quan ly TENNV HONV NS DCHI GT LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 3.5 Khóa ngoại (1) Xét lược đồ R S Gọi FK tập thuộc tính khác rỗng R FK khóa ngoại (Foreign Key) R khi: Các thuộc tính FK phải có miền giá trị với thuộc tính khóa S Giá trị FK t1R Hoặc giá trị khóa t 2S Hoặc giá trị rỗng 28 14 12/09/2016 3.5 Khóa ngoại (2) Ví dụ: Cho quan hệ LOP (Malop,Tenlop,Siso,Khoahoc) SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop) Thuộc tính Malop quan hệ LOP khóa quan hệ LOP Thuộc tính Malop quan hệ SINHVIEN khóa ngoại, tham chiếu đến Malop quan hệ LOP 29 3.5 Khóa ngoại (3) SINHVIEN MaSV HoTen Gioitinh Noisinh Malop K1103 Ha Duy Lap Nam Nghe An K11 K1102 Tran Ngoc Han Nu Kien Giang K11 K1104 Tran Ngoc Linh Nu Tay Ninh K12 K1105 Tran Minh Long Nam TpHCM K14 K1106 Le Nhat Minh Nam TpHCM K11 LOP Malop 30 Tenlop Trglop Sis o Magvcn K11 Lop khoa K1106 11 GV07 K12 Lop khoa K1205 12 GV09 K13 Lop khoa K1305 12 GV14 15 12/09/2016 Nhận xét Trong lược đồ quan hệ, thuộc tính vừa tham gia vào khóa chính, vừa tham gia vào khóa ngoại Khóa ngoại tham chiếu đến khóa lược đồ quan hệ Có thể có nhiều khóa ngoại tham chiếu đến khóa Ràng buộc tham chiếu = Ràng buộc khóa ngoại Quan hệ tham chiếu Ví dụ: NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG) PHONGBAN(TENPHG, MAPHG) Khóa ngoại 31 Quan hệ bị tham chiếu Khóa 32 16 12/09/2016 Các đặc trưng quan hệ (1) Thứ tự quan hệ không quan trọng HONV TENNV NGSINH DCHI PHAI LUONG PHG Nguyen Tung Bui Hang 12/08/1955 638 NVC Q5 Nam 40000 07/19/1968 332 NTH Q1 Nu 25000 Le Nhu 06/20/1951 291 HVH QPN Nu 43000 Nguyen Hung 09/15/1962 null Nam 38000 Thứ tự giữa giá trị quan trọng Bộ khác Bộ 33 Các đặc trưng quan hệ (2) Mỗi giá trị – – Hoặc giá trị nguyên tố Hoặc giá trị rỗng (null) Khơng có trùng 34 17 12/09/2016 Chuyển đổi ERD B1: Chuyển đổi tập thực thể thành lược đồ quan hệ B2: Chuyển đổi mối quan hệ: quan hệ Một - Một Một – Nhiều Nhiều – Nhiều B3: Chuyển đổi tập thực thể yếu thành quan hệ B4: Chuyển đổi thuộc tính đa trị thành quan hệ B4: Chuyển đổi mối quan hệ đa thành quan hệ 35 B1) Các tập thực thể (trừ tập thực thể yếu): Chuyển thành quan hệ có tên tập thuộc tính MANV NS LUONG DCHI TENPHG MAPHG HONV TENNV GT NHANVIEN (1,1) (1,1) Lam_viec (1,n) La_truong_phong PHONGBAN (1,1) PHONGBAN(TENPHG, MAPHG) NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG) 36 18 12/09/2016 B2) Chuyển đổi mối quan hệ: Một-Một – – Hoặc thêm vào quan hệ thuộc tính khóa quan hệ Hoặc thêm thuộc tính khóa vào quan hệ MANV NS LUONG DCHI TENPHG MAPHG HONV TENNV (1,1) GT 37 NG_NHANCHUC NHANVIEN La_truong_phong PHONGBAN (1,1) PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC) B2) Mối quan hệ: Một-Nhiều Thêm vào quan-hệ-một thuộc tính khóa quan-hệ-nhiều MANV NS LUONG DCHI TENPHG MAPHG HONV TENNV NHANVIEN (1,1) Lam_viec (1,n) PHONGBAN GT NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG) 38 19 12/09/2016 B2) Mối quan hệ: Nhiều-Nhiều Tạo quan hệ có: Tên quan hệ tên mối quan hệ Thuộc tính những thuộc tính khóa tập thực thể liên quan MANV NGSINH LUONG DCHI DDIEM_DA HONV TENNV NHANVIEN (1,n) PHAI 39 DEAN THOIGIAN MADA TENDA Phan_cong (1,n) PHANCONG(MANV, MADA, THOIGIAN) B3) Thực thể yếu Chuyển thành quan hệ: Có tên với thực thể yếu Thêm vào thuộc tính khóa quan hệ liên quan MANV NS LUONG HONV TENNV GT DCHI (1,n) NHANVIEN Co_than_nhan (1,1) THANNHAN QUANHE NS GT TENTN 40 THANNHAN(MANV, TENTN, GT, NS, QUANHE) 20 12/09/2016 B4) Thuộc tính đa trị Chuyển thành quan hệ: Có tên với thuộc tính đa trị Thuộc tính khóa quan hệ khóa ngồi quan hệ chứa thuộc tính đa trị MANV NS LUONG BANGCAP HONV TENNV NHANVIEN BANGCAP(MANV, BANGCAP) GT NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, DCHI) 41 B5) Liên kết đa (n>2) Chuyển thành quan hệ: Có tên với tên mối liên kết đa ngơi Khóa tổ hợp khóa tập thực thể tham gia liên kết SOLUONG MANCC NHACUNGCAP Cung_cap TENDA MADA DEAN DEAN(MADA,…) MATB NHACUNGCAP(MANCC,…) 42 THIETBI THIETBI(MATB,…) CUNGCAP(MANCC, MATB, MADA, SOLUONG) 21 12/09/2016 Tổng kết ER – – – – – – – – – Loại thực thể Quan hệ 1:1, 1:N Quan hệ N:M Quan hệ đa Thuộc tính Thuộc tính phức hợp Thuộc tính đa trị Tập giá trị Thuộc tính khóa Mơ hình quan hệ – – – – – – – – – Quan hệ thực thể Khóa ngồi Quan hệ với khóa ngồi Quan hệ với n khóa ngồi Thuộc tính Tập thuộc tính đơn Quan hệ với khóa ngồi Miền giá trị Khóa (khóa dự tuyển) 43 Ví dụ: Chuyển đổi mô hình E-R sau thành mô hình quan hệ: Mã SV Họ tên SV Địa (1,1) SINH VIÊN (1, n) Thuộc lớp LỚP Mã lớp Tên lớp Sĩ số (1,1) NTNS Thuộc khoa (1,n) KHOA Mã khoa Tên khoa Ngày thành lập 44 22 12/09/2016 Ví dụ 1: SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp) LỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa) KHOA (Mã khoa, Tên khoa, Ngày thành lập) 45 23 ... Là sở HQT CSDL thương mại (Oracle, DB2, SQL Server,…) Một số khái niệm 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 Quan hệ Thuộc tính Bộ giá trị Thể quan hệ Tân từ Lược đồ quan hệ Lược đồ CSDL 12/ 09 /20 16... 12/ 09 /20 16 Giới thiệu Mơ hình Dữ liệu Quan hệ (Relational Data Model) TS E F Codd đưa năm 1970 Đây mơ hình cung cấp cấu trúc liệu đơn giản đồng dựa khái niệm quan hệ Quan hệ khái... dòng Quan hệ Một thực thể Tập thực thể 2. 4 Thể quan hệ (Instance) Định nghĩa: Thể quan hệ tập hợp giá trị quan hệ thời điểm định Ký hiệu: thể quan hệ Q TQ Ví dụ: TSINHVIEN thể quan hệ SINHVIEN