Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база данных.docx
Скачиваний:
167
Добавлен:
24.03.2015
Размер:
5.83 Mб
Скачать

2. Модели и типы данных

Хранимые в базе данные имеют определенную ло1 ическую структуру — иными слоьами, описываются некоторой моделью представ гения данных (моделью данных), поддерживаемой СУБД. К числу классических относятся следующие модели данных:

  • иерархическая.

  • сетевяя,

  • реляционная.

Кроме того, в пос [едние голы появились и стали более актиьно внедрять­ся на практике следующие модели данных:

  • постреляционная,

  • многомерная,

  • объектно-ориентированная.

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

В некоторых СУБД поддерживаются одновременно несколько моделей данных. Например, в системе ИНТЕРБАЗА для приложений применяется сетевой язык манипулирования данными, а в пользовательском ин герфейсе реализованы языки SQL иQBE.

2.1. Иерархическая модель

В иерархической модели связи между, щнными можно описать с помощью упорядоченного графа (или дерева) Упрощенно представление связей меж­ду данными в иерархической модели показано на рис. 2.1.

Рис. 2.1. Представление связей виерархической модели


Для описания структуры (схемы) иерархической Б/1 па некотором языке программирования используется тип данных «дерево».

Тип «дерево» схож с тинами данных «струк гура» языков программирова­ния ПЛ/1 и С и «запись» языка Паскаль. В них допускается вложенность ти­пов, каждый из которых находится на некотором уровне.

Тип «дерево» является составным. Он включает в себя подтипы («подде­ревья»), каждый из которых, в свою очередь, является типом «дерево». Каж дый из типов «дерево» состоит из одного «корневого» типа и упорядоченного набора (возможно, пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного гипа, например числового, а со( тавная «запись» объединяет некоторую совокупность типов, например, целое, строку символов и указатель (ссылку). J [ример типа «дерево» как со­вокупности типов показан на рис. 2.2.

Отдел

Отд номер

Отд размер

Отд^арплата

Начальник

Hd4 номеь Нач_имя Нач_телефон

Сотрудник Сотр номер Сотр имя Сотр зарпгэта

Рис. 2.2. Пример типа «дерево»

Корневымназывается тип, который имеет подчиненные типы и сам не яв­ляется подтипом. Подчиненныйтип (подтип) является потомкомпо отноше­нию к типу, который выступает для него в роли предка (родителя). Потомки одно] о и гого же типа яв. гяются олизнецамипо отношению дру! к другу.

В целом тип «дерево» представляет собой иерархически организованный набор типов «запись».

Иерархическая БД представляет собой упорядоченную совокупность экземпляров данных гипа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи). Часто отношения родства между чипами переносят на отношения между самими запис ями. Поля записей хранят собственно чис­ловые или символьные значения, составляющие основное содержание БД Обход всех элементов иерархической Б/1 обычно производится сверху вниз и слева направо.

В иерархических СУБД может использоваться терминология, отличаю­щаяся от приведенной. Так, в системе IMS поня гию «запись» соответствует термин «сегмент», а под «записью БД» понимается вся совокупность запи­сей, относящаяся к одному экземпляру типа «дерево».

36700

Данные в базе с приведенной схемой (рис. 2.2) moi ут выглядеть, напри­мер, как показано на рис. 2.3.

Отдел

17

10

Начальный

103

Петров А.В.

4156