Trong cơ sở dữ liệu có các khóa ngoại liên kết giữa các bảng với nhau. Thông thường chúng ta thường để mặc định. là No Action.
Ví dụ:
Ta có 2 bảng dữ liệu tbHangHoa và tbChiTietPhieuBanHang liên kết với nhau thông qua IdHangHoa.
- Nếu khóa ngoại để mặc định No Action thì bạn không thể xóa được 1 hàng trong tbHangHoa khi ở bảng tbChiTietPhieuBanHang đang sử dụng hàng hóa đó. Khi đó muốn xóa hàng hóa đó thì trước hết phải xóa các hàng hóa trong tbChiTietPhieuBanHang.
- Còn để Cascade thì khi xóa 1 hàng ở tbHangHoa thì mọi hàng ở tbChiTietPhieuBanHang có sử dụng HangHoa đó thì đề bị xóa theo.
- Còn để Set Null thì giá trị IdHangHoa ở bảng tbChiTietPhieuBanHang sẽ được set giá trị NULL
- Còn để Default thì giá trị sẽ được để mặc định của trường IdHangHoa của bảng tbChiTietPhieuBanHang
0 nhận xét:
Đăng nhận xét