Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сетевая модель данных РГБД кодасил

МОДЕЛИ ДАННЫХ

 

СЕТЕВЫЕ СИСТЕМЫ

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

Приведенное определение является слишком общим для целей реализации, так как в нем отсутствуют ограничения на способы соединения типов записей в схеме базы данных. Рабочая группа по базам данных (РГБД) ассоциации КОДАСИЛ (CODASYL) сформулировала некоторые ограничения на сетевую модель данных, рассматриваемые в следующем разделе.

 

 

Рис.3.

 

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

а) Тип набора определяет отображение 1: N между типом записи-владельца и типами записей-членов набора.

б) Экземпляр типа записи-члена может участвовать только в одном экземпляре данного типа набора.

в) Тип записи-владельца в типе набора не может совпадать с типом записи-члена.

В п. а) имеется одно отличие от строго иерархической системы. Оно состоит в том, что допускаются записи-члены, не участвующие в наборах. Это соответствует порожденным узлам дерева, не имеющим исходных. Таким образом, вместо полной функциональной зависимости «члены — владелец» допускается частичная функциональная зависимость. Кроме того, в сетевой модели РГБД можно определить несколько типов наборов между двумя типами записей, так что между ними могут быть заданы различные отношения в отличие от единственного отношения исходный — порожденный, допустимого в иерархических структурах.

Существуют различные способы преобразования общих сетевых структур в структуры РГБД с учетом ограничений а) — в).

Для преобразования общей сетевой структуры, показанной на рис. 3, а, можно ввести запись-связку. Таким образом, связь М: N, примером которой является связь между поставщиками и деталями, преобразуется в совокупность связей 1: N (т. е. иерархий), удовлетворяющих ограничению а). Экземпляры записи-связки можно выбирать так, чтобы удовлетворялось ограничение б). Кроме того, записи-связки могут содержать дополнительную информацию (например, в записи-связке может храниться величина поставки). Эти преобразования показаны на рис. 4.

 

Рис.4

Из рис. 4 видно, что для преобразования общей структуры в структуру с ограничениями необходимо ввести несколько типов наборов и типов записей. Это еще один пример, показывающий необходимость дублирования для представления сложных и мощных структур с помощью примитивных и/или ограниченных структур.

Что касается ограничения в), то рассмотрим связь «руководит», показанную на рис. 4, а и 5, в. В терминах предложений РГБД тип записи-члена здесь должен совпадать с типом записи-владельца, что недопустимо. В этом случае по аналогии с решением для ограничений а) и б), рассматриваемуюсвязь можно отобразить либо вводя различные типы записей для разных ролей одного и того же типа записи, либо добавляя запись-связку и два типа наборов. Оба случая представлены на рис.6.

 

 

Рис.5. Рис.6

 

 

РЕЛЯЦИОННЫЕ СИСТЕМЫ

Реляционные СУБД используют реляционную модель данных. С помощью уже введенных понятий можно рассматривать отношение как набор связей между п атрибутами, т. е. как n -арную атрибутную связь. В соответствующее представление данных включаются только имеющие смысл и/или допустимые комбинации связей атрибутов. Ниже приведен ряд формальных определений:

а) Доменом называется совокупность однотипных значений данных. Примерами являются домен денежных сумм, домен имен, домен целых чисел и т. д.

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

в) Пусть имеется п доменов D 1, D 2,..., Dn (необязательно различных). Отношение R определяется как множество упорядоченных п-ок (кортежей), являющееся подмножеством декартова произведения доменов. Домен (множество) Di представлен в кортежах i -м элементом. Требование упорядоченности элементов кортежа можно устранить, идентифицируя в кортеже каждое вхождение домена уникальным именем атрибута.

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

 

  Домен имен   Возраст (из домена целых чисел)
  Доу  
  Кларк  
  Джонсон  

 

Отношение R (ИМЯ, ВОЗРАСТ) — имена атрибутов могут перечисляться в любом порядке — представляет подмножество декартова произведения доменов ИМЯ и ВОЗРАСТ, состоящего из девяти кортежей, R Í ИМЯ Ä ВОЗРАСТ (Ä обозначает операцию декартова произведения):

ИМЯ Ä ВОЗРАСТ = (Доу,25),(Кларк,25),(Джонсон,25),

(Доу,37),(Кларк,37),(Джонсон,37),

(Доу,43),(Кларк,43),(Джонсон,43).

Поскольку возраст человека определен однозначно, смысл имеют лишь три варианта сочетания возраста и имени. Например, отношение

R (ИМЯ, ВОЗРАСТ) = (Доу,43),(Кларк,25),(Джонсон,37) представляет модель реальной ситуации, являясь подмножеством рассмотренного декартова произведения.

СВОЙСТВА ОТНОШЕНИЙ

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

б) Нормализованное отношение представляется в виде табличной структуры. Имя таблицы соответствует имени отношения, имена столбцов — именам атрибутов, а строки таблицы — кортежам.

в) Упорядочение кортежей теоретически несущественно, однако оно может влиять на эффективность доступа к кортежам.

г) Все строки (кортежи) отношения должны быть различными.

д) В отношении могут существовать несколько одиночных или составных атрибутов, которые однозначно идентифицируют кортеж отношения. Такие атрибуты называются возможными ключами. Один из них выбирается в качестве первичного ключа для обеспечения доступа к кортежам.

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

Сделаем несколько замечаний по поводу свойства е). Различие между математическим отношением и отношением базы данных состоит в том, что состояние последнего может меняться со временем при добавлении и/или удалении отдельных кортежей. Число атрибутов, входящих в отношение, называется степенью отношения, а число кортежей отношения — кардинальным числом или мощностью отношения. Навигация по отношениям базы данных осуществляется путем их соединения с помощью атрибутов, определенных над общими или сравнимыми доменами. Операция соединения включает сравнение значении «атрибутов соединения» кортежей одного отношения (исходного) с кортежами другого отношения (целевого) и выборку пар кортежей, удовлетворяющих сравнению. Эта операция подробно рассмотрена ниже.

 

РЕЛЯЦИОННАЯ АЛГЕБРА

В этом разделе на ряде примеров рассматриваются операции реляционной алгебры. Для представления каждой операции будем использовать терминологию как алгебры, так и исчисления. Последняя базируется на системе понятий, использованной Коддом [53]. Пять операций являются основными: проекция, объединение, разность, декартово произведение и селекция. Другие часто используемые операции пересечения, соединения и деления можно выразить через пять основных операции. Ниже представлены отношения, используемые в примерах:

Р (D 1, D 2, D 3) Q (D 4, D 5,) R (М, Р, Q, Т) S (A, В)

1 11 х х 1 х 101 5 a 5 а

2 11 у x 2 у 105 3 а 10 b

3 11 z у 1 z 500 9 а 15 с

4 12 х w 50 1 b 2 d

w 10 2 b 6 а

w 300 4 b 1 b

 

Описание каждого отношения состоит из имени отношения, за которым в круглых скобках следует список атрибутов (это описание называется также интенсионалом или схемой отношения). Под описанием приведено некоторое заполнение кортежей отношения (экстенсионал отношения). В последующих примерах буквы R и S используются для обозначения отношений, а буквы А и В — для обозначения списка атрибутов (для простоты можно считать, что список состоит из единственного атрибута).

<== предыдущая лекция | следующая лекция ==>
Некоторые свойства иерархических систем | Декартово произведение. Операция проекции представляет собой выборку из каждого кортежа отношения значений атрибутов, входящих в A
Поделиться с друзьями:


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


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



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




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