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

Mô hình hóa mối quan hệ một-đối-không đổi

Thực hiện điều này để nó hoạt động tốt và chính xác ngay cả khi nhiều phiên đang thực hiện cập nhật không phải là điều dễ dàng. Bạn sẽ gặp rắc rối nếu bạn thử điều này với các trình kích hoạt và các ràng buộc khai báo của Oracle không đủ mạnh để thể hiện điều này.

Nó có thể được thực hiện như sau:-

  1. Tạo một nhật ký dạng xem cụ thể hóa trên cả bảng cha và bảng con
  2. Tạo chế độ xem kết hợp cụ thể hóa để kết hợp chúng với nhau và đếm số lượng con được nhóm cha mẹ. Đây phải được LÀM MỚI NHANH CHÓNG KHI CAM KẾT
  3. Đặt một hạn chế đối với chế độ xem kết hợp hiện thực hóa rằng số lượng bản ghi con phải bằng "n" (hằng số cơ sở dữ liệu của bạn)

Sau đó, bạn có thể thực hiện một loạt các câu lệnh chèn / cập nhật / xóa. Khi bạn cam kết, chế độ xem cụ thể hóa sẽ làm mới và nếu điều kiện không được đáp ứng, bạn sẽ gặp lỗi vi phạm ràng buộc tại thời điểm đó.

Một mẹo nhỏ bổ ích là chỉ đưa các hàng không có ràng buộc vào chế độ xem cụ thể hóa (HAVING count (ChildId) <> 5) để bạn không lãng phí bất kỳ dung lượng lưu trữ nào.



  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ốt nhất để so sánh VARCHAR2 với CHAR

  2. Ví dụ về điều kiện IF trong Oracle

  3. biểu thức chính quy cho các từ dài dòng được phân tách bằng các từ dài khác nhau

  4. ORA-00923:Không tìm thấy từ khóa FROM ở nơi mong đợi - SQLDeveloper

  5. Làm thế nào để cài đặt Universal Oracle Installer trên Ubuntu?