Какво е референтна целостта и как може програмист да избегне тези проблеми?

Референтният интегритет предотвратява въвеждането на непоследователни данни.

Правило за референтна цялост

По принцип референтната целост казва, че дадена база данни не може да има неподдържани чужди ключове. Външен ключ е колона в таблица на базата данни, която има стойности, които се намират в колоната за първичен ключ, уникален идентификатор, който идентифицира ред в таблица в друга таблица. Например, помислете за таблица на базата данни, наречена "отдел", в която има колона, наречена "департамент номер" като първичен ключ. Тя е свързана с друга таблица, наречена "служител", където "номер на отдел" е външен ключ. Служител не може да принадлежи към отделен отдел, ако съответният "номер на отдела" все още не съществува в таблицата "отдел". Ако програмата, която добавя служители, укрепва референтната цялост, всеки опит за вмъкване на служител в неизвестен отдел няма да бъде възможен.

облага

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

въздействие

За съжаление програмните езици често нямат механизми за прилагане на референтна цялост и дори когато системата за управление на бази данни поддържа тези механизми, програмистите не ги използват. Последствието от пренебрегването на референтната цялост е, че програмният код, който има дефекти или грешки, има неизправности и е трудно да се разшири.

приложение

Програмистите могат да прилагат референтна цялост и да избягват "осировъчни" записи в база данни, като им позволяват във взаимоотношение между две таблици. В Microsoft Access например прилагането на референтна цялост означава, че всяка операция, която го нарушава, е отхвърлена. Тези типове операции включват актуализации на базата данни, които променят обекта на справка или изтривания, които изтриват обекта на справка. В допълнение, Microsoft Access има и набор от опции, известни като "каскадни" опции. Тези опции позволяват референтни и изтрити актуализации да се разпространяват от базата данни, така че всички свързани редове да се променят по същия начин.