Классика баз данных - статьи



         

Рассогласованность объектного и реляционного подходов - часть 2


Реляционные системы предоставляют возможность хранения знаний и их выборки на основе логики предикатов и истинных утверждений. По существу, каждая строка таблицы является утверждением о некотором факте реального мира, и SQL позволяет эффективно выбирать факты с использованием логики предикатов для вывода следствий из этих фактов. Дейт ([Date04]) и Фассел ([Fussell]) полагают, что реляционная модель характеризуется понятиями отношение, атрибут, кортеж, значение отношения и переменная отношения. Отношение в своей основе является смысловым предикатом о реальном мире, утверждением о фактах (атрибутах), которые обеспечивают смысл этого предиката. Например, можно определить отношение PERSON как {SSN, Name, City}; соответствующий предикат утверждает, что «существует человек (PERSON) с номером карточки социального страхования (social security number) SSN, проживающий в городе City и именуемый Name. Заметим, что в отношении полностью отсутствует упорядоченность атрибутов. Кортеж – это истинное утверждение в контексте некоторого отношения, множество значений атрибутов, соответствующее требуемому множеству атрибутов данного отношения, например, "{PERSON SSN='123-45-6789' Name='Catherine Kennedy' City='Seattle'}. Заметим, что два кортежа считаются идентичными, если они относятся к одному и тому же отношению, и значения одноименных атрибутов в них совпадают. Тогда значение отношения – это комбинация отношения и множества кортежей, соответствующих этому отношению, а переменная отношения, как и большинство других переменных, – это место для размещения значений заданного отношения. Например, можно определить переменную отношения People для хранения значений отношения {PERSON}, и эта переменная отношения может содержать следующее значение:

{ {PERSON SSN='123-45-6789' Name='Catherine Kennedy' City='Seattle'},

<{PERSON SSN='321-54-9876' Name='Charlotte Neward' City='Redmond'},

&lt{PERSON SSN='213-45-6978' Name='Cathi Gero' City='Redmond'} }




Содержание  Назад  Вперед