Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
435 KB
Nội dung
Chương Mô hình lịêu quan hệ Nội dung Các định nghĩa mô hình liệu quan hệ Quan hệ toán học Quan hệ Lược đồ quan hệ Lược đồ quan hệ quan hệ Khóa quan hệ Ràng buộc toàn vẹn Mô hình liệu quan hệ (Relational data model) Được đề xuất E.F Codd năm 1970 Hầu hết DBMS dựa theo mô hình Nhưng DBMS bắt đầu theo hướng đối tượng Mô hình liệu quan hệ (Relational data model) Mô hình quan hệ xây dựng cấu trúc toán học tự nhiên đơn giản: quan hệ (relation) Các quan hệ (relation) có tập hợp toán tử mạnh mức cao ngôn ngữ tạo liệu (manipulation language) dựa vào tảng vững logic toán học Mô hình liệu quan hệ (Relational data model) Theo nguyên lý toán học biểu thức quan hệ phân tích Vì vậy, biểu thức chuyển đổi ( DBMS) sang biểu thức tương đương khác thực thi hiệu Quá trình biến đổi gọi tối ưu hóa truy vấn (query optimization) Các lập trình viên ứng dụng không cần phải nghiên cứu kỹ chi tiết bên CSDL không cần phải biết đánh giá truy vấn làm việc Các lập trình viên ứng dụng cần xây dựng truy vấn (query) theo cách tự nhiên đơn giản, tối ưu hóa truy vấn tìm truy vấn tương đương để thực thi cách hiệu Các khái niệm Mô hình quan hệ có khái niệm bản: Relation instance ( thể quan hệ): thường gọi tắt quan hệ ( relation) Relation Schema ( lược đồ quan hệ) Quan hệ (relation) Quan hệ bảng gồm hàng cột Hàng (row) gọi tuple, có tuple giống quan hệ, tương tự record file Thứ tự tuple quan hệ không quan trọng Relation instance is a set of unique tuples Cột (column) hay gọi attribute Mỗi cột có tên gọi riêng Thứ tự cột không quan trọng Quan hệ (relation) (tt) Domain : tập hợp giá trị cho phép hay nhiều thuộc tính, thường tập cuả kiểu liệu Ký hiệu dom(A) miền trị thuộc tính A Ví dụ: thuộc tính Address quan hệ STUDENT có domain tập hợp chuỗi Thuộc tính điểm có domain số thực phạm vi từ đến 10 STUDENT Table Attribute Values Lược đồ quan hệ (Relation schema) Lược đồ quan hệ bao gồm: Tên quan hệ Tên thuộc tính với tên domain tương ứng Các ràng buộc bảo toàn ( integrity constraint): hạn chế quan hệ lược đồ 10 Ví dụ Xét lược đồ quan hệ sau: Employee(Emp_ID, Name, Dept_Name, Salary) Training(Emp_ID, Course, Date_Completed) Department(Dept_Name, Location,Fax) 26 Các ràng buộc toàn vẹn (Integrity constraints) Một số ràng buộc dựa vào quy tắc nghiệp vụ Các ràng buộc thường nằm phần requirement Document ứng dụng Nhân viên có lương cao giám đốc Sinh viên phải thỏa mãn điều kiện tiên đăng ký môn học Các ràng buộc khác thường ràng buộc type domain, xuất sơ đồ thiết kế thiết kế nhà thiết kế CSDL 27 Các ràng buộc toàn vẹn (Integrity constraints) Ngay ràng buộc xác định lược đồ trách nhiệm DBMS phải bảo đảm cho chúng không bị vi phạm có giao dịch (transaction) thực thi CSDL 28 Toàn vẹn liệu (Data integrity) Mục đích ràng buộc (constraint): để trì tính xác (accurary) toàn vẹn liệu (data integrity) CSDL Các loại toàn vẹn liệu : Entity integrity Domain integrity Referential integrity User-defined integrity 29 Bảo toàn thực thể (Entity Integrity) Bảo toàn thực thể dùng để bảo đảm tính hàng bảng Để bảo toàn thực thể quan hệ có khóa giá trị khóa phải hợp lệ “Trong quan hệ sở, thuộc tính khóa giá trị rỗng (null)” Được thể SQL server thông qua ràng buộc sau: Ràng buộc khóa (primary key) Ràng buộc (unique) Chỉ mục (index) Thuộc tính identity 30 Giá trị Null Dùng để chỉ: Giá trị chưa biết thuộc tính Giá trị biết bị thiếu Giá trị null khác số hay chuỗi rỗng “” 31 Bảo toàn miền (Domain Integrity) Bảo toàn miền để bảo đảm tính hợp lệ liệu thuộc tính “Tất giá trị xuất thuộc tính quan hệ phải miền trị” Được thể SQL server thông qua ràng buộc sau: Kiểu liệu (Data types) Ràng buộc CHECK Định nghĩa RULE, DEFAULT, NOT NULL 32 Toàn vẹn tham chiếu Referential integrity Toàn vẹn tham chiếu dùng để xác định mối quan hệ bảng thêm hay xóa hàng bảng Mục đích: trì tính quán (consistency) quan hệ Trong SQL server, toàn vẹn tham chiếu dựa vào mối quan hệ khóa ngoại khóa bảng Bảng chứa khóa chính: gọi bảng (primary table) Bảng chứa khóa ngoại: gọi bảng quan hệ (related table) Nó bảo đảm giá trị khóa phải thống (consistent) bảng Không thể tham chiếu đến giá trị không tồn nều giá trị khóa thay đổi tất tham chiếu đến giá trị khóa phải đồng loạt thay đổi theo 33 Toàn vẹn tham chiếu Referential integrity Tính toàn vẹn tham chiếu thể thông qua quy tắc sau: Không thể thêm ghi vào bảng quan hệ ghi tương ứng bảng Không thể thay đổi giá trị bảng làm cho ghi tương ứng bảng quan hệ bị tham chiếu Không thể xóa ghi bảng tham chiếu số ghi bảng quan hệ 34 Toàn vẹn tham chiếu (Reference Integrity) Mục đích: trì tính quán (consistency) quan hệ “ Nếu tồn khóa ngoại quan hệ, giá trị khóa ngoại phải tương ứng với giá trị khóa quan hệ khác (hoặc quan hệ này) giá trị khóa ngoại phải giá trị rỗng” 35 Ví dụ khóa ngoại 36 Tính toàn vẹn người dùng xác định (User-defined integrity) Tính toàn vẹn người dùng xác định cho phép xác định quy tắc nghiệp vụ tổ chức mà không thuộc vào loại toàn vẹn khác Mức độ hỗ trợ cho toàn vẹn người dùng xác định phụ thuộc vào DBMS Được thể SQL server thông qua: Các ràng buộc mức bảng Stored procedure Trigger Ví dụ: “ Mỗi văn phòng chi nhánh có tối đa 20 nhân viên” 37 Quan hệ có cấu trúc tốt (Well-structured relation) Là quan hệ có dư thừa liệu tối thiểu cho phép người sử dụng thêm, xóa hay sửa đổi quan hệ mà không bị sai hay mâu thuẩn liệu ( data inconsistency) 38 Bất thường liệu (Data anomaly) Bất thường lỗi sai hay không quán xảy dư thừa liệu Ba loại bất thường: Bất thường thêm vào Bất thường xóa bỏ Bất thường sửa đổi 39 Ví dụ bất thường liệu Xét quan hệ: Employee(Emp_ID, Name, Dept_Name, Salary, Course, Date_Completed) Khi thêm nhân viên mà nhân viên không tham gia khóa học Khi nhân viên tham gia nhiều khóa học, xuất nhiều lần quan hệ, nhân viên tăng lương Nếu nhân viên tham gia khóa học khóa học có nhân viên, nhân viên bị xóa Employee có phải quan hệ cấu trúc tốt??? 40