Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Значения отношений




Домены

Домен – это не что иное, как тип данных. В частности, возможно, простой, определяемый системой, подобно типам INTEGER и CHAR. В общем случае этот тип определяется пользователем.

Прежде всего, домен, или тип данных, это множество значений – всех возможных значений рассматриваемого типа. Например, тип INTEGER – это множество всех целых чисел. Говоря о каком-либо типе данных необходимо помнить об операторах, которые могут корректно применяться к значениям этого типа. Другими словами, значениями заданного типа можно манипулировать только с помощью операторов, определенных для этого типа.

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

Таким образом, желательно, чтобы система проводила строгий контроль типов и выдавала ошибки в случае обнаружения несоответствий.

Следует также отметить, что значения, составляющие данный тип, могут быть произвольными, т.е. как простыми строками и числами, так и аудио- и видеозаписями, картами, чертежами. Единственное требование, которому должны удовлетворять эти значения, следующее: манипулирование ими возможно исключительно посредством операторов, определенных для рассматриваемого домена.

Типы данных можно разделить на скалярные и нескалярные. Нескалярные типы, явно определенные таким образом, что в них есть компоненты, видимые для пользователя (например, тип отношения). Скалярные типы, напротив, видимых пользователю компонент не имеют.

Как уже отмечалось, следует различать собственно отношения и переменные-отношения (т.е. переменные, значениями которых являются отношения). В данном подразделе рассматриваются значения отношений. Прежде всего дадим точное определение термина отношение:

Пусть задано множество из n типов или доменов Ti (i=1,2,…,n), причем все они необязательно должны быть различными. Тогда r будет отношением, определенным на этих типах, если оно состоит из двух частей: заголовка и тела, где:

а) заголовок – это множество из n атрибутов вида Ai:Ti; здесь Ai – имена атрибутов (которые должны отличаться одно от другого) отношения r, а Ti – соответствующие имена типов (i=1,2,…,n).

б) тело – это множество из m кортежей t; здесь t в свою очередь, является множеством компонентов вида Ai:Vi, в которых Vi – значение типа Ti, т.е. значение атрибута для атрибута Ai в кортеже t (i=1,2,…,n).

Замечание: Следует отметить, что заголовок отношения также называется схемой отношения.

Значения m и n называются соответственно кардинальностью и степенью отношения r.

В качестве примера рассмотрим таблицу, представленную на рис. 2.7, чтобы проверить насколько она соответствует этому определению:

§ В этой таблице имеется четыре основных типа, а именно: тип номеров поставщиков (SN), тип имен (NAME), тип значений статуса (STATUS) и тип названий городов (CITY).

§ В таблице действительно есть две части – строка имен столбцов и некоторое множество строк данных. Строка имен действительно состоит из набора упорядоченных пар: первый компонент пары – имя атрибута, второй – соответствующее имя типа. Поэтому можно согласиться, что строка заголовков столбцов представляет заголовок в смысле приведенного определения.

§ Остальная часть таблицы – множество строк данных, каждая из которых представляет множество упорядоченных пар: первый компонент – имя атрибута, второй – соответствующее значений атрибута. Имя атрибута определяется по заголовку соответствующего столбца. Таким образом, каждая строка представляет собой некоторый кортеж в смысле приведенного определения.

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

Теперь можно с уверенностью сказать, что отношение и таблица – это в действительности не одно и то же. Отношение – это некоторый абстрактный вид объекта, соответствующий данному ранее определению, а таблица – это конкретное изображение данного абстрактного объекта.

Свойства отношений:

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

2. Отсутствие упорядочения кортежей (сверху вниз). Данное свойство также следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены. К примеру, изменив на рис. 2.7. порядок следования кортежей мы бы не изменили самого отношения (но изменили бы таблицу!).

3. Отсутствие упорядочения атрибутов (слева направо). Данное свойство следует из того факта, что заголовок отношения определен как множество (атрибутов). Из этого свойства следует отсутствия первого или последнего атрибутов. Атрибут всегда определяется по имени, а не по расположению.

4. Каждый кортеж содержит ровно одно значений для каждого атрибута. Данное свойство следует непосредственно из определения кортежа: кортеж является множеством из n компонентов или упорядоченных пар вида Ai:Vi (i=1,2,…,n). Отношение, удовлетворяющее этому свойству, называется нормализованным или представленным в первой нормальной форме (1НФ).

Таким образом, все отношения по определению нормализованы.

Возможно существование типа, значением которого является отношение. Другими словами, возможно существование отношений, в которые вложены другие отношения.




Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 483; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.