Статья посвящена семантическому моделированию, применяемому при разработке систем баз данных.
Ключевые слова: базы данных, семантическое моделирование, ER-моделирование, моделирование данных, объектное моделирование, моделирование сущностей, сущности, связи
Серьезные исследования в области семантического моделирования начались в конце семидесятых годов двадцатого века. Его суть заключается в том, чтобы предоставить как можно больше сведений об информации, хранящейся в базе данных, дать ей больше смысла. Поэтому семантическую модель также называют смысловой.
Семантическое моделирование также называют ER-моделированием, подход к которому основан на использовании модели «сущность-связь». С некоторым упущением семантическое моделирование можно также назвать моделированием данных (работа ведется исключительно со структурой данных), моделированием сущностей (не охватывает смысловой нагрузки значений) или объектным моделированием (почти то же самое, что и предыдущий вариант).
В рамках семантического моделирования используются четыре вида различных элементов:
1) Сущности — некоторые различимые объекты, например, факультеты, кафедры, группы и студенты. Сущности бывают обычными и слабыми. Слабой является сущность, которая не может существовать, если не существует некоторая другая сущность.
2) Свойства — некоторая информация, описывающая сущность, например, номер группы или фамилия студента. Свойства могут простыми или составными, однозначными или многозначными, базовыми или производными. Также обособлено выделяют ключевые и отсутствующие свойства.
3) Связи — сущности, которые служат для обеспечения взаимодействия между двумя или несколькими другими сущностями. Количество сущностей, включенных в связь, определяет степень связи. При этом возможны следующие виды связей: «один к одному», «один ко многим» или «многие к одному», «многие ко многим».
4) Подтипом одной сущности является другая сущность, каждый экземпляр которой является экземпляром первой сущности.
Для наглядного понимания того, как проводится ER-моделирование, далее будет рассмотрен пример моделирования системы высшего учебного заведения, осуществляющего подготовку студентов по различным специальностям. В рамках ВУЗа выделяются факультеты, которые в свою очередь подразделяются на кафедры, организующие подготовку студентов в рамках одной или нескольких специальностей. За кафедрами закреплены преподаватели, осуществляющее непосредственное обучение студентов. В течение всего периода обучения студенты конкретной специальности изучают ряд дисциплин из заранее установленного перечня в зависимости от году обучения. Для удобства проведения обучения студенты одной специальности объединяются в группы, дневное время разбивается на фиксированные интервалы, а расписание занятий повторяется с периодичностью в одну неделю. Учебные занятия и экзамены проводятся в аудиториях, образующих один вузовский аудиторный фонд. По результатам изучения предмета студентом проставляется оценка по четырехбалльной системе.
В первую очередь, после детального изучения задания необходимо определить четко идентифицированные сущности. В нашем примере к ним относятся следующие: факультет, кафедра, специальность, дисциплина, группа, студент, преподаватель, аудитория, год обучения, день недели и пара. При этом сущности факультет, дисциплина, аудитория, курс, день недели и пара являются обычными, а сущности кафедра, специальность, группа, студент и преподаватель — слабыми.
Далее необходимо для всех сущностей определить их свойства. Свойства сущностей рассматриваемого примера представлены в таблице 1.
Таблица 1
Сущности исвойства
Сущности |
Свойства |
Факультет |
Код, наименование |
Кафедра |
Код, наименование |
Специальность |
Код, наименование |
Дисциплина |
Код, наименование |
Группа |
Код, номер группы |
Студент |
Код, ФИО, дата рождения, адрес |
Преподаватель |
Код, ФИО, зарплата, должность |
Аудитория |
Номер аудитории |
Курс |
Номер курса |
День недели |
Наименование |
Пара |
Номер пары, начало, конец |
После определения свойств необходимо понять, как связаны между собой сущности. Причем необходимо принять во внимание то, что у связей, как и сущностей, могут быть свои собственные свойства. Связи сущностей и их выделенные свойства представлены в таблице 2.
Таблица 2
Связи
Связи |
Сущности |
Свойства |
Состоит |
Факультет — Кафедра |
- |
Включает |
Кафедра — Специальность |
- |
Делится |
Специальность — Группа |
- |
Содержит |
Группа — Студент |
- |
Закреплен |
Кафедра — Преподаватель |
- |
Преподает |
Преподаватель — Дисциплина |
- |
Учиться на курсе |
Группа — Курс |
Начало, конец |
Составить расписание |
Дисциплина — Группа — Аудитория — День недели — Преподаватель — Пара |
- |
Изучил |
Студент — Дисциплина |
Оценка |
Составить учебный план |
Специальность — Дисциплина — Курс |
- |
Представленные связи относятся к следующим видам:
1) «Один ко многим»: Состоит (Факультет — Кафедра), Включает (Кафедра — Специальность), Делится (Специальность — Группа), Содержит (Группа — Студент), Закреплен (Кафедра — Преподаватель), Изучил (Студент — Дисциплина);
2) Многие-к-одному: Учиться на курсе (Группа — Курс);
3) Многие-ко-многим: Преподает (Дисциплина — Преподаватель).
Также необходимо упомянуть, что у свойств могут быть ограничения, связанные с тем, какие значения они могут принимать. Так, например, подобные ограничения есть у свойств с названием «код» в сущностях факультет, кафедра, специальность, дисциплина, группа, студент, преподаватель; свойства «дата рождения» в сущности студент, свойства «зарплата» в сущности преподаватель; свойства «номер курса» в сущности курс; свойства «наименование» в сущности день недели и свойства «номер пары» в сущности пара, а также у свойств «начало, конец» и «оценка» в связях «учиться на курсе» и «изучил».
В итоге получаем ER-диаграмму базы данных высшего учебного заведения, представленную на рисунке 1.
Рис. 1. ER-диаграмма базы данных вуза
Таким образом, семантическое моделирование позволяет спроектировать базу данных так, чтобы передать смысл информации, которая будет в ней храниться.
Литература:
- Дейт, К.Дж. Введение в системы баз данных, 8-е издание: Пер. с англ. / К.Дж. Дейт. — М.: Издательский дом «Вильямс», 2008. — 1328 с.: ил. — Парал. тит. англ.
- Сухомлинов, А. И. Инфологическое моделирование. Учебно-методическое пособие для выполнения лабораторных работ. / А. И. Сухомлинов. — Владивосток: ДВФУ, 2011.