Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 1. Внешние модели данных.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
724.48 Кб
Скачать

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

Эта модель, называемая также «сложной таблицей» — основной класс моделей, рассматриваемых в этой книге в качестве внешних моделей баз данных. Модели этого клас­са хорошо отражают информационные потребности пользователей в классических OLTP1, на которые мы ориентируемся при изложении материала. Краткое обсуждение моделей, характерных для систем OLAP2, приводится в конце главы.

Пример модели (рис.1.2) иллюстрирует модель типа «сложная таблица» успеваемости студентов по различным предметам. На нем хорошо видны следующие существен­ные особенности этого типа модели:

  1. единственная сущность, которую задает модель, мо­жет содержать множество атрибутов. Так, в рассматри­ваемом примере (см. рис. 1.2,а) задана сущность с име­нем «Студент», заключенным в прямоугольник, наделен­ная атрибутами с именами, прикрепленными к изображе­нию сущности с помощью выносных линий: «код» (уни­кальный код студента), «фио» (фамилия, имя и отчество студента), «код (предмета)» (код предмета, сданного сту­дентом), «назв» (название сданного предмета), «дата» (да­та сдачи) и «оцен» (полученная оценка);

  2. это модель типов (множеств, классов, если угодно), задающая тип сущности и подразумевающая множество экземпляров этого типа. Рисуя прямоугольник, симво­лизирующий некоторую сущность, мы тем самым зада­ем конечное множество экземпляров этой сущности. На рис. 1.2, б приведен пример трех экземпляров сущности «Студент» в виде трех строк таблицы, каждая из кото­рых соответствует некоторому студенту. Вообще говоря, это множество может содержать сколь угодно большое (ко­нечное) число экземпляров или быть пустым;

3) агрегаты атрибутов — именованная совокупность атрибутов сущности — позволяет задать иерархию атрибутов модели. В примере на рис.1.2 использован один агрегат «предмет», объединяющий совокупность атрибутов «код», «назв», «дата», «оцен», от­носящихся к сданным студентом предметам. Можно говорить об эк­земпляре агрегата (см. рис. 1.2,6) аналогично тому, как говорят об экземпляре сущности. Сущность может содержать несколько агре­гатов атрибутов, причем агрега­ты могут присутствовать внутри другого агрегата (рис. 1.3). Агре­гаты делают модель более понят­ной и наглядной, если они соответ­ствуют некоторым понятиям, объ­ектам предметной области. Кроме того, наличие агрегатов позволя­ет дублировать имена атрибутов, поскольку полное имя атрибута включает имена всех агрегатов, в которых содержится этот атрибут, и имя самой сущности. Например, полное имя для кода студента — «Студент.код», а полное имя для кода предмета — «Студент.Предмет, код», поэтому это раз­ные имена;

4) многозначные агрегаты могут принимать более одно­го значения в одном экземпляре сущности или в одном эк­земпляре родительского агрегата. На графе модели много­значность указывается стрелкой на выносной линии. Так, в рассматриваемом примере каждый студент сдает, вообще говоря, несколько предметов, поэтому агрегат «Предмет» является многозначным. На рис. 1.2,б видно, что студент Иванов и Петров сдали по три предмета, а студент Сидо­ров — два. Многозначные агрегаты могут быть вложенны­ми, т. е. внутри одного многозначного агрегата может быть другой, тоже многозначный. Модель на рис. 1.4 модифи­цирована так, что она учитывает возможность нескольких попыток студента сдачи одного предмета; для достиже­ния этого агрегат «Сдача» сделан повторяющимся. Анало­гичным образом многозначными могут быть и отдельные атрибуты; на рис. 1.4 многозначность атрибута «телефон» отражает тот факт, что с одним студентом может быть связано несколько телефонов (домашний, мобильный, слу­жебный и т. п.).

Термин «сложная» в названии модели «сложная табли­ца» отражает то обстоятельство, что в табличном представ­лении этой модели (таком как на рис. 1.2,6), на пересе­чении строк и столбцов допустимы неатомарные данные1. Например, в столбце «Предмет» за счет агрегации атрибу­тов присутствуют данные четырех типов — это «сложность по вертикали». Кроме того, за счет многозначности агре­гата в каждой строке каждый атрибут агрегата «Предмет» имеет несколько значений — это «сложность по горизонта­ли». «Простая таблица», таким образом, не должна иметь ни агрегатов, ни многозначности.

1Атомарность (Atomicity) данных — свойство неделимости экзем­пляров данных, отсутствие у них внутренней структуры, которая «ви­дима» для обрабатывающей программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]