В чем разница между ограничением целостности и ссылочной целостностью? https://en.wikipedia.org/wiki/Referential_integrity


Ответ 1:

Когда одна таблица содержит данные, которые «ссылаются» на другую в базе данных, точность этих ссылок называется ссылочной целостностью. Если у вас есть таблица с именем CLASSES, в которой хранятся строки с изученными классами, и вторая таблица с именем CLASS_ROSTERS со строками, содержащими данные об учащихся, которые были зачислены в эти классы, то CLASS_ROSTERS ссылается на CLASSES. У вас никогда не должно быть записи студента в CLASS_ROSTERS, для которой в таблице CLASSES не существует соответствующей записи класса. Если это когда-либо произойдет, то между двумя таблицами будет потеряна ссылочная целостность.

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

Другие типы ограничений целостности включают ограничения первичного ключа, ограничения уникального ключа и ограничения NOT NULL. Все это механизмы базы данных, предназначенные для поддержания целостности данных. Их роль заключается в том, чтобы предотвратить вставку (или изменение) данных в базу данных, что нарушит правила, встроенные в модель данных.


Ответ 2:

Проще говоря.

Ограничение целостности является специфическим для экземпляра элемента данных, такого как ограничение типа (должно быть числом) или диапазон значений и т. Д.

Ссылочная целостность касается отношения этого экземпляра элемента данных к другим данным. Это чаще всего наблюдается с «внешними» ключами. Например, вы не можете разрешить выставление счета для несуществующей учетной записи.