Студопедия

КАТЕГОРИИ:


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

В реляционной СУБД

Представление деревьев и графов

 

Одним из главных достоинств иерархических и сетевых СУБД считают естественность представления данных иерархической и сетевой природы. А как представлять такие данные в реляционных СУБД?

Для деревьев характерными операциями являются

· спуск по дереву или нахождение сына текущей вершины;

· подъем по дереву или переход к родительской вершине;

· горизонтальное перемещение или следующего сына прежней родительской вершины.

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

Если число уровней дерева строго ограничено, и каждый уровень имеет свой определенный смысл, целесообразно организовать для каждого уровня свою таблицу. Например, учебную структуру института можно представить таблицами по факультетам, кафедрам, специальностям, как показано на рисунке.

 

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

 

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

 

 

эти таблицы могут выглядеть так

 

Вершины Связи

 

       
 
Id Info … 1 … 2 … 3 … …………  
   
Out In Info … 1 2 … 1 3 2 3 … 2 7 … 2 8 … … … …

 


Иногда иерархическая либо сетевая природа данных неочевидна. Например, структура БД по жилищному фонду Республики Марий Эл сначала представлялась простой и понятной (пример Ю. В. Ускова). Предполагались таблицы населенных пунктов, улиц, домов, квартир. В процессе разработки проявилась неоднородность информации. Так некоторые населенные пункты административно подчиняются другим, иногда адрес не содержит названия улицы или номер дома, а в других случаях добавляется номер корпуса и т. п. Выходом явилась иерархическая структура БД. Вершины дерева стали соответствовать различным структурным элементам, что определялось признаком типа вершины. БД оказалась вполне удобной при эксплуатации.

 

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


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


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



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




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