Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 3: Mô hình dữ liệu quan hệ (Phần 1)
Bạn đang xem tài liệu "Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 3: Mô hình dữ liệu quan hệ (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ky_thuat_phan_mem_ung_dung_chuong_3_mo_hinh_du_lie.pdf
Nội dung text: Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 3: Mô hình dữ liệu quan hệ (Phần 1)
- Kỹ thuật phần mềm ứng dụng Chương 3 Mô hình dữ liệu quan hệ (Phần 1) 9/6/2017
- Nội dung chính . Giới thiệu về Mô hình dữ liệu . Tổng quan về Mô hình dữ liệu quan hệ 2 2
- Tổng quan về Mô hình dữ liệu 3
- Mô hình dữ liệu là gì? . Mô hình dữ liệu (Data Model) là cách ký hiệu để mô tả dữ liệu hay thông tin. Nói chung, nó gồm có ba phần: – Cấu trúc của dữ liệu (Structure of the data) – Các thao tác trên dữ liệu (Operations on data) – Các ràng buộc (Constraints) 4
- Tóm tắt lịch sử của các Mô hình dữ liệu 5
- Tổng quan về Mô hình dữ liệu quan hệ 6
- Quan hệ là gì? . Quan hệ (relation) là một bảng hai chiều: – Các cột gọi là các thuộc tính (attribute) – Các hàng gọi là các bản ghi (record) hay bộ (tuple) 7
- Quan hệ là gì? . Ví dụ: bảng Customers: – Mỗi hàng biểu diễn cho một CUSTOMER – Mỗi cột biểu diễn cho một thuộc tính của CUSTOMER và được gọi là “thuộc tính” 8
- Lược đồ (Schema) . Lược đồ của một quan hệ là thông tin về cấu trúc của quan hệ đó . Nó bao gồm tên và tập các thuộc tính của quan hệ đó. . Ví dụ: Lược đồ của quan hệ Customers ở trên: – Customers(Customers ID, tax ID, name, address) 9
- Bộ và thành phần . Một hàng của một quan hệ được gọi là một bộ (tuple) hay bản ghi (record) . Một giá trị của một thuộc tính trong một bộ được gọi là một thành phần (component) 10
- Miền giá trị (Domains) . Miền giá trị của một thuộc tính là tập tất cả các giá trị mà thuộc tính đó có thể nhận . Nên khái niệm miền giá trị tương đương với khái niệm kiểu dữ liệu (data type) . Ở mức cài đặt trong một hệ quản trị CSDL, thì miền giá trị của các thuộc tính của một quan hệ cần phải chọn sao cho nằm trong số các kiểu dữ liệu mà hệ QT CSDL đó hỗ trợ 11
- Biểu diễn tương đương của quan hệ . Quan hệ là tập hợp của các bộ (sets of tuples), chứ không phải danh sách của các bộ (lists of tuples) . Do vậy, thứ tự của các bộ trong quan hệ không quan trọng, mà quan trọng là nội dung của các bộ. Đồng thời nếu có 2 bộ có giá trị bằng nhau trên mọi thuộc tính thì coi như 1 bộ bị thừa 12
- Thể hiện của quan hệ . Thể hiện của quan hệ (instance of a relation) là tập các bộ của quan hệ đó tại một thời điểm . Thể hiện của một quan hệ phản ánh nội dung của quan hệ đó, và nó thay đổi khi có các thao tác cập nhật nội dung quan hệ như thêm, sửa hay xóa bộ. 13
- Khóa của quan hệ . Khóa (key) của một quan hệ r là một hoặc một tập hợp các thuộc tính của r, sao cho với một thể hiện của r, thì không tồn tại 2 bộ nào mà giá trị của các thành phần bằng nhau trên khóa. . Hay nói cách khác, giá trị của các thành phần trên Khóa chính của mỗi bộ trong một thể hiện của quan hệ r là duy nhất. 14
- Khóa của quan hệ . Có hai loại Khóa của quan hệ – Khóa của một thể hiện của quan hệ – Khóa của lược đồ của quan hệ . VD: với thể hiện s1 của quan hệ Student sau: ID_SV Name Address Class 20091111 Nguyễn Văn A Hà nội ĐT1 20091112 Nguyễn Hồng B Quảng ninh ĐT2 20091113 Trần Lê C Hà tây ĐT1 20091114 Võ Thị D Bắc giang ĐT2 Có các Khóa là: – K1 = ID_SV – K2 = Name – K3 = Address 15
- Khóa của quan hệ . VD: nhưng với thể hiện s2 của quan hệ Student sau: ID_SV Name Address Class 20091111 Nguyễn Văn A Hà nội ĐT1 20091112 Nguyễn Hồng B Quảng ninh ĐT2 20091113 Nguyễn Văn A Hà tây ĐT1 20091114 Võ Thị D Hà nội ĐT2 thì chỉ còn một Khóa là: – K1 = ID_SV K1 = ID_SV là Khóa của lược đồ Sinh viên, Còn K2 và K3 chỉ là Khóa của thể hiện s1 16
- Khóa của quan hệ . Tính chất: – Khóa của thể hiện thì chưa chắc đã là Khóa của lược đồ – Còn Khóa của lược đồ thì cũng là Khóa của mọi thể hiện của quan hệ Khóa của lược đồ không phụ thuộc vào nội dung của quan hệ, còn khóa của thể hiện thì phụ thuộc 17
- Cơ sở dữ liệu quan hệ . CSDL quan hệ (Relational Database): Là tập hợp các quan hệ và các ràng buộc giữa chúng, mà có liên quan đến một hệ thống thông tin (phần mềm) nào đó 18