Giáo trình cơ sở dữ liệu chương 2: Mô hình quan hệ

•U= tập các thuộc tính= {Ai}i=1, , n. •Một quan hệ trên U= một tập con của tích Đề-các D1x D2x x Dn (các Di không nhất thiết khác nhau). •Bộ= một phần tử (d1, d2, , dn) của quan hệ. •t[A]= giá trị của bột tại thuộc tính A.

pdf27 trang | Chia sẻ: haohao89 | Lượt xem: 1909 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo trình cơ sở dữ liệu chương 2: Mô hình quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2: Mô hình quan hệ • I. Định nghĩa: • II. Ràng buộc toàn vẹn • III. Các thao tác cập nhật • IV. Sự thông thương giữa các quan hệ I. Định nghĩa • 1. Miền giá trị, thuộc tính • 2. Quan hệ, bộ • 3. Bậc • 4. Sơ đồ quan hệ • 5. Bảng • 6. Khóa I. Định nghĩa 1. Miền giá trị, thuộc tính • Giá trị sơ cấp/ nguyên tố= giá trị không thể phân chia được, trong ngữ cảnh đang xét. • {Di}i=1,…, n: Di = tập các trị sơ cấp. Ai= biến lấy trị trong Di • => Ai : thuộc tính, Di : miền giá trị của Ai. • Di = dom(Ai) i=1,..., n • Một miền giá trị được mô tả bằng 2 cách: – bằng một danh sách liệt kê các trị thành phần (in extension) – bằng cách mô tả đặc tính của các trị (in intention). I. Định nghĩa 2. Quan hệ, bộ • U= tập các thuộc tính= {Ai}i=1,…, n. • Một quan hệ trên U= một tập con của tích Đề- các D1 x D2 x … x Dn (các Di không nhất thiết khác nhau). • Bộ = một phần tử (d1, d2, … , dn) của quan hệ . • t[A]= giá trị của bộ t tại thuộc tính A. I. Định nghĩa 3. Bậc • Bậc của một quan hệ= số thuộc tính. I. Định nghĩa 4. Sơ đồ quan hệ • Sơ đồ quan hệ = R(A1 : D1, A2 : D2, …, An : Dn), or R(A1, A2, …, An) I. Định nghĩa 5. Bảng • Bảng= một công cụ trực quan, lưu trữ các dữ liệu của một quan hệ. R A1 A2 … An phần mở rộng phần định nghĩa I. Định nghĩa 5. Bảng (2) • Dòng: tương ứng một bộ • Lực lượng= số dòng trong bảng • Không được có hai dòng giống nhau trong cùng một bảng. I. Định nghĩa 6. Khóa • Khóa K= tập nhỏ nhất các thuộc tính có các giá trị cho phép phân biệt các bộ của quan hệ R. • ∀ t1, t2∈R: t1 ≠ t2⇔ t1[K] ≠ t2[K] (*) • ⎤ (∃K’⊆K: K’ thỏa (*) ) • Có thể có nhiều khóa=> khóa ứng viên. I. Định nghĩa 6. Khóa (2) • Khóa chính= khóa được chọn trong số các khóa ứng viên. • Khóa không được có trị null . • Xác định khóa: rất quan trọng vì trong ngữ cảnh đang xét, nó phụ thuộc vào: – ngữ nghĩa các thuộc tính. – các giả thiết về các kiểu dữ liệu trong quan hệ. I. Định nghĩa 6. Khóa (3) • Khóa ngoài của quan hệ R= tập các thuộc tính không phải là khóa chính của R, mà là của một quan hệ S khác. • R= quan hệ phụ thuộc/ quan hệ tham chiếu, quan hệ con • S= quan hệ được tham chiếu, quan hệ cha. II. Ràng buộc toàn vẹn • 1. Khái niệm chung • 2. Ràng buộc về khóa • 3. Ràng buộc về trị • 4. Ràng buộc về tính duy nhất • 5. Ràng buộc về khóa ngoài • 6. Ràng buộc về luận lý II. Ràng buộc toàn vẹn 1. Khái niệm chung • Ngoài định nghĩa hình thức cho một quan hệ, cần phải có một tập các ràng buộc toàn vẹn kiểm tra các trị của: – một bộ duy nhất, hoặc – toàn bộ quan hệ mỗi khi: – tạo quan hệ – cập nhật II. Ràng buộc toàn vẹn 2. Ràng buộc về khóa • Mỗi giá trị của khóa đặc tả một bộ duy nhất của quan hệ. II. Ràng buộc toàn vẹn 3. Ràng buộc về trị • Khóa chính và tất cả các tập con của nó không được mang trị rỗng (null) • Có thể gán trị rỗng/không rỗng (not null) cho bất cứ thuộc tính nào khác khóa chính. II. Ràng buộc toàn vẹn 4. Ràng buộc về tính duy nhất • Một tập trị thuộc tính có thể có ràng buộc về tính duy nhất: –hai bộ khác nhau không thể có cùng trị, – trừ các trị rỗng được xem như khác nhau. II. Ràng buộc toàn vẹn 5. Ràng buộc về khóa ngoài • Các kiểu tương ứng giữa một quan hệ con và một quan hệ cha : –Tương ứng hoàn toàn –Tương ứng một phần –Tự do II. Ràng buộc toàn vẹn 5. Ràng buộc về khóa ngoài (2) • Tương ứng hoàn toàn: Với X=khóa ngoài của R: – Trị của X là như nhau trong cả hai quan hệ. – Ngoài tập X, không có tập con nào của X được mang trị rỗng. II. Ràng buộc toàn vẹn 5. Ràng buộc về khóa ngoài (3) • Tương ứng một phần: –Một tập con của X có thể mang trị rỗng. –Với điều kiện các giá trị khác rỗng trong X tương ứng với một trị trong khóa chính của quan hệ cha. II. Ràng buộc toàn vẹn 5. Ràng buộc về khóa ngoài (4) • Tự do: –Mọi tập con của X có thể mang trị rỗng mà không đòi hỏi điều kiện nào. II. Ràng buộc toàn vẹn 6. Ràng buộc về luận lý • Biểu diễn bởi một biểu thức luận lý. • Áp dụng trên: –một hoặc nhiều thuộc tính –một bộ, hoặc toàn bộ quan hệ –nhiều quan hệ. III. Các thao tác cập nhật • 1. Thêm một bộ vào quan hệ • 2. Xóa một bộ khỏi quan hệ • 3. Sửa một bộ trong quan hệ III. Các thao tác cập nhật 1. Thêm Các sai sót khi thêm một bộ vào quan hệ : • Các trị mới không thỏa các ràng buộc toàn vẹn về: o khóa o về trị o tính duy nhất o khóa ngoài o luận lý III. Các thao tác cập nhật 1. Thêm (2) • Một số trị mới trong bộ mới có thể không thuộc về miền giá trị tương ứng. • Giá trị của khóa trong bộ mới: • là trị rỗng • đã có trong một bộ khác của quan hệ đang xét • Trị của khóa ngoài không tương ứng với khóa chính nào của quan hệ cha. III. Các thao tác cập nhật 2. Xóa • Các sai sót khi xóa một bộ khỏi quan hệ: – Xóa ngoài ý muốn – Xóa trong quan hệ cha, nhưng không xóa các bộ tương ứng trong quan hệ con, trong khi đã đặc tả trước đó là xóa dây chuyền (“on delete cascade”) III. Các thao tác cập nhật 3. Sửa • Các sai sót khi sửa một bộ trong quan hệ : như khi thêm một bộ. IV. Sự thông thương giữa các quan hệ • Kết hợp với việc phân tích câu hỏi, để tìm cách đặc tả: • các thuộc tính, các quan hệ tương ứng với các thuật ngữ trong ngôn ngữ tự nhiên • dữ liệu xuất • dữ liệu nhập
Tài liệu liên quan