Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active

Cơ sở dữ liệu nâng cao  
Toàn vẹn và cơ sở dữ liệu active  
Đỗ Thanh Nghị  
Cần Thơ  
11-10-2016  
1
Toàn vẹn và cơ sở dữ liệu active  
Mục tiêu  
điều khiển toàn vẹn ngữ nghĩa  
đưa khái niệm trigger  
cài đặt trong mô hình quan hệ  
minh họa với SQL3  
2
Toàn vẹn ngữ nghĩa  
Định nghĩa  
Toàn vẹn ngữ nghĩa  
dữ liệu phải hợp lệ và nhất quán  
sự hợp lệ và nhất quán được định nghĩa với sự trợ giúp  
ràng buộc toàn vẹn  
Ràng buộc toàn vẹn  
luật được định nghĩa bởi người thiết kế CSDL  
cho phép định nghĩa tính hợp lệ của dữ liệu  
phải được hệ thống kiếm soát  
CSDL phải luôn thỏa tập các ràng buộc  
4
Vấn đề  
Định nghĩa ràng buộc  
ngôn ngữ định nghĩa ràng buộc  
tích hợp vào SQL, mở rộng  
khi nào, làm sao định nghĩa ràng buộc?  
nhiều cách tiếp cận khác  
Kiểm chứng các ràng buộc  
khi nào?  
làm sao kiểm chứng?  
giải thuật nào?  
5
Các thể thức ràng buộc  
toàn vẹn  
Thể thức  
Ràng buộc cấu trúc  
đặc thù cho một mô hình dữ liệu  
Ràng buộc về xử lý  
sự tiến hóa dữ liệu  
Ràng buộc phụ thuộc  
phụ thuộc hàm, bao hàm, đa trị  
Khẳng định tổng quát  
luật quản lý và/hoặc biểu thức số học  
7
Ràng buộc cấu trúc  
Ràng buộc cấu trúc  
đặc thù cho mô hình dữ liệu  
trình bày các đặc tính cơ bản của mô hình  
Mô hình quan hệ  
khóa duy nhất  
không rỗng  
phụ thuộc tham chiếu  
ràng buộc miền  
8
Ràng buộc cấu trúc của mô hình  
quan hệ  
Khóa duy nhất  
một hay nhóm thuộc tính được định nghĩa là khóa của  
quan hệ phải có tính duy nhất  
thuộc tính NoAp của quan hệ Appartment xác định một  
và chỉ một mẫu tin của quan hệ  
Không rỗng  
thuộc tính không nhận giá trị rỗng  
thuộc tính NoAp của quan hệ Appartment không nhận  
giá trị rỗng  
9
Ràng buộc cấu trúc của mô hình  
quan hệ  
Phụ thuộc tham chiếu  
sự phụ thuộc giữa những giá trị của thuộc tính (nhóm  
thuộc tính) của một quan hệ với những giá trị của thuộc  
tính (nhóm thuộc tính) của một quan hệ khác  
thuộc tính NoAp của quan hệ Room tham chiếu đến  
thuộc tính NoAp của quan hệ Appartment  
Ràng buộc miền  
thuộc tính của một quan hệ chỉ nhận giá trị thuộc miền  
giá trị  
thuộc tính Name của quan hệ Room có thể nhận giá trị  
nằm thuộc {phòng ngủ, phòng khách, phòng ăn, bếp,  
phòng tắm, văn phòng}  
10  
Ràng buộc về xử lý  
Theo thời gian  
đặc tả sự tiến hóa dữ liệu khi cập nhật  
lương của nhân viên không thể giảm, giá trị mới phải lớn  
hơn giá trị củ  
Tập hợp  
đặc tả luật để kiểm soát tập hợp dữ liệu  
lương trung bình không thể nhỏ hơn 15 000$  
11  
Ràng buộc phụ thuộc  
Phụ thuộc hàm  
đặc tả mối liên hệ tồn tại giữa 2 hay những nhóm thuộc  
tính, tổng quát hóa một khóa  
code postal xác định thành phố  
Phụ thuộc bao hàm  
đặc tả những giá trị của một thuộc tính được bao hàm  
trong tập hợp giá trị của thuộc tính khác  
Phụ thuộc đa trị  
hệ quả của sự giới hạn đơn trị  
đặc tả phụ thuộc của một thuộc tính đến thuộc tính thứ  
hai và độc lập với thuộc tính thứ 3  
12  
Định nghĩa ràng buộc  
Định nghĩa ràng buộc  
Khi nào định nghĩa ràng buộc?  
thời điểm tạo CSDL  
bằng cách lệnh của ngôn ngữ định nghĩa dữ liệu  
Làm sao định nghĩa ràng buộc?  
bằng các từ khóa cho từng ràng buộc  
NOT NULL, PRIMARY KEY, UNIQUE, …  
với những khẳng định  
SQL92: CREATE ASSERTION  
14  
Bảo toàn những ràng buộc  
Định nghĩa định dạng cho các ràng buộc  
trình bày thông tin đặc tả ràng buộc  
quan hệ, kiểu ràng buộc...  
Lưu trữ ràng buộc  
trong các metadata  
CSDL mô tả CSDL khác và các lược đồ quan hệ  
tổ chức, chỉ mục ràng buộc  
tăng tốc quá trình tìm kiếm ràng buộc  
15  
Giải pháp thương mại  
Chuẩn SQL: SQL92  
đề xuất cho các kiểu ràng buộc khác nhau  
NOT NULL, UNIQUE, CHECK, CONSTRAINT,  
ASSERTION, PRIMARY, KEY, REFERENCES  
Trong những hệ thống  
cài đặt gần như SQL92  
sử dụng những luật, thủ tục và triggers  
sử dụng các view  
16  
Ràng buộc toàn vẹn trong Oracle  
Sử dụng các lệnh định nghĩa quan hệ  
mệnh đề CONSTRAINT trong lệnh CREATE TABLE và  
ALTER TABLE  
Ràng buộc  
không rỗng :  
NOT NULL  
UNIQUE  
duy nhất :  
khóa : PRIMARY KEY  
ràng buộc miền : CONSTRAINT CHECK  
ràng buộc tham chiếu : REFERENCES  
17  
Ví dụ 1  
CREATE TABLE student (  
no  
integer NOT NULL PRIMARY KEY,  
lname char(20),  
fname char(20),  
addr char(40),  
type char(15)  
CONSTRAINT check_type  
CHECK (type in ('graduated', 'undergraduated')));  
18  
Chú ý  
Diễn đạt ràng buộc  
không rỗng  
NOT NULL  
khóa  
PRIMARY KEY  
miền  
CONSTRAINT và CHECK  
check  
cho phép diễn đạt những điều kiện trên những thuộc  
tính của một quan hệ  
19  
Ví dụ 2  
CREATE TABLE inscription (  
(no integer  
CONSTRAINT fk_no REFERENCES student(no)  
ON DELETE CASCADE,  
nc  
CONSTRAINT fk_nc REFERENCES course(nc),  
dateins date );  
integer  
20  
Tải về để xem bản đầy đủ
pdf 50 trang Mãnh Khiết 12/01/2024 16400 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_nang_cao_chuong_2_toan_ven_va_co_so.pdf