Моделирование фактографической информации
Фактографическая информация выражается в свойствах, признаках и структуре информационного объекта. Поэтому моделирование фактографической информации заключается в анализе потребителем информации свойств, признаков и структуры информационного объекта и описании их средствами выбранного формального языка информационного моделирования. В информатике классическими языками моделирования фактографической информации стали ER‑модель и реляционная модель.
ER‑модель
Своё название модель получила по первым буквам английских слов "Entity‑Relationship" ("сущность‑связь"), сокращенно - ER. Данная модель была введена американским ученым Ченом (Chen P.) в середине 70-ых годов ХХ века. Использование для моделирования фактографической информации ER‑модели позволяет представить информационную модель графически в виде диаграммы. ER‑модель информационного объекта строится с использованием трех конструктивных информационных элемента: сущность, атрибут, связь.
Сущность - это конструктивный информационный элемент ER‑модели, обозначающий множество однородных информационных элементов (экземпляров сущности), выделяемых в структуре моделируемого источника информации. Сущности присваивается уникальное имя и ставится в соответствие перечень атрибутов, характеризующих свойства сущности. Сущность можно интерпретировать как поименованный “ящик”, содержащий в себе множество экземпляров сущности. Каждый экземпляр имеет свой уникальный набор значений атрибутов сущности.
Атрибут - это конструктивный информационный элемент ER‑модели, моделирующий (обозначающий) свойство сущности.Чтобы задать атрибут в модели, необходимо присвоить ему имя и описать значения, которые могут быть присвоены атрибуту. Имя атрибута связывают с его семантикой. Различные экземпляры сущности отличаются друг от друга своими значениями атрибутов сущности.
Графически сущность представляется прямоугольником, в который вписано имя сущности, а атрибуты сущности - овалами, в которые вписаны имена атрибутов. Атрибуты связываются с сущностью прямой линией. Например, при информационном моделировании учебного процесса в вузе можно выделить сущность студент, экземплярами которой будут все студенты вуза, с атрибутами: №_ЗАЧЕТКИ; ФИО; №_ГРУППЫ. То есть, сущность студент характеризуется свойствами: иметь уникальный шифр (№_ЗАЧЕТКИ), фамилию и инициалы (ФИО), входить в состав некоторой учебной группы (№_ГРУППЫ). Диаграмма сущности студент представлена на Рис. 1.
Рис. 1 Пример моделирования сущности
Различные значения атрибутов характеризуют различные экземпляры сущности студент (конкретных студентов). Например, конкретное значение атрибута №_ЗАЧЕТКИ равное 1654383 позволяет выделить (идентифицировать) конкретного студента из множества экземпляров сущности студент.
Если нас интересует информация об учебной группе, то можно ввести в рассмотрение сущность группа, с атрибутами, например: №_ГРУППЫ, ФОРМА_ОБУЧЕНИЯ, СПЕЦИАЛЬНОСТЬ. Экземплярами этой сущности будут все студенческие группы вуза. Очевидно, что сущность студент находится в отношении с сущностью группа в том смысле, что каждый экземпляр сущности студент связан с экземпляром сущности группа, у которого значение атрибута №_ГРУППЫ совпадает со значением одноименного атрибута сущностистудент. Для выражения подобных отношений между сущностями в ER‑модели используют связь.
Связь ‑ это конструктивный информационный элемент ER‑модели, предназначенный для обозначения выделенного при моделировании источника информации отношения между двумя или более сущностями. Чтобы задать связь в модели, необходимо присвоить ей имя и указать сущности, между которыми она устанавливает отношение. Аналогично сущности связь обозначает множество однородных информационных элементов (экземпляров связи). Конкретный экземпляр связи представляет собой перечисление конкретных экземпляров сущностей, находящихся между собой в заданном отношении.
Например, при информационном моделировании учебного процесса в вузе можно дополнительно выделить сущности преподаватель, и дисциплина. Очевидно, что в рамках учебного процесса сущности студент, преподаватель и дисциплина связаны отношением экзамен, выражающим информацию о том, что изучение дисциплины в семестре завершатся сдачей преподавателю экзамена или зачета. Экземпляры связи указывают, какую конкретную дисциплину сдает конкретный студент конкретному преподавателю. Перечень всех троек <студент, преподаватель, дисциплина>, составленных из экземпляров соответствующих сущностей, определяет набор экземпляров связи экзамен.
Связь, как и сущность, может иметь атрибуты. Связь экзамен может характеризоваться, например, атрибутами ОЦЕНКА и ДАТА_ПРОВЕДЕНИЯ.
Графически сущность представляется ромбом, в который вписано имя связи, а атрибуты связи, как и у сущности, - овалами, в которые вписаны имена атрибутов связи. Атрибуты соединяются с ромбом прямой линией. Пример моделирования связи экзамен представлен на Рис. 2.
При анализе связей могут выявляться отношения, связывающие между собой две сущности (бинарные связи), три сущности (тернарные связи) и, в общем случае, n сущностей (n‑арные связи). Например, рассмотренная выше связь экзамен является тернарной. Однако бинарные связи играют при построении ER-модели особую роль. Это определяется тем, что они легче поддаются анализу и, кроме того, теоретически показано, что любую n ‑арную связь можно заменить эквивалентной совокупностью бинарных связей. Для обозначения бинарных связей в ER-модели используются дополнительные графические символы.
Рис. 2 Пример моделирования связи
В ER-модели введена следующая классификация типов бинарных связей:
1. Тип связи один-к-одному (1:1)
2. Тип связи один-ко-многим (1:M)
3. Тип связи многие-к-одному (M:1)
4. Тип связи многие-ко-многим (M:N)
Тип связи один-к-одному определяет такое отношение между сущностями A и B, когда каждому экземпляру сущности A соответствует один и только один экземпляр сущности В и, наоборот, каждому экземпляру сущности В соответствует один и только один экземпляр сущности A (Рис. 3 а). Например, если A - студент, а B - зачетка, то между ними можно зафиксировать отношение с типом бинарной связи один-к-одному. Оно выражает тот факт, что каждый студент имеет единственную зачетную книжку. На диаграмме бинарная связь типа один-к-одному обозначается следующим образом:
Тип связи один-ко-многим определяет такое отношение между сущностями A и B, когда одному экземпляру сущности A может соответствовать 0, 1 или несколько экземпляров сущности B, однако каждому экземпляру сущности B соответствует только один экземпляр сущности A (Рис. 3 б).
Рис. 3. Типы бинарных связей
Например, если A - факультет, а B - группа, то между ними существует бинарная связь с типом один-ко-многим. Она фиксирует факт того, что каждая учебная группа входит в состав только одного факультета. В то же время, факультет может иметь в своем составе 0, 1, 2 и более групп. Группы, например, могут отсутствовать на только что открытом факультете. На диаграмме бинарная связь
типа один-ко-многим обозначается следующим образом:
Тип связи многие-к-одному определяет отношение между сущностями обратное бинарной связи с типом один-ко-многим (Рис. 3 в).
Тип связи многие-ко-многим характеризует такое отношение между сущностями A и B, при котором одному экземпляру сущности A может соответствовать 0, 1 или несколько экземпляров сущности B и, наоборот, одному экземпляру сущности B может соответствовать 0, 1, 2 или более экземпляров сущности A (Рис. 3 г). Например, если A - студент, а B - дисциплина, то между ними существует отношение, заключающееся в том, что один студент изучает 0, 1, 2 и более дисциплин, и одна дисциплина может изучаться 0, 1, 2 и более студентами. На диаграмме бинарная связь типа многие-ко-многим обозначается следующим образом:
Рассмотренные типы бинарных связей были двунаправленными. Однако существуют отношения между сущностями, имеющие практический смысл только в одну сторону. Такие связи называются однонаправленными. Различают простую и многозначную однонаправленную связь.
При простой однонаправленной связи от сущности A к сущности B одному и тому же экземпляру сущности A однозначно соответствует один и только один экземпляр сущности B. При этом обратная связь не определена (Рис. 3 д). Например, между сущностью A - группа и сущностью B - студент можно установить простую связь староста. Очевидно, что для каждой группы имеет смысл указывать студента, являющегося старостой, но нет практической необходимости в том, чтобы для каждого студента указывать является ли он старостой группы и какой. Кроме того, группа имеет только одного старосту, и студент может быть старостой только в одной группе. На диаграмме простая однонаправленная связьобозначается следующим образом:
При многозначной однонаправленной связи от сущности A к сущности B одному и тому же экземпляру сущности A соответствует 0, 1 или более экземпляров сущности B. При этом обратная связь не определена (Рис. 3 е). Например, если A - пациент, а B - болезнь, то для экземпляров сущности A целесообразно указывать экземпляры сущности B (перенесенные заболевания). Обратное, в большинстве случаев, не имеет практической значимости. На диаграмме многозначная однонаправленная связьобозначается следующим образом:
Таким образом, для обозначения на диаграмме бинарной связи вместо ромба и линий, соединяющих ромб с прямоугольниками-сущностями, используют стрелки, указывающие направление и тип связи. Имя связи указывается рядом со стрелкой.
Реляционная модель
Достоинством ER-модели является её структурная выразительность. Однако при всей наглядности ER-модель обладает одним недостатком - она не определяет, в каком виде должны представляться экземпляры связей и сущностей. Этого недостатка лишена реляционная модель. На практике реляционная модель часто строится на основе предварительно разработанной ER-модели.
Реляционная модель предлагает моделировать фактографическую информацию, представляя как сущности, так и связи в виде простых таблиц. Используемые в реляционной модели таблицы однотипны. Каждая таблица получает имя, которое совпадает с именем сущности или связи. Как сущности, так и связи характеризуются в реляционной модели только своими атрибутами. Имена атрибутов помещаются в заголовок таблицы. Общий вид таблиц реляционной модели представлен на Рис. 4.
имя_таблицы
ИМЯ_АТРИБУТА1 | ИМЯ_АТРИБУТА2 | … | ИМЯ_АТРИБУТАn |
Значение11 | Значение21 | … | Значениеn1 |
Значение12 | Значение22 | … | Значениеn2 |
… | … | … | … |
Значение1k | Значение2k | Значениеnk |
Рис. 4 Общий вид таблицы реляционной модели
Каждая строка таблицы имеет один и тот же формат. Совокупность значений, содержащихся в строке, характеризует конкретный экземпляр сущности или связи. Количество строк в таблице (записей) является величиной переменной и соответствует количеству экземпляров соответствующей сущности или связи. Записи можно добавлять в таблицу, удалять или изменять значения записей.
Использование реляционной модели для моделирования фактографической информации рассмотрим на примере. Построим реляционную модель, соответствующую ER-модели, представленной на Рис. 2. В начале, каждой сущности поставим в соответствие таблицу реляционной модели с именем, соответствующим имени сущности. В качестве имен атрибутов в таблицах будем использовать имена атрибутов сущностей. В результате получим таблицы с именами студент, преподаватель, дисциплина, представленные на Рис. 5. Теперь необходимо построить таблицу, выражающую связь экзамен, которую назовем этим же именем. Экземпляры таблицы связи экзамен должны однозначно указывать, какой студент, каким преподавателем, по какой дисциплине был аттестован, когда и с какой оценкой. Очевидно, что в качестве атрибутов в таблицу связи экзамен должны войти её собственные атрибуты ДАТА и ОЦЕНКА. Кроме того, в таблицу связи должны войти атрибуты, которые своими значениями однозначно указывали бы на конкретные экземпляры сущностейстудент, преподаватель и дисциплина, связанных отношением экзамен. Если обратиться к атрибутам таблиц перечисленных выше сущностей, то можно заметить, что в каждой из таблиц сущностей есть особый атрибут, значения которого не могут повториться ни у одного из экземпляров сущности. В реляционной модели такие атрибуты называют ключевыми атрибутами. Ключевыми атрибутами в таблицахстудент, преподаватель и дисциплина являются соответственно атрибуты №_ЗАЧЕТКИ, ТАБЕЛЬНЫЙ_№ и ШИФР.
студент
№_ЗАЧЕТКИ | ФИО | №_ГРУППЫ |
… | … | … |
Преподаватель
ТАБЕЛЬНЫЙ_№ | ФИО | КАФЕДРА |
… | … | … |
дисциплина
ШИФР | НАЗВАНИЕ |
… | … |
экзамен
№_ЗАЧЕТКИ | ТАБЕЛЬНЫЙ_№ | ШИФР | ОЦЕНКА | ДАТА |
… | … | … | … | … |
Рис. 5 Пример реляционной модели
Таким образом, включив в таблицу экзамен ключевые атрибуты сущностейстудент, преподаватель и дисциплина, а также собственные атрибуты, получим окончательный вид таблицы экзамен, представленной на Рис. 5. Полученная в итоге совокупность таблиц и представляет собой реляционную модель фактографической информации объекта, который можно условно назвать "сессия".
Реляционная модель требует определить не только структуру таблицы, но и тип (множество допустимых значений) каждого атрибута. Если в построенной реляционной модели информационного объекта "сессия" определить типы атрибутов, указав, какие допустимые значения они могут принимать, то она практически становится готовой для приема и накопления информации о ходе сессии.