Các yếu tố 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 Mỗi ràng buộc toàn vẹn có 3 yếu tố: điều kiện, bối cảnh và tầm ảnh hưởng. i Điều kiện Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ,… ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng phụ thuộc hàm. Chẳng hạn, với lược đồ quan hệ SV thì có một ràng buộc toàn vẹn như sau: Với r là một quan hệ của Sv ta có ràng buộc toàn vẹn sau " t1,t2 Îr t1.MASV ¹ t2.MASV cuối r ii Bối cảnh Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra ràng buộc toàn vẹn. Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ. Chẳng hạn với ràng buộc toàn vẹn trên thì bối cảnh là một quan hệ Sv iii Tầm ảnh hưởng Trong quá trình phân tích thiết kế một CSDL, người phân tích cần lập bảng tầm ảnh hưởng cho một ràng buộc toàn vẹn nhằm xác định thời điểm cần phải tiến hành kiểm tra các ràng buộc toàn vẹn đó. Các thời điểm cần phải kiểm tra RBTV chính là những thời điểm cập nhật dữ liệu (thêm /sửa/ xóa) Một bảng tâm ảnh hưởng của một RBTV có dạng sau:
Bảng này chứa toàn các ký hiệu + hoặc – Chẳng hạn + tại ô tương ứng với dòng r1, cột thêm thì có nghĩa là khi thêm một bộ vào quan hệ r1thì cần phải kiểm tra RBTV Dấu - Tại ô tương ứng với dòng r1, cột sửa thì có nghĩa là khi sửa một bộ trên quan hệ r1 thì không cần phải kiểm tra RBTV này,… Số lượt truy cập: 6715671 Như các bạn đã biết, một CSDL quan hệ có thể gồm nhiều quan hệ khác nhau và các bộ trong các quan hệ có thể liên hệ với nhau theo một số cách nào đó. Tuy nhiên, để các liên hệ đó được “thuận tiện” và không gây xung đột thì các CSDL phải thoã mãn một số ràng buộc và các giới hạn nhất định – gọi chung là các ràng buộc để đảm bảo tính hợp lý và nhất quán của các giá trị trong CSDL.
Các ràng buộc có thể tồn tại giữa các thuộc tính hoặc các bộ dữ liệu và đồng thời, các bộ của các quan hệ từ một lược đồ CSDL phải thoả mãn các ràng buộc ở bất kì thời điểm nào. 1. Các loại ràng buộcRàng buộc ngầm định: Là các ràng buộc liên quan đến tính chất của một quan hệ như:
Ràng buộc dựa trên ứng dụng: Là ràng buộc liên quan đến ngữ nghĩa và hành vi (behavior) của các thuộc tính. Loại ràng buộc này khó mô tả trong mô hình dữ liệu và chỉ được kiểm tra trong quá trình cập nhật dữ liệu dựa trên nền tảng ứng dụng đã được lập trình. Ràng buộc dựa trên lược đồ: Là ràng buộc có thể mô tả trực tiếp trong lược đồ của mô hình dữ liệu. Loại ràng buộc này được mô tả bằng ngôn ngữ DDL bao gồm các ràng buộc về:
Ràng buộc dựa trên lược đồ có thể liên quan đến nhiều quan hệ hoặc trong phạm vi chỉ một quan hệ. Nếu phạm vi chỉ là một quan hệ:
Phạm vi liên quan đến nhiều quan hệ:
Ràng buộc miền giá trị: Là loại ràng buộc về giá trị của một thuộc tính xác định nào đó trong một quan hệ cụ thể. Ràng buộc này có thể áp dụng lên một thuộc tính hoặc một nhóm các thuộc tính tự ràng buộc lẫn nhau về giá trị. Ví dụ: 0 <= điểm <= 10 hoặc 1 <= tháng <= 12 Hay một quan hệ Ràng buộc về khoá: Thường được biểu diễn bằng các phụ thuộc hàm, là một loại ràng buộc liên bộ phổ biến xác lập sự tồn tại duy nhất của các bộ trong một quan hệ. Ví dụ: Hai bộ phân biệt của cùng quan hệ không thể có thuộc tính khoá trùng nhau. Mỗi sinh viên có mã số duy nhất, … Ràng buộc về giá trị NULL: Ràng
buộc này cho biết một thuộc tính có thể nhận giá trị NULL hay không. - Nếu mỗi bộ của quan hệ - Nhưng nếu xét quan hệ Ràng buộc toàn vẹn thực thể: Kiểm tra rằng khoá chính không thể mang giá trị Ví dụ: Nếu có hai hoặc nhiều bộ có khoá chính mang giá trị Ràng buộc toàn vẹn tham chiếu: Được quy định giữa hai quan hệ và dựa trên ràng buộc thực thể, được sử dụng để duy trì sự thống nhất / nhất quán giữa các bộ trong hai quan hệ. Ràng buộc này được thể hiện qua khái niệm khoá ngoại hay còn gọi là ràng buộc toàn vẹn về khoá ngoại. Ví dụ: Xét 2 quan hệ bên dưới Một số ràng buộc khác:
2. Sự tương thông giữa các quan hệSự tương thông giữa các quan hệ là mối liên hệ giữa các quan hệ trong cùng một cơ sở dữ liệu. Dựa vào sự tương thông này, bạn có thể truy xuất các thuộc tính dữ liệu cần thiết từ các quan hệ mà không cần phải xét hết các quan hệ. Chẳng hạn, ta có lược đồ CSDL như sau: SINHVIEN
(MASV, hoten, namsinh, diachi, #ML) Ta có thể thấy, trong lược đồ CSDL trên có các ràng buộc tham chiếu giữa MSSV giữa hai quan hệ SINHVIEN và DIEM, ML giữa SINHVIEN và LOP, MM giữa MONHOC và DAY, MAGV giữa GIAOVIEN và DAY. Vậy sự tương thông dữ liệu nằm ở đâu? Đó chính là thông qua các ràng buộc tham chiếu mà ta vừa liệt kê ra. Ví dụ: Tìm điểm môn CSDL của sinh viên Trương Vô Kỵ Tổng kếtTóm lại, ràng buộc là thứ không thể thiếu trong việc thiết kế và vận hành một CSDL trong thực tế. Ràng buộc là kiến thức tiên quyết để bắt đầu xây dựng một CSDL nhất quán và logic để đáp ứng được các nhu cầu khách hàng trong xây dựng và phát triển phần mềm. Mặc dù, nội dung bài viết chỉ giúp các bạn làm quen với mô hình quan hệ - nhưng bạn hãy đọc lại 2 bài vừa rồi vài lần, nắm vững kiến thức này rồi chuyển qua học cách câu lệnh truy vấn SQL để đảm bảo bạn hiểu sâu về CSDL. Nó rất quan trọng khi thiết kế CSDL để lập trình web, lập trình ứng dụng đó. --- HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay! Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT: 02435574074 - 0914939543 Email: Fanpage: https://facebook.com/NIIT.ICT/ #niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python |