Thứ Bảy, 1 tháng 10, 2011

Thông qua các ràng buộc - P9

Như trước đây bạn đã học, các ràng buộc được sử dụng để đảm bảo bảng không có các dữ liệu không hợp lệ. Những dòng không thỏa mãn các ràng buộc đã định nghĩa đều bị loại bỏ. 

Trong bài tập này, bạn sẽ thông qua các ràng buộc để xem điều gì xảy ra khi nhập vào dữ liệu không hợp lệ.

Bảng PARTICIPANT được tạo ra với một khóa ngoại, điều đó có nghĩa là với mỗi giá trị trong cột PAR_ID trong PARTICIPANT, phải có một dòng trong bảng MODULE với cùng giá trị trong cột MODULE_ID. Do bảng MODULE hiện tại đang rỗng nên điều kiện này sẽ không thỏa mãn được nếu bạn nhập dữ liệu vào bảng PARTICIPANT. 

Hãy theo các bước sau để thông qua các ràng buộc:

B1: Từ Trung tâm điều khiển nhấn vào bảng PARTICIPANT rồi nhấn Open. Trong bảng Open Table, nhấn Add Row. Nhập dòng sau vào bảng PARTICIPANT như hình chỉ dẫn, và nhấn Commit. 

Hình 28. Trung tâm điều khiển -- Chèn dòng

B2: Thông báo phản hồi là SQL0530N, nói rằng bạn không đáp ứng được các yêu cầu về tính toàn vẹn tham chiếu áp đặt bởi ràng buộc khóa ngoại (foreign key constraint).

B3: Nhấn Close một lần để đóng thông báo này và một lần nữa để đóng cửa sổ Open Table.

B4: Thông qua ràng buộc kiểm tra mà bạn đã định nghĩa trên bảng MODULE. Do bảng MODULE được tạo ra với một ràng buộc kiểm tra ("CONSTRAINT MID_CHECK CHECK (MODULE_ID >= 0)"), cột MODULE_ID không thể chứa một giá trị âm.

B5: Trung tâm điều khiển, nhấn vào bảng MODULE rồi nhấn Open. Trong bảng Open Table, nhập một dòng vào bảng MODULE với một giá trị âm cho MODULE_ID và gán một tên nào đó cho MODULE_NAME. 

Hãy thử thực hiện và quan sát xem điều gì xảy ra. Lỗi sau đây cho biết rằng bạn không được làm như vậy: 

Hình 29. Thông qua ràng buộc kiểm tra

B6: Nhấn Close để đóng thông báo này và nhấn Close lần nữa để đóng cửa sổ Open Table.

Source: Ibm.com

Không có nhận xét nào:

Đăng nhận xét