103
Nếu chúng ta xóa một dòng dữ liệu trong bảng productline mà vẫn còn tồn tại các dòng
dữ liệu trong bảng products tham chiếu tới dòng dữ liệu này, ngầm định sẽ không được
phép.
Ví dụ: Xóa các dòng sản phẩm có mã là ‘Ships’
DELETE FROM productlines
WHERE productLine='Ships'
Sẽ hiện thông báo lỗi “Cannot delete or update a parent row: a foreign
key constraint fails
(`classicmodels`.`products`, CONSTRAINT `fk_products_productlines` FOREIGN KEY
(`productLine`) REFERENCES `productlines` (`productLine`)
ON DELETE NO
ACTION ON UPDATE NO ACTION)”
Nếu khai báo khóa ngoài với tùy chọn
ON DELETE CASCADE, hệ thống sẽ tự động
xóa các dòng dữ liệu trong bảng products tham chiếu tới dòng dữ liệu này.
Nếu khai báo khóa ngoài với tùy chọn
ON DELETE SET NULL, thì khóa ngoài
productLine của các dòng tham chiếu sẽ được thiết lập là NULL.
105
Bài thực hành số 10
Mô hình hóa CSDL sử dụng công cụ MySQL Workbench
Nội dung chính:
- Giới thiệu MySQL Workbench
- Tạo mô hình EER
- Tạo CSDL từ mô hình quan hệ thực thể EER và ngược lại
Chia sẻ với bạn bè của bạn: