Каква е разликата между ограничението на целостта и референтната цялост? https://en.wikipedia.org/wiki/Referential_integrity


Отговор 1:

Когато една таблица има данни, които се "отнасят" към друга в базата данни, точността на тези препратки се нарича референтна цялост. Ако имате таблица, наречена CLASSES, която съхранява редове с преподадени класове, и втора таблица, наречена CLASS_ROSTERS с редове, съдържащи данни за ученици, които са били записани в тези класове, тогава CLASS_ROSTERS се отнася до КЛАСИ. Никога не трябва да имате студентски запис в CLASS_ROSTERS, за който в таблицата CLASSES не съществува съвпадащ запис на класа. Ако това се случи, референтната цялост е загубена между двете таблици.

Един от механизмите за налагане на целостта е ограничение на чужд ключ. Това е механизъм за база данни, който може да се използва за предотвратяване на въвеждането на записи на ученици в CLASS_ROSTERS, когато в CLASSES не съществува съвпадащ запис от клас. Ограничаването на чужд ключ е на няколко типа ограничения на целостта.

Други видове ограничения на целостта включват ограничения на първичен ключ, уникални ограничения на ключове и НЕ NULL ограничения. Всичко това са механизми за база данни, предназначени да поддържат целостта на данните. Тяхната роля е да предотвратяват въвеждането (или променянето) на данни в базата данни, което би нарушило правилата, вградени в модела на данните.


Отговор 2:

С прости думи.

Ограничението за цялостност е специфично за екземпляра на елемент от данни, като например ограничение на типа (трябва да бъде число) или диапазон от стойности и т.н.

Референтната цялост е свързана с връзката на този екземпляр от елемент на данни с други данни. Това се наблюдава най-често с „чужди“ клавиши. Например, може да не допуснете фактуриране за акаунт, който не съществува.