Bài giảng Cơ sở dữ liệu (Database): Chương 3 - TS. Đặng Thị Thu Hiền cung cấp cho học viên các kiến thức về Mô hình quan hệ (Relational Data Model); khái niệm trong mô hình quan hệ; ràng buộc toàn vẹn; các phép toán cập nhật; các phép toán đại số quan hệ; cách chuyển từ mô hình ER sang mô hình quan hệ;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Chương Mơ hình quan hệ (Relational Data Model) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Mơ hình quan hệ 3.1 3.2 3.3 3.4 3.5 Khái niệm mơ hình quan hệ Ràng ràng buộc tồn vẹn Các phép tốn cập nhật Các phép tốn đại số quan hệ Cách chuyển từ mơ hình ER sang mơ hình quan hệ TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Các khái niệm CSDL quan hệ Mơ hình quan hệ (Relational Data Model) Thuộc tính (Attribute) Quan hệ (Relation) Bộ giá trị (Tuple) Lược đồ quan hệ (Relation schema) Thể quan hệ (Occurrence of a Relation) Khóa - Siêu khóa - Khóa dự tuyển - Khóa - Khóa ngoại Phụ thuộc hàm (Functional Dependency) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Mơ hình CSDL quan hệ Do E.F.Codd tiếp sau IBM giới thiệu năm 1970 Được ứng dụng rộng rãi Mơ hình CSDL quan hệ cách thức biểu diễn liệu dạng bảng hay gọi quan hệ Mơ hình xây dựng dựa sở lý thuyết đại số quan hệ Cấu trúc liệu tổ chức dạng quan hệ/bảng Thao tác liệu: sử dụng phép tốn ngơn ngữ SQL TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Thuộc tính (Attribute) Thuộc tính tính chất riêng biệt đối tượng cần lưu trữ CSDL để phục vụ cho việc khai thác liệu đối tượng Ví dụ: Đối tượng KHOA (tương ứng với loại thực thể KHOA mơ hình thực thể liên kết) có thuộc tính Mã-khoa, Tên-khoa Các thuộc tính đặc trưng tên gọi, kiểu giá trị miền giá trị chúng TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Thuộc tính (Attribute)… Mỗi thuộc tính phải thuộc kiểu kiểu liệu (Data Type) Kiểu liệu vơ hướng,hoặc có cấu trúc Một số kiểu liệu vơ hướng thường dùng: Text (hoặc Character, String, Char) – kiểu văn Number (hoặc Numeric, float) – kiểu số Logical (hoặc Boolean) – kiểu luận lý Date/Time – kiểu thời gian : ngày tháng năm + phút Memo (hoặc VarChar) – kiểu văn có độ dài thay đổi TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Quan hệ (Relation) Một quan hệ R có n ngơi định nghĩa tập thuộc tính U = A1 An (thứ tự thuộc tính khơng quan trọng) kèm theo vị từ, tức quy tắc để xác định mối quan hệ thuộc tính Ai ký hiệu R(A1 An) Tập thuộc tính quan hệ R ký hiệu R+ Với Ai thuộc tính có miền giá trị MGT(Ai), R(A1, A2, An) tập tích Đề-các: MGT(A1) x MGT(A2) x x MGT(An) Quan hệ gọi Bảng (Table) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Quan hệ (Relation)… Ví dụ 2.2: Quan hệ SINHVIEN (Masv, Tensv, Que) quan hệ (3 thuộc tính); Masv, Tensv Que Quy tắc: "Mỗi sinh viên có mã số sinh viên để phân biệt với sinh viên khác trường » TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Bộ giá trị (Tuple) Một giá trị thông tin đối tượng thuộc quan hệ Bộ giá trị thường gọi mẫu tin hay ghi (record) dòng bảng (Row) Về mặt hình thức, q vectơ gồm n thành phần thuộc tập hợp tích Đề-các miền giá trị thuộc tính thỏa mãn tân từ cho quan hệ: q =(a1,a2, ,an) ( MGT(A1)x(MGT(A2)x x MGT(An) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Bộ giá trị (Tuple)… Ví dụ 2.4: Trong quan hệ SINHVIEN có giá trị sau : q1 = (SV1, q2 = (SV2, q3 = (SV3, q4 = (SV4, Nguyễn Văn Anh, Hà Nội) Phạm Ngọc Bình, Hải phịng) Nguyễn Hoa Cúc, Quảng Ninh) Đinh Gia Linh, Hà Nội) Để lấy thành phần Ai (tức giá trị thuộc tính Ai) giá trị q, ta viết q.Ai Phép trích rút gọi phép chiếu lên thuộc tính Ai TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 10 Chuyển từ mơ hình ER… Bước 5: Liên kết M-N Thêm bảng/quan hệ R, chuyển khóa hai quan hệ phía M N thành khóa ngoại quan hệ R Khóa R kết hợp hai khóa ngoại TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 72 Chuyển từ mơ hình ER… Bước 6: Thuộc tính đa trị Thành bảng/quan hệ - Thuộc tính khóa (hoặc phần) thực thể chuyển thành khóa ngoại quan hệ - Khóa quan hệ khóa thân quan hệ + khóa ngoại thực thể chuyển sang TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 73 Chuyển từ mơ hình ER… Bước 7: Liên kết bậc >2 Thêm bảng/quan hệ R - Khóa quan hệ tham gia liên kết đưa làm khóa ngoại quan hệ R khóa ngoại đồng thời đóng vai trị khóa R TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 74 Chuyển từ mơ hình ER… Bước 8: Xử lý quan hệ cha con, chuyên biệt tổng quát hóa Attr(R) thuộc tính R, PK(R) khố R Chuyển đổi chun biệt hố có: m lớp { S1, S2 , … , Sm} lớp cha C, thuộc tính C { k, a1, a2 , …, an} k khố Có lựa chọn sau: Lựa chọn 1: - Tạo quan hệ L cho lớp cha C với thuộc tính Attrs(L)={k, a1, …, an} khoá L là: PK(L)=k - Tạo quan hệ Li cho lớp tương ứng Si với thuộc tính Attrs(Li)={k} U {thuộc tính Si} PK(Li)=k TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 75 Chuyển từ mơ hình ER… -> Chuyển chun biệt hố thành quan hệ sau: EMPLOYEE(SSN, FName, Minit, LName, BirthDate, Address, Salary) SECRETARY(SSN, TypingSpeed) TECHNICIAN(SSN, TGrade) ENGINEER(SSN, EngType) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 76 Chuyển từ mơ hình ER… Lựa chọn 2: Tạo quan hệ Li cho lớp Si , với thuộc tính Attr(Li) = {k, a1, a2, , am} U {thuộc tính Si} PK(Li) = k TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 77 Chuyển từ mơ hình ER… Lựa chọn 3: Tạo quan hệ L với thuộc tính Attr(L) = {k, a1, a2, …, an } U {thuộc tính S1}U… U {thuộc tính Sm} U {t} PK(L) = k Trong đó, t thuộc tính phân biệt ghi thuộc lớp nào, miền giá trị t ={1,2,…,m} Ví dụ: Đối với chuyên biệt hoá EMPLOYEE, ta tạo quan hệ L sau: (JobType thuộc tính phân biệt) EMPLOYEE(SSN, FName, Minit, LName, BirthDate, Address, Salary, TypingSpeed, Tgrad, EngType, JobType) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 78 Chuyển từ mơ hình ER… Lựa chọn 4: Tạo quan hệ L với thuộc tính Attr(L) = {k, a1 , a2 , …, an } U {thuộc tính S1} U… U {thuộc tính Sm} U {t1 , t2 , …, tmj} PK(L) = k Lựa chọn cho chuyên biệt hoá lớp nạp chồng (nhưng áp dụng cho chuyên biệt tách rời), với ti, 1≤ i ≤ m, thuộc tính BOOLEAN theo lớp Si (Mflag, Pflag thuộc tính phân biệt) ->PART (ParNo, Description, Mflag, DrawingNo, ManufactureDate, BatchNo, PFlag, SupplierName, ListPrice) TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 79 Chuyển từ mơ hình ER…… TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 80 Bài tập chương 3.1 Cho quan hệ R1, R2, R3 Thực phép toán sau TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 81 Bài tập chương 3… 3.2 Cho CSDL quản lý hàng hóa gồm quan hệ sau: HANG(MaH, TenH, SLTon); SLTon: số lượng hàng tồn kho KHACH(MaK, TenK, Diachi); địa khách giả sử tên tỉnh HOADON(SoHD, ngayHD, MaK) CHITIETHD(SoHD, MaH, SLBan, DGia); DGia đơn giá bán sản phẩm Hãy dùng đại số quan hệ viết biểu thức trả lời câu hỏi sau: Đưa danh sách địa khách hàng Đưa tên hàng số lượng tồn mặt hàng Đưa thông tin mặt hàng có số lượng tồn >5 Đưa thơng tin khách hàng có địa Hà Nội Đưa tên khách hàng mua hàng ngày 1/1/2013 TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 82 Bài tập chương 3… Đưa Đưa Đưa Đưa Đưa Mã hàng, Tên hàng có đơn giá bán >200,000 tên khách hàng Hải Phòng mua hàng ngày 2/2/2013 tên hàng bán ngày 2/2/2013 mã hàng chưa bán mã khách chưa mua hàng từ ngày 12/12/2012 3.3 Chuyển đổi tất mơ hình ER tập cuối chương sang mơ hình quan hệ TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 83 3.4 Chuyển sang mô hình quan hệ TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 84 3.5 Chuyển sang mơ hình quan hệ TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 85 3.6 Chuyển sang mơ hình quan hệ TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 86 ... đồ sở liệu C TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 13 Theo [2] TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ 14 Khóa - Siêu khóa - Khóa dự tuyển - Khóa... có thu? ??c tính Mã-khoa, Tên-khoa Các thu? ??c tính đặc trưng tên gọi, kiểu giá trị miền giá trị chúng TS Đặng Thị Thu Hiền https://sites.google.com/site/tlucse484/ Thu? ??c tính (Attribute)… Mỗi thu? ??c... 3. 1 3. 2 3. 3 3. 4 3. 5 Khái niệm mơ hình quan hệ Ràng ràng buộc tồn vẹn Các phép tốn cập nhật Các phép toán đại số quan hệ Cách chuyển từ mơ hình ER sang mơ hình quan hệ TS Đặng Thị Thu Hiền