Изучив эту тему, вы узнаете и повторите::
- что представляет собой модель данных;
- в чем особенность иерархической модели данных;
- в чем особенность сетевой модели данных;
- в чем особенность реляционной модели данных;
- как устанавливаются связи в реляционной модели.
Прежде чем переходить к работе по созданию базы данных на компьютере, необходимо разработать модель данных.
Начнем рассмотрение этого понятия на примере предметной области Школьная библиотека. В любой библиотеке для поиска нужной литературы используются каталоги, в которых хранятся сведения обо всех имеющихся в ней книгах. Каталоги бывают алфавитные (рис. 4.2) и предметные (рис. 4.3). Каталог состоит из карточек. В карточке содержатся сведения об одной книге. Карточки создаются в двух экземплярах, один из которых хранится в алфавитном каталоге, а другой — в предметном. Оба каталога содержат одни и те же карточки, но расставлены они в разном порядке.
Рис. 4.2. Алфавитный каталог
Рис. 4.3. Предметный каталог
Рассмотрим, как организована структура библиотечного каталога. Каталог, как объект, можно описать информационной моделью, для представления которой используются разнообразные формы. Так, например, информационная модель предметного каталога школьной библиотеки может быть отображена в наглядной графической форме в виде иерархической структуры (рис. 4.4).
Рис. 4.4. Информационная модель предметного каталога
школьной библиотеки в виде иерархической структуры
Другой формой представления информационной модели могут быть таблицы, где в отличие от предыдущей формы можно кроме указания объектов отобразить и их свойства. Например, для отображения свойств объектов предметной области Школьная библиотека можно создать две таблицы — художественной и учебной литературы. Эта же информация может быть представлена в виде совокупности более детализированных таблиц.
Например, информация о художественной литературе может быть представлена в виде двух таблиц — для иностранной и русской литературы, а учебная — в виде нескольких таблиц для физики, биологии, химии и т. д. Каждая запись в такой таблице является аналогом карточки каталога и отражает сведения только об одной книге. Таким образом, одна база данных может состоять из нескольких таблиц, связь между которыми необходимо организовать по определенным правилам.
Важно не только собрать вместе нужную информацию, но и удачно ее структурировать, то есть создать информационную модель данных и представить в определенной форме. Это позволит понять информационную структуру объекта и создать необходимые процедуры для извлечения из базы данных нужной информации.
Применительно к базам данных такая информационная модель получила более короткое название — модель данных.
Модель данных — это совокупность взаимосвязанных по определенному правилу данных.
Информация, отражающая существенные признаки объекта, процесса, явления и хранящаяся в памяти компьютера, представляет собой компьютерную информационную модель. Выделяют три основные модели данных: иерархическую, сетевую и реляционную. Рассмотрим каждую из них.
Иерархическая модель данных отображает взаимосвязь информационных объектов по уровням подчиненности. На верхнем (корневом) уровне расположен единственный информационный объект. Ему подчиняется несколько информационных объектов второго уровня. Каждому информационному объекту второго уровня подчиняется несколько информационных объектов третьего уровня и т. д.
Рассмотрим примеры иерархических моделей.
На верхнем уровне информационной модели Школы Санкт- Петербурга (рис. 4.5) расположен корневой объект — информация о городе Санкт-Петербурге. Город состоит их нескольких районов, информация о которых отражена на втором уровне. В каждом районе имеется несколько школ — это объекты третьего уровня. Можно продолжить дальнейшее разделение по уровням иерархии: на четвертом уровне находятся классы, на пятом — ученики. Каждый уровень (кроме первого) отображает информацию о классе объектов. В данной модели можно выделить следующие классы: районы, школы, классы, ученики.
Рис. 4.5. Пример иерархической модели данных Школы Санкт-Петербурга
В обобщенном виде модель изображается в виде дерева, элементами которого являются узлы, распределенные по уровням, и дуги (рис. 4.6).
Узел представляет информационную модель объекта, находящегося на данном уровне иерархии. Дуги показывают связи между объектами разных уровней.
Сформулируем основные свойства иерархической модели.
♦ Модель имеет только одну вершину первого уровня, называемую корнем.
Рис. 4.6. Графическое изображение иерархической модели в обобщенном виде
♦ Между узлами двух соседних уровней установлены следующие отношения. Каждый узел нижнего уровня должен быть связан только с одним узлом верхнего уровня. Каждый узел верхнего уровня может быть связан с несколькими узлами нижнего уровня. Такая связь называется "один-ко-многим", условно записывается как соотношение 1:М.
♦ Узлы последнего нижнего уровня не имеют подчиненных узлов.
♦ Каждый узел имеет имя (идентификатор).
♦ Узлы одного уровня образуют один класс объектов.
Примером иерархической модели данных является структура каталога (рис. 4.7), отражающая информацию о хранящихся на компьютере файлах.
Эта структура представляет совокупность папок и файлов, распределенных по уровням вложенности. Корневой папкой является жесткий диск.
Каждая папка или файл является узлом иерархической модели и характеризуется конкретными значениями параметров, посредством которых описывается соответствующий класс объектов.
Иерархической моделью данных является также генеалогическое дерево, показывающее наследственные связи между родственниками.
Рис. 4.7. Иерархическая структура каталога
1. Что такое модель данных и для чего она нужна?
2. Приведите определение информационной модели и сопоставьте его с определением модели данных. Найдите у них общие и различающиеся характеристики.
3. Какие вы знаете формы представления информационной модели? Сравните их и сделайте вывод о том, когда лучше использовать ту или иную форму представления.
4. Приведите примеры моделей данных для разных предметных областей.
5. Что представляет собой иерархическая модель данных в общем виде?
6. Что такое узел иерархической модели данных?
7. В чем состоят свойства иерархической модели данных?
8. Приведите примеры иерархических моделей данных.
9. Что представляет собой сетевая модель данных в общем виде?
10. В чем состоят свойства сетевой модели данных?
11. Приведите примеры сетевых моделей данных.
12. Что представляет собой реляционная модель данных в общем виде?
13. Как вы понимаете связь между информационными объектами 1:1? Приведите примеры такого типа связей.
14. Как вы понимаете связь между информационными объектами 1:М? Приведите примеры этого типа связей.
15. Как вы понимаете связь между информационными объектами М:М? Приведите примеры данного типа связей.
16. В чем состоят свойства реляционной модели данных?
17. Приведите примеры реляционных моделей данных.
18. Как графически отображается реляционная модель данных?
19. Приведите примеры преобразования иерархической модели в реляционную.
20. Приведите примеры преобразования сетевой модели в реляционную.