Oracle
 sql >> база данни >  >> RDS >> Oracle

Кой е най-добрият начин за налагане на връзка „подмножество“ с ограничения за интегритет

Един от проблемите на SQL е лошото му ниво на поддръжка за ограничения за интегритет, особено референтни ограничения.

За всички практически цели вашият проблем не може да бъде разрешен с помощта на SQL ограничения, освен ако не деактивирате ограниченията, когато искате да вмъкнете ред в таблица. Причината е, че SQL изисква таблиците да се актуализират една по една и така ограничението трябва да бъде нарушено, когато се вмъкват нови редове. Това е основно ограничение на SQL и всички основни СУБД страдат от него.

Има някои решения, но нито едно от тях не е перфектно. Можете да използвате ограничения DEFERRABLE, ако вашата СУБД ги има (например Oracle). Ограничението DEFERRABLE всъщност е просто лесен начин за деактивиране на ограничение. Или можете да използвате тригери, което означава, че правилото се прилага процедурно, а не чрез правилно ограничение на базата данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да промените символа на валутата на вашата сесия в Oracle

  2. Oracle - Какво се случва при опресняване на изглед "REFRESH FORCE ON DEMAND" с DBMS_MVIEW.REFRESH

  3. извличане на множество колони, група по дата интервалl

  4. Oracle ODBC:SQLAllocHandle на драйвера на SQL_HANDLE_ENV е неуспешен

  5. Oracle:Импортиране на CSV файл