Thiết kế cơ sở dữ liệu quan hệ - Phần 3: Ràng buộc toàn vẹn

Chia sẻ: DaicongtuGalang DaicongtuGalang | Ngày: | Loại File: PPT | Số trang:14

0
292
lượt xem
218
download

Thiết kế cơ sở dữ liệu quan hệ - Phần 3: Ràng buộc toàn vẹn

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bản dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các hệ quản trị có hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle, Postgres....

Chủ đề:
Lưu

Nội dung Text: Thiết kế cơ sở dữ liệu quan hệ - Phần 3: Ràng buộc toàn vẹn

  1. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing) Phần III – RÀNG BUỘC TOÀN VẸN (entegrity constraint)
  2. Khái niệm về Ràng buộc toàn vẹn Ràng buộc toàn vẹn – Khái niệm • Là những điều kiện bất biến mà tất cả các bộ trong các quan hệ có liên quan(đến ràng buộc) phải thỏa tại mọi thời điểm.  Ràng buộc toàn vẹn rất quan trọng vì nó qui định ràng buộc trên dữ liệu nhập/xuất trong CSDL. • Ràng buộc toàn vẹn thường được mô tả bằng các Tân từ (xem phần I), do nhà thiết kế CSDL tìm và phát hiện ra trong quá trình phân tích CSDL.
  3. Các yếu tố của Ràng buộc toàn vẹn (p.1) Các yếu tố của Ràng buộc toàn v ẹn 1. Điều kiện : là điều kiện ràng buộc (nội dung chính của Ràng buộc toàn vẹn), thường được mô tả bằng ngôn ngữ đặc tả hình thức. Ví dụ : Ràng buộc R1 : ∀ t1, t2 ∈ SINHVIEN, t1.MaSV ≠ t2.MaSV Ràng buộc R2 : ∀ t1∈ SINHVIEN, ∃ t2 ∈ DANGKY_HOCPHAN, t2.MAHP = ‘CSDL’ ∧ t2.MaSV = t1.MaSV Ý nghĩa ràng buộc R2: mọi sinh viên đều phải đăng ký học
  4. Các yếu tố của Ràng buộc toàn vẹn (p.2) Các yếu tố của Ràng buộc toàn vẹn (t.t) 1. Bối cảnh : là các (lược đồ) quan hệ có liên quan đến ràng buộc toàn vẹn. Như trong ví dụ của yếu tố Điều kiện, ràng buộc R1 có bối cảnh là quan hệ SINHVIEN, ràng buộc R2 có bối cảnh là quan hệ SINHVIEN và DANGKY_HOCPHAN
  5. Các yếu tố của Ràng buộc toàn vẹn (p.3) Các yếu tố của Ràng buộc toàn vẹn (t.t) 1. Tầm ảnh hưởng : các thao tác cập nhật dữ liệu (thêm / xóa / sửa) – có tác động lên các quan hệ trong bối cảnh của ràng buộc toàn vẹn – cần phải được kiểm tra lại điều kiện ràng buộc. Ta thường xác định yếu tố Tầm ảnh hưởng bằng cách xây dựng Bảng Tầm ảnh hưởng của ràng buộc toàn vẹn.
  6. Các yếu tố của Ràng buộc toàn vẹn (p.4) Bảng tầm ảnh hưởng <Tên RBTV> Thêm Xóa Sử a <quan hệ 1> + hoặc - + hoặc - + hoặc - <quan hệ 2> + hoặc - + hoặc - + hoặc - … + hoặc - + hoặc - + hoặc - <quan hệ n> + hoặc - + hoặc - + hoặc - • <quan hệ 1>, <quan hệ 2>, … , <quan hệ n> là các quan hệ trong bối cảnh của RBTV • Tại ô dòng i, cột j là dấu +  thao tác j xảy ra tại <quan hệ i> cần được kiểm tra lại điều kiện RBTV trên bộ liên quan đến thao tác; là dấu - :
  7. Các yếu tố của Ràng buộc toàn vẹn (p.5) Bảng tầm ảnh hưởng – Ví dụ Trong 2 ràng buộc toàn vẹn ở slide 3 R1 Thêm Xóa Sửa SINHVIEN + - +(MASV) Giải thích : Thao tác Thêm : Thêm 1 bộ mới vào quan hệ SINHVIEN (tức thêm SV mới), thì phải kiểm tra MaSV có đã bị trùng trong bảng chưa Thao tác Xóa : Xóa 1 bộ (xóa 1 SV) trong quan hệ SINHVIEN thì không cần phải kiểm tra ràng buộc về MaSV Thao tác Sửa : Khi sửa thông tin của 1 bộ đang tồn tại trong quan hệ SINHVIEN, thì yêu cầu kiểm tra ràng buộc chỉ bắt buộc khi thao tác Sửa xảy ra trên thuộc tính MaSV (sửa MaSV)
  8. Các yếu tố của Ràng buộc toàn vẹn (p.6) Bảng tầm ảnh hưởng – Ví dụ R2 Thêm Xóa Sử a SINHVIEN + - +(MASV) DANGKY_HOCPHAN - + +
  9. Phân loại Ràng buộc toàn vẹn (p.1) Phân loại Ràng buộc toàn vẹn • Ràng buộc có bối cảnh là 1 quan hệ : – RBTV miền giá trị. – RBTV liên thuộc tính. – RBTV liên bộ. • Ràng buộc có bối cảnh là nhiều quan hệ : – RBTV phụ thuộc tồn tại. – RBTV liên bộ - liên quan hệ. – RBTV liên thuộc tính – liên quan hệ.
  10. Phân loại Ràng buộc toàn vẹn (p.2) RBTV liên bộ • Là sự ràng buộc giữa các bộ trong cùng 1 quan hệ. • Một loại RBTV liên bộ phổ biến là ràng buộc toàn vẹn về khóa : trong 1 quan hệ, 2 bộ bất kỳ không được trùng khóa. • Bảng tầm ảnh hưởng chung : R Thêm Xóa Sửa <quan hệ> + - +
  11. Phân loại Ràng buộc toàn vẹn (p.3) RBTV trên miền giá trị • Là điều kiện áp đặt trên miền giá trị của các thuộc tính. • Ví dụ : thuộc tính DIEMTB của quan hệ SINHVIEN phải trong khoảng [0,10] • Bảng tầm ảnh hưởng chung : R Thêm Xóa Sửa <quan hệ> + - +
  12. Phân loại Ràng buộc toàn vẹn (p.4) RBTV liên thuộc tính • Là điều kiện ràng buộc giữa các thuộc tính trong 1 (lược đồ) quan hệ. • Ví dụ : trong quan hệ SINHVIEN, thuộc tính NGAYSINH phải luôn luôn nhận giá trị nhỏ hơn thuộc tính NGAYVAODOAN : ∀t ∈ SINHVIEN, t.NGAYSINH < t.NGAYVAODOAN • Bảng tầm ảnh hưởng chung : R Thêm Xóa Sửa <quan hệ> + - +
  13. Phân loại Ràng buộc toàn vẹn (p.5) RBTV phụ thuộc tồn tại • Phổ biến nhất là ràng buộc khóa ngoại : ∀t ∈ DANGKY_HOCPHAN, ∃ t1 ∈ SINHVIEN : t.MASV = t1.MASV ∧ ∃ t2 ∈ HOCPHAN : t.MAHP = t2.MAHP • Bảng tầm ảnh hưởng chung : R1 chứa khóa ngoại, R2 chứa khóa chính Quan hệ Thêm Xóa Sửa <quan hệ R1> + - + <quan hệ R2> - + +
  14. Phân loại Ràng buộc toàn vẹn (p.6) RBTV liên thuộc tính - liên quan hệ • Là điều kiện ràng buộc giữa các thuộc tính trong nhiều (lược đồ) quan hệ. • Ví dụ : Cho lược đồ CSDL Quản Lý Bán Hàng với quan hệ DatHang, HoaDonXuat, ta có RBTV : ∀t1 ∈ DatHang, t2 ∈ HoaDonXuat : t1.MaHD = t2.MaHD  t1.NgayDatHang <= t2.NgayXuat

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản