thiet ke co so du lieu3

14
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)

Upload: vo-oanh

Post on 14-Jun-2015

6.479 views

Category:

Education


4 download

DESCRIPTION

cho phan 4 nua nha!

TRANSCRIPT

Page 1: Thiet Ke Co So Du Lieu3

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)

Page 2: Thiet Ke Co So Du Lieu3

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.

Khái niệm về Ràng buộc toàn vẹn

Page 3: Thiet Ke Co So Du Lieu3

Các yếu tố của Ràng buộc toàn vẹn1. Đ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 phần CSDL

Các yếu tố của Ràng buộc toàn vẹn (p.1)

Page 4: Thiet Ke Co So Du Lieu3

Các yếu tố của Ràng buộc toàn vẹn (t.t)

2. 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

Các yếu tố của Ràng buộc toàn vẹn (p.2)

Page 5: Thiet Ke Co So Du Lieu3

Các yếu tố của Ràng buộc toàn vẹn (t.t)

3. 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.

Các yếu tố của Ràng buộc toàn vẹn (p.3)

Page 6: Thiet Ke Co So Du Lieu3

Bảng tầm ảnh hưởng

Các yếu tố của Ràng buộc toàn vẹn (p.4)

<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 - : ngược lại.

Page 7: Thiet Ke Co So Du Lieu3

Bảng tầm ảnh hưởng – Ví dụTrong 2 ràng buộc toàn vẹn ở slide 3

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ưaThao 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ề MaSVThao 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)

Các yếu tố của Ràng buộc toàn vẹn (p.5)

R1 Thêm Xóa Sửa

SINHVIEN + - +(MASV)

Page 8: Thiet Ke Co So Du Lieu3

Bảng tầm ảnh hưởng – Ví dụ

Các yếu tố của Ràng buộc toàn vẹn (p.6)

R2 Thêm Xóa Sửa

SINHVIEN + - +(MASV)

DANGKY_HOCPHAN - + +

Page 9: Thiet Ke Co So Du Lieu3

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ệ.

Phân loại Ràng buộc toàn vẹn (p.1)

Page 10: Thiet Ke Co So Du Lieu3

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 :

Phân loại Ràng buộc toàn vẹn (p.2)

R Thêm Xóa Sửa

<quan hệ> + - +

Page 11: Thiet Ke Co So Du Lieu3

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 :

Phân loại Ràng buộc toàn vẹn (p.3)

R Thêm Xóa Sửa

<quan hệ> + - +

Page 12: Thiet Ke Co So Du Lieu3

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 :

Phân loại Ràng buộc toàn vẹn (p.4)

R Thêm Xóa Sửa

<quan hệ> + - +

Page 13: Thiet Ke Co So Du Lieu3

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

Phân loại Ràng buộc toàn vẹn (p.5)

Quan hệ Thêm Xóa Sửa

<quan hệ R1> + - +

<quan hệ R2> - + +

Page 14: Thiet Ke Co So Du Lieu3

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

Phân loại Ràng buộc toàn vẹn (p.6)