ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.11.2019
Просмотров: 9511
Скачиваний: 184

Иерархические
модели
позволяют
описывать
упорядоченные
или
неупорядоченные
отношения
вхождения
элементов
данных
в
компонент
более
высокого
уровня
,
т
.
е
.
множества
,
таблицы
и
их
комбинации
.
К
иерархическим
моделям
относят
модель
Джексона
-
Орра
,
для
графического
представления
которой
можно
использовать
:
•
диаграммы
Джексона
,
предложенные
в
составе
методики
проектирования
программного
обеспечения
того
же
автора
в
1975
г
.;
•
скобочные
диаграммы
Орра
,
предложенные
в
составе
методики
проектирования
программного
обеспечения
Варнье
-
Орра
(1974).
Сетевые
модели
основаны
на
графах
,
а
потому
позволяют
описывать
связность
элементов
данных
независимо
от
вида
отношения
,
в
том
числе
комбинации
множеств
,
таблиц
и
графов
.
К
сетевым
моделям
,
например
,
относят
модель
«
сущность
-
связь
» (ER - Entity-Relationship),
обычно
используемую
при
разработке
баз
данных
.
Диаграммы
Джексона
.
В
основе
диаграмм
Джексона
лежит
предположение
о
том
,
что
структуры
данных
,
так
же
,
как
и
программ
,
можно
строить
из
элементов
с
использованием
всего
трех
основных
конструкций
:
последовательности
,
выбора
и
повторения
.
Каждая
конструкция
представляется
в
виде
двухуровневой
иерархии
,
на
верхнем
уровне
которой
расположен
блок
конструкции
,
а
на
нижнем
-
блоки
элементов
.
Нотации
конструкций
различаются
специальными
символами
в
правом
верхнем
углу
блоков
элементов
.
В
изображении
последовательности
дополнительный
символ
отсутствует
.
В
изображении
выбора
ставится
символ
«
о
» (
латинское
) -
сокращение
английского
«
или
» (or).
Конструкции
последовательности
и
выбора
должны
содержать
по
два
или
более
элементов
второго
уровня
.
В
изображении
повторения
в
блоке
единственного
(
повторяющегося
)
элемента
ставится
символ
«*».
Так
схема
,
показанная
на
рис
. 4.22,
а
,
означает
,
что
конструкция
А
состоит
из
элементов
В
,
С
и
D,
следующих
в
указанном
порядке
.
Схема
на
рис
. 4.22,
б
означает
,
что
конструкция
S
состоит
либо
из
элемента
Р
,
либо
из
элемента
Q,
либо
из
элемента
R.
Схема
,
изображенная
на
рис
. 4.22,
в
,
показывает
,
что
конструкция
I
может
не
содержать
элементов
или
содержать
один
или
более
элементов
X.
В
случае
если
необходимо
показать
,
что
конструкция
повторения
должна
включать
один
или
более
элементов
,
используют
комбинацию
из
двух
структур
последовательности
и
повторения
(
рис
. 4.23).
Скобочные
диаграммы
Орра
.
Диаграмма
Орра
базируется
на
том
же
предположении
о
сходстве
структур
программ
и
данных
,
что
и
диаграмма
Джексона
.
Отличие
состоит
лишь
в
нотации
.
Автор
предлагает
для
представления
конструкций
данных
использовать
фигурные
скобки
(
рис
. 4.24).

Пример
4.6.
Рассмотрим
описание
структуры
данных
файла
«
Электронная
ведомость
»,
содержащего
сведения
о
сдаче
экзаменов
студентами
.
Файл
состоит
из
записей
о
результатах
сдачи
сессии
студентами
одной
группы
.
Он
имеет
следующую
структуру
:
номер
группы
,
записи
об
успеваемости
студентов
(
ФИО
студента
,
название
предмета
и
оценка
,
полученная
студентом
,
в
завершении
записи
специальный
символ
«
конец
записи
»)
и
специальный
символ
«
конец
файла
».
На
рис
. 4.25
показано
,
как
выглядит
описание
данной
структуры
с
использованием
диаграммы
Джексона
,
а
на
рис
. 4.26 -
с
использованием
скобок
Орра
.

Сетевая
модель
данных
.
Сетевые
модели
данных
используют
в
тех
случаях
,
если
отношение
между
компонентами
данных
не
исчерпываются
включением
.
Для
графического
представления
разновидностей
этой
модели
используют
несколько
нотаций
.
Наиболее
известны
из
них
следующие
:
•
нотация
П
.
Чена
;
•
нотация
Р
.
Баркера
;
•
нотация
IDEF1 (
более
современный
вариант
этой
нотации
- IDEF1X
используется
в
CASE-
системах
,
например
в
системе
ERWin).
Нотация
Баркера
является
наиболее
распространенной
.
Далее
в
настоящем
разделе
будем
придерживаться
именно
этой
нотации
.
Базовыми
понятиями
сетевой
модели
данных
являются
:
сущность
,
атрибут
и
связь
.
Сущность
—
реальный
или
воображаемый
объект
,
имеющий
существенное
значение
для
рассматриваемой
предметной
области
.
Каждая
сущность
должна
:
•
иметь
уникальное
имя
;
•
обладать
одним
или
несколькими
атрибутами
,
которые
либо
принадлежат
сущности
,
либо
наследуются
через
связь
;
•
обладать
одним
или
несколькими
атрибутами
,
которые
однозначно
идентифицируют
каждый
экземпляр
сущности
.
Сущность
представляет
собой
множество
экземпляров
реальных
или
абстрактных
объектов
(
людей
,
событий
,
состояний
,
предметов
и
т
.
п
.).
Имя
сущности
должно
отражать
тип
или
класс
объекта
,
а
не
его
конкретный
экземпляр
(
Аэропорт
,
а
не
Внуково
).
На
диаграмме
в
нотации
Баркера
сущность
изображается
прямоугольником
,
иногда
с
закругленными
углами
(
рис
. 4.27,
а
).
Каждая
сущность
обладает
одним
или
несколькими
атрибутами
.
Атрибут
-
любая
характеристика
сущности
,
значимая
для
рассматриваемой
предметной
области
и
предназначенная
для
квалификации
,
идентификации
,
классификации
,
количественной
характеристики
или
выражения
состояния
сущности
(
рис
. 4.27,
б
).
В
сетевой
модели
атрибуты
ассоциируются
с
конкретными
сущностями
,
и
,
соответственно
,
экземпляр
сущности
должен
обладать
единственным
определенным
значением
для
ассоциированного
атрибута
.
Атрибут
,
таким
образом
,
представляет
собой
некоторый
тип
характеристик
или
свойств
,
ассоциированных
с
множеством
реальных
или
абстрактных
объектов
.
Экземпляр
атрибута
-
определенная
характеристика
конкретного
экземпляра
сущности
.
Он
определяется
типом
характеристики
и
ее
значением
,
называемым
значением
атрибута
.
Атрибуты
делятся
на
ключевые
,
т
.
е
.
входящие
в
состав
уникального
идентификатора
,
который
называют
первичным
ключом
,
и
описательные
-
прочие
.
Первичный
ключ
-
это
атрибут
или
совокупность
атрибутов
и
/
или
связей
,
предназначенная
для
уникальной
идентификации
каждого
экземпляра
сущности
(
совокупность
признаков
,
позволяю
-
щих
идентифицировать
объект
).
Ключевые
атрибуты
помещают
в
начало
списка
и
помечают
символом
«#» (
рис
. 4.27,
в
).

Описательные
атрибуты
бывают
обязательными
или
необязательными
.
Обязательные
атрибуты
для
каждой
сущности
всегда
имеют
конкретное
значение
,
необязательные
-
могут
быть
не
определены
.
Обязательные
и
необязательные
описательные
атрибуты
помечают
символами
«*»
и
«
о
»
соответственно
.
Для
сущностей
определено
понятие
супертип
и
подтип
.
Супертип
-
сущность
обобщающая
некую
группу
сущностей
(
подтипов
).
Супертип
характеризуется
общими
для
подтипов
атрибутами
и
отношениями
.
Например
,
для
некоторых
задач
супертип
«
учащийся
»
обобщает
подтипы
«
школьник
»
и
«
студент
» (
рис
. 4.28).
Связь
-
поименованная
ассоциация
между
двумя
или
более
сущностями
,
значимая
для
рассматриваемой
предметной
области
.
Связь
,
таким
образом
,
означает
,
что
каждый
экземпляр
одной
сущности
ассоциирован
с
произвольным
(
в
том
числе
и
нулевым
)
количеством
экземпляров
второй
сущности
и
наоборот
.
Если
любой
экземпляр
одной
сущности
связан
хотя
бы
с
одним
экземпляром
другой
сущности
,
то
связь
является
обязательной
(
рис
. 4.29,
а
).
Необязательная
связь
представляет
собой
условное
отношение
между
сущностями
(
рис
. 4.29,
б
).

Каждая
сущность
может
быть
связана
любым
количеством
связей
с
другими
сущностями
модели
.
Связь
предполагает
некоторое
отношение
сущностей
,
которое
характеризуется
количеством
экземпляров
сущности
,
участвующих
в
связи
с
каждой
стороны
.
Различают
три
типа
отношений
(
рис
. 4.30):
1*1 - «
один
-
к
-
одному
» -
одному
экземпляру
первой
сущности
соответствует
один
экземпляр
второй
;
1*n - «
один
-
ко
-
многим
» -
одному
экземпляру
первой
сущности
соответствуют
несколько
экземпляров
второй
;
n*m - «
многие
-
ко
-
многим
» ->
каждому
экземпляру
первой
сущности
может
соответствовать
несколько
экземпляров
второй
и
,
наоборот
,
каждому
экземпляру
второй
сущности
может
соответствовать
несколько
экземпляров
первой
.
Кроме
того
,
сущности
бывают
независимыми
,
зависимыми
и
ассоциированными
.
Независимая
сущность
представляет
независимые
данные
,
которые
всегда
присутствуют
в
системе
.
Они
могут
быть
связаны
или
не
связаны
с
другими
сущностями
той
же
системы
.
Зависимая
сущность
представляет
данные
,
зависящие
от
других
сущностей
системы
,
поэтому
она
всегда
должна
быть
связана
с
другими
сущностями
.
Ассоциированная
сущность
представляет
данные
,
которые
ассоциируются
с
отношениями
между
двумя
и
более
сущностями
.
Обычно
данный
вид
сущностей
используется
в
модели
для
разрешения
отношения
«
многие
-
ко
-
многим
» (
рис
. 4.31).
Если
экземпляр
сущности
полностью
идентифицируется
своими
ключевыми
атрибутами
,
то
говорят
о
полной
идентификации
сущности
.
В
противном
случае
идентификация
сущности
осуществляется
с
использованием
атрибутов
связанной
сущности
,
что
указывается
черточкой
на
линии
связи
(
рис
. 4.32).