Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tốt nhất để thực thi mối quan hệ 'tập hợp con' với các ràng buộc toàn vẹn là gì

Một trong những vấn đề với SQL là mức độ hỗ trợ kém đối với các ràng buộc toàn vẹn, đặc biệt là các ràng buộc tham chiếu.

Đối với tất cả các mục đích thực tế, vấn đề của bạn không thể được giải quyết bằng cách sử dụng các ràng buộc SQL trừ khi bạn tắt các ràng buộc khi bạn muốn chèn một hàng vào bảng. Lý do là SQL yêu cầu các bảng phải được cập nhật lần lượt và do đó ràng buộc phải bị vi phạm bất cứ khi nào các hàng mới được chèn vào. Đây là một hạn chế cơ bản của SQL và tất cả các DBMS chính đều mắc phải nó.

Có một số cách giải quyết nhưng không có cách nào trong số chúng là hoàn hảo. Bạn có thể sử dụng các ràng buộc DEFERRABLE nếu DBMS của bạn có chúng (ví dụ như Oracle). Ràng buộc DEFERRABLE thực sự chỉ là một cách dễ dàng để vô hiệu hóa một ràng buộc. Hoặc bạn có thể sử dụng trình kích hoạt, có nghĩa là quy tắc được thực thi theo thủ tục thay vì thông qua ràng buộc cơ sở dữ liệu thích hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo Bảng lịch trong Oracle

  2. Thủ tục PL / SQL đã hoàn thành thành công nhưng không hiển thị gì

  3. Mẫu PDF nâng cao của Oracle NetSuite có Chức năng Group by và SUM không?

  4. Oracle tạo bảng dưới dạng giá trị null

  5. Áp dụng bộ lọc trong Chế độ xem Oracle