ограничения за интегритет атрибут на ниво
• интегритет ограничения ниво на зависимите
• интегритет ограничения на нивото,
• интегритет ограничения ниво база данни.
Ние считаме, че тези видове ограничения по-подробно.
отношения домейни
ограничения за интегритет атрибут ниво да е ограничения, наложени на допустимите стойности на атрибута. Тези ограничения произтичат от факта, че на всеки атрибут е определена за даден домейн.
Чрез домейн се разбира множество име скаларни (атомни) стойностите на които могат да се стойностите на определен атрибут.
концепция домейн играе в релационния модел е много важно. Описание за своя домейн атрибут ви позволява да контролирате правилния вход в атрибутите на базата данни.
цялост ограничаването атрибути, както следва:
Стойността на всеки атрибут е взето от съответния домейн.
Домейни също така да ограничи сравнението на операция стойностите на атрибутите.
По време на работа на базата данни, заявки данните, има нужда да се сравняват стойностите помежду различни атрибути. Това, разбира се, поставя въпроса: "В този случай, подобно сравнение е правилно?" Така че - за сравнение с всеки друг може само стойностите на атрибутите, определени в общата сфера.
Наистина, абсурдни външен вид заявка: "Получаване на списък с учениците, които са получили резултат на изпита през залата, разбира се, когато студентът се учи", която изисква работата на сравнение между стойностите на курса, в който ученикът се учи и оценките, получени от него (въпреки че това, което друго значение се изразява чрез положително цяло число). Очевидно е, че стойността на курса и оценката атрибути. Свързани имоти същност студент. Те трябва да бъдат определени в различни области и поради това не може да се сравни с друга.
Трябва да се отбележи, обаче, че по-горе, не означава, че стойностите на атрибутите, определени в различни домейни, обикновено не могат да бъдат използвани в общите скаларни изрази. Например, ако присъстват в съотношение
атрибути и KOLICHESTVO_EDINITS_TOVARA TSENA_EDINITSY_TOVARA. какво
ясно е, че, въпреки очевидната принадлежност на тези атрибути в друг домейн, техните стойности могат да бъдат използвани в обща аритметичен израз
А = (KOLICHESTVO_EDINITS_TOVARA TSENA_EDINITSY_TOVARA *)
за да се изчисли, например, общата стойност на всички продадени единици.
От концепция косвено домейн е почти съвпада с концепцията за типове данни (както се разбира в съвременните езици за програмиране). Наистина, домейнът е математически пакет, както и типа на данните определя допустимата набор от стойности на данни и набор от операции по тях. Говорейки обаче, истинската модерна релационна база данни, в която понятието за домейн се поддържа в ограничен смисъл. реално предоставена Вграденият базата данни (т.е., дефинирани от системата) примитивни типове данни като числа, числа с плаваща запетая, струни, и т.н.
Липса на информация или NULL-стойности.
Говорейки в контекста на концепцията за стойности на домейни, които могат да приемат определен атрибут трябва да се обърне внимание на една ситуация, която в реалния живот не може да се изключи. А именно, ситуация, в която може да липсват на конкретни стойности на атрибутите. Например, в един запис на база данни за даден студент може да не разполагат с информация за рождената си дата или място на пребиваване. Сега това няма значение по какви причини приписват информация стойност може да липсва, обаче, с оглед на реалността на такива ситуации, изграждане на модел на домейн, че е желателно да има средства, за да ги представлява.
Codd бе предложено да се използва за означаване на липса на информация за стойността на атрибута специален маркер - NULL. често се нарича NULL-стойност. Въведение NULL означава следващия маркер. По дефиниция (описание) на даден атрибут (например, срещу студенти приписват CITY. Значение на града, в който живее студент), в допълнение към създаването на домейна разрешено за този атрибут стойности (списък с валидни имена на градове), следва да се отбележи, че, ако по някаква причини или истинската стойност на този атрибут е неизвестен, NULL маркер инсталиран на негово място.
Веднага трябва да се обърне внимание на факта, че NULL не е един от възможните стойности на атрибута. NULL не е на стойност най-малко. а е показател за липсата, действителните
стойността на този атрибут, който всъщност е, разбира се, съществува, но в момента не е известно или несигурно. По същата причина, множеството от допустимите стойности на атрибути, които определят домейна. Тя не може да бъде удължен с включване на NULL-стойности, тъй като не е допустимо в друга стойност домейн. и един от вече определените достояние. но в момента е неизвестна.
Имайте предвид също, че, най-общо казано, за всеки атрибут на връзката може да бъде толерирана липсата на ценности, т.е. укажете NULL вместо на маркера. Това се отнася по-специално ключовите атрибути и връзката ще бъдат обсъдени по-подробно по-късно.
Горните съображения в полза на въвеждането на релационния модел NULL означение. Тя изглежда доста разумно. На практика, обаче, въвеждането на NULL води до значително усложнение на модела. Проблемите възникват, когато се определя работата на сравняване на стойностите на различни атрибути, както и идентифициране на потенциален външен ключ отношения, определяне група (обобщени) операции на стойностите на атрибутите (сума, средно, и т.н.). Поради тази причина, по-специално, някои работещи в областта на базите данни на учените, по-специално на данни [1], въвеждането на
в релационния модел е нула стойност се смята за погрешно, се разглежда като фактор, който нарушава целостта на модела, и то излишно сложно. Независимо от това, модерни бази данни обикновено се поддържат са стойностите NULL. Затова специалистите, работещи
в бази данни, трябва да бъде добре знаете функции, произтичащи от тяхната употреба.
Скаларни изрази с липсващи данни (нула). Три цифри (3VL) логика
Да разгледаме специално използването на което получената NULL -стойност при извършване на различни операции на скаларни стойности на атрибутите, т.е. проблеми, възникнали при използване като операнди всеки скаларна атрибут, стойностите на които могат да бъдат неизвестни или неопределени. Помислете например за релационните кортежи, които описват някои от обектите, имоти, което от своя страна съответстват на атрибутите на връзката на дължина и ширина. Да предположим, че за някои съоръжения конкретни стойности на тези атрибути могат да бъдат неизвестни. Стойностите на тези качества могат да се използват като операнди от различни скаларни операции, например при изчисляване на областта на обект атрибут стойности чрез умножаване на дължина и ширина.
Аспект че веднага възниква в този случай е, че ако всеки операнд е скаларна експресия не е определена, след това в резултат на това изразяване може също да бъде известна.
Ако не знаете стойностите на всяка дължина на операндите или ширина. и изчислява стойността на областта (дължина х широчина) също е неизвестна. Когато неизвестно операнд стойност на дължина. неизвестен също ще бъде скаларни стойности на следните аритметични изрази:
- дължина. + Дължина. 10. дължина + 10 + дължина. Дължина - 10 10 - дължина. Дължина х 10 х 10 дължина. ДЪЛЖИНА / 10 10 / дължина.
Сложността обаче, че не винаги е израз с неизвестна стойност операнд не е много специфична. Така че, очевидно, изисква специално определение на типа на дължина израз - дължина. в резултат на което е известно и трябва да бъде 0 (нула), във всеки случай, независимо от известен или неизвестен стойност на операнд. Нееднозначно тълкуване като израз ДЪЛЖИНА / 0, когато нули ДЪЛЖИНА операнд (вместо обичайния дисплей деление с нула грешки).
По-специално той предизвиква голям ползване предположение липсва атрибут (нула) стойности с скаларни операции сравняване
а = б. а ≠ б. а> б. а В типичен случай, в резултат на сравняване на работа, две възможни стойности е вярно - верни и неверни - невярно. Предположението в операнди изрази, с помощта на сравняване на операторите се посочва, когато продукцията им не е известна, води до необходимост от допълване на двете държави вярно и логично невярно състояние на трета логика, която може да бъде наречена на неизвестна (от английски неизвестното -. Неизвестно). С други думи, допускането в стойностите на атрибутите на липсващите или несигурни резултати в необходимостта да се премине от две ценен логика (вярно. False) до трикомпонентна (вярно. False. Вуйчо), наричан още 3VL-логика (от английски три стойности логика).
по подходящ начин трябва да бъде променена и основен скаларна логическа операция И. ИЛИ и НЕ. Тяхната истина маси имат следния вид.