Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ, cung cấp cho người học những kiến thức như: Các khái niệm cơ bản trong mô hình quan hệ; Quan hệ; Thuộc tính; Lược đồ; Khóa. Mời các bạn cùng tham khảo!
12/07/2018 Nội dung Chương II Các khái niệm mơ hình quan hệ Quan hệ Thuộc tính MƠ HÌNH CSDL QUAN HỆ Kiểu liệu Miền giá trị Bộ Lược đồ Khóa Siêu khóa | Khóa Khóa | Khóa ngoại Giới thiệu Quan hệ (Relation) Mơ hình CSDL quan hệ (gọi tắt mơ hình quan hệ) Các thông tin lưu trữ CSDL tổ chức thành Edgar Frank Codd đề xuất năm 1970, bao gồm: bảng chiều gọi quan hệ Ví dụ: Quan hệ SINHVIEN mơ tả đối tượng sinh viên Hệ thống ký hiệu để mơ tả liệu dạng dịng cột quan hệ, bộ, thuộc tính, khóa chính, khố ngoại… cột thuộc tính sinh viên Một tập hợp phép toán thao tác liệu dòng sinh viên Ràng buộc quan hệ Các hệ quản trị CSDL quan hệ ngày xây dựng dựa vào lý thuyết mơ hình quan hệ Là sở Hệ quản trị CSDL thương mại: Oracle, MS SQL Server… 12/07/2018 Quan hệ (Relation) Thuộc tính Quan hệ gồm Tên Các cột: Được đặt tên & có kiểu liệu Tập hợp dòng: Thay đổi theo thời gian Một dòng ~ Một thực thể Là 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 Quan hệ ~ Tập thực thể Mỗi quan hệ bảng, bảng quan hệ Thuộc tính Thuộc tính Kiểu liệu thuộc nh Text (hoặc Character, Char, String): Kiểu văn Number (hoặc Numeric, Float): Kiểu số Yes/No (hoặc Boolean): Kiểu luận lý Date/Time: Kiểu thời gian (Ngày/tháng/năm + Giờ:phút:giây) Miền giá trị thuộc nh Ví dụ: Họ tên: Tập hợp dãy chữ có độ dài tối đa 30 Tuổi: Tập số nguyên nằm khoảng từ đến 120 Điểm học tập: Có miền giá trị từ đến 10 Giới tính: Tập hợp gồm giá trị “Nam”, “Nữ” 12/07/2018 Thuộc tính Bộ Loại giá trị thuộc tính Đơn trị: Các thuộc tính có giá trị cho thực thể (Ví dụ: Số CMND, Mã SV…) Đa trị: Các thuộc tính có tập giá trị cho thực thể (Ví dụ: Bằng cấp) Suy diễn được: Các thuộc tính có giá trị suy từ thuộc tính khác (Ví dụ: Thuộc tính Tuổi suy từ thuộc tính Năm sinh…) Là dòng quan hệ (trừ dòng tiêu đề/tên thuộc tính) thể liệu cụ thể thuộc tính quan hệ Các dịng khơng thể trùng liệu với Các quan hệ phải khác đôi Thứ tự dòng quan hệ không quan trọng 10 Bộ Lược đồ Cho quan hệ SINHVIEN Lược đồ quan hệ, bao gồm: Tên quan hệ Tập hợp thuộc tính Sự thể lược đồ quan hệ thời điểm gọi quan hệ Tại thời điểm khác quan hệ có thể khác T1 = (A01, Nguyễn Thu, Hải, No, 25/02/1980, Sài Gòn, TR) quan hệ SINHVIEN T1 = (A01, Hải, Nguyễn Thu, No, 25/02/1980, Sài Gịn, TR) khơng quan hệ SINHVIEN Tên quan hệ SINHVIEN (MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) Tập hợp thuộc tính 11 12 12/07/2018 Lược đồ Siêu khóa Lược đồ CSDL: Gồm nhiều lược đồ quan hệ Gọi SK tập thuộc tính quan hệ R SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) SK siêu khóa khi: Xét t1, t2 R t1, t2 R: t1 t2 t1.[SK] t2.[SK] Ví dụ: Xét quan hệ SINHVIEN, MASV siêu khóa Xét t1, t2: t1 t2 t1.[MASV] t2.[MASV] 13 14 Siêu khóa Siêu khóa Siêu khóa tập thuộc tính dùng để xác định tính Ví dụ: Xét quan hệ SINHVIEN, xác định siêu khóa (SK) SK1: {MASV} ? SK2: {MASV, HOSV, TENSV} ? SK3: {HOSV, TENSV} ? SK4: {HOSV, TENSV, PHAI, NGAYSINH, NOISINH, MAKHOA} ? quan hệ Mọi lược đồ quan hệ có tối thiểu siêu khóa Có thể có nhiều siêu khóa Ví dụ: Xét quan hệ SINHVIEN, xác định siêu khóa 15 16 12/07/2018 Khóa Khóa Tập thuộc tính K khóa thỏa mãn đồng thời điều kiện: K siêu khóa R Bỏ thuộc tính khỏi K cịn lại tập K khơng phải siêu khố R Khơng thể bỏ thuộc tính khỏi K Ví dụ: Xét quan hệ SINHVIEN, có siêu khóa (SK) SK1: {MASV} SK2: {MASV, HOSV, TENSV} SK3: {HOSV, TENSV, PHAI, NGAYSINH, NOISINH, MAKHOA} Xác định khóa! 17 Khóa 18 Xác định Khóa Nhận xét: Khoá siêu khoá tối thiểu (siêu khoá chứa thuộc tính nhất) Giá trị khóa dùng để nhận biết 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 19 20 12/07/2018 Xác định Khóa Ví dụ: Xác định khóa 21 22 Khóa (Primary Key) Khóa (Primary Key) Khóa chọn để cài đặt hệ quản trị Xét quan hệ SINHVIEN có khóa: K1 {MASV} K2 {HOSV, TENSV, PHAI, NGAYSINH, NOISINH, MAKHOA} Khi chọn để cài đặt khóa Hệ quản trị CSDL: Khóa K1 {MASV} Khóa (Khóa có thuộc tính hơn) CSDL Tính chất khóa chính: Khóa phải có tính dùng để phân biệt với quan hệ Khóa có tính nhỏ nhất: Khi ta bỏ qua thuộc tính khơng cịn tính Khóa có tính ổn định giá trị khóa khơng thay đổi 23 24 12/07/2018 Ví dụ: Xác định khóa ngoại Khóa ngoại Một thuộc tính gọi khóa ngoại thuộc tính lược đồ quan hệ lại khóa lược đồ quan hệ khác 25 26 Khóa ngoại Ví dụ: Xác định khóa ngoại FK khóa ngoại (Foreign Key) R 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 Hoặc giá trị khóa Hoặc giá trị rỗng 27 28 12/07/2018 Khóa ngoại Tổng kết Chương II 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ệ VD: ? Có thể có nhiều khóa ngoại tham chiếu đến khóa VD: ?? Các khái niệm mơ hình quan hệ Quan hệ Thuộc tính Kiểu liệu Miền giá trị Bộ Lược đồ Khóa Siêu khóa | Khóa Khóa | Khóa ngoại 29 30 ... dịng khơng thể trùng liệu với Các quan hệ phải khác đôi Thứ tự dịng quan hệ khơng quan trọng 10 Bộ Lược đồ Cho quan hệ SINHVIEN Lược đồ quan hệ, bao gồm: Tên quan hệ Tập hợp thuộc tính... 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 Quan hệ ~ Tập thực thể Mỗi quan hệ bảng, bảng quan hệ Thuộc tính Thuộc tính Kiểu liệu thuộc nh Text (hoặc... chiếu đến khóa lược đồ quan hệ VD: ? Có thể có nhiều khóa ngoại tham chiếu đến khóa VD: ?? Các khái niệm mơ hình quan hệ Quan hệ Thuộc tính Kiểu liệu Miền giá trị Bộ Lược đồ Khóa