Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Отношения и предикаты





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

Поставщик с определенным номером (S#) имеет определенное имя (SNAME) и определенное значение статуса (STATUS) и располагается в определенном городе (CITY); кроме того, нет двух поставщиков с одинаковыми номерами.

Это утверждение не очень точное, но оно подходит для наших целей.

Формально, предыдущее утверждение — это пример того, что называют предикатом, или функцией значения истинности; в нашем конкретном случае — функцией четырех аргументов. Подстановка значений этих аргументов эквивалентна вызову функции (или "подтверждению" предиката), а значит, получению выражения, называемого высказыванием, которое может быть либо истиной либо ложью. Например, при подстановке

S#= 'SI' SNAME ='Smith1 STATUS = 20 CITY = 'London'

получим высказывание, являющееся истиной. А при подстановке

S#= 'SI' SNAME = 'Abbey' STATUS = 45 CITY = 'Tucson'

получим высказывание, являющееся ложью (потому что поставщик с номером S1 имеет имя не Abbey, статус не 45 и располагается не в Туксоне). И в любой момент времени отношение содержит в точности те кортежи, при которых предикат является истиной.

Из вышесказанного следует, что (например) кортеж, представленный в качестве кандидата для вставки в некоторое отношение, будет принят СУБД только в том случае, если он не противоречит соответствующему предикату (т.е. соответствующее высказывание не будет ложью). Вообще предикат данного отношения составляет критерий возможности обновления для этого отношения; т.е. критерий для решения, является ли некоторое обновление допустимым (или по крайней мере "правдоподобным") для данного отношения.

Для того чтобы система могла определить допустимость обновления данного отношения, ей должен быть известен предикат этого отношения. Конечно, сейчас СУБД не может в точности знать предикат для данного отношения. Например, в случае отношения S СУБД не может знать точно, что предикат для кортежа (S1,Smith,20,London) будет истиной, а для кортежа (S1,Abbey,45,Tucson) — нет.[5][5] Однако СУБД считает кортеж приемлемым, если выполнены следующие условия:

• • Значение S# принадлежит домену номеров поставщиков.

• • Значение SNAME принадлежит домену имен.

• • Значение STATUS принадлежит домену значений статуса.

• • Значение CITY принадлежит домену названий городов.

• • Значение S# должно быть уникальным среди всех значений отношения.

Иначе говоря, для базового отношения, такого как S, в СУБД используются определенные, объявленные для этого отношения, правила целостности, такие как правило о том, что значение S# уникально и принадлежит домену номеров поставщиков. Поэтому формально мы можем определить "значение" (известное СУБД) данного базового отношения как логическое умножение (логическая операция И) всех известных СУБД применяемых к этому отношению правил. И именно в этом смысле СУБД будет проверять допустимость обновления данного отношения.

Мы будем еще несколько раз возвращаться к значению отношения в последующих главах.







Date: 2016-05-25; view: 544; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию