Задание на работу
Предметная область: «Университет. Сведения о преподавателях»
Отразить инфологическую модель предметной области на иерархическую модель данных. Построить модель «Таблицы-связи». Иерархические примеры.
Введение
В большинстве областей человеческой деятельности, связанных с функционированием любой организации (будь то производственная фабрика, банк или учебное заведение), принятие производственного решения основывается на анализе и грамотном использовании имеющихся ресурсов, как материальных, так и человеческих (трудовых). Однако современные масштабы производственной деятельности делают задачу ручного учёта ресурсов предприятия весьма затруднительной и требующей затраты большого количества времени и труда. К счастью, уровень развития современных информационных технологий значительно сокращает подобного рода пустые затраты за счёт автоматизации учёта имеющихся ресурсов путём создания базы данных.
В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и, в конечном счете, автоматизации.
Однако создание физической модели автоматизированной информационной системы невозможно без этапа её концептуального проектирования.
Постановка задачи
Необходимо выполнить концептуальное (логическое) проектирование базы данных по заданной предметной области. Результатом концептуального проектирования будет построение иерархической модели денных «Таблицы-связи».
Для нормального функционирования информационной системы необходимо, чтобы концептуальная модель адекватно отображала реалии той предметной области, для которой она разрабатывается. Для этого необходимо провести анализ предметной области и определить назначение разрабатываемой информационной системы.
Необходимо тщательно изучить выбранную предметную область (университет): её функциональную деятельность и структуру, а также определить назначение создаваемой информационной системы.
Назначение и предметная область
В Университете имеются несколько структурных подразделений (факультетов), на которых работает множество преподавателей. База данных «Преподаватели» предназначена для хранения данных о преподавателях, работающих в Университете, их личной и контактной информации, а также списка предметов, который ведёт каждый преподаватель факультета.
Целью создания базы данных является структурирование информации о преподавателях для того, чтобы у пользователя информационной системы была возможность быстро извлекать данные об интересующем его преподавателе.
На момент проектирования информационной системы данные о преподавателях хранятся в виде неструктурированных данных:
«Личное дело №2536, Иванов Иван Иванович, дата рождения 1 апреля 1960 года, окончил Дальневосточный Государственный Гуманитарный университет, год выпуска 1990, педагогический стаж с 1990 года, ведёт предметы: Физическая культура, ОБЖ, проживает по адресу: г. Хабаровск, ул. Кузнечная, д.45, кв.15»
Сложно организовать поиск необходимых данных, хранящихся в неструктурированном виде, а упорядочить подобную информацию практически невозможно, так как набор атрибутов подобных записей не согласован.
Структурирование данных – это введение соглашений о способах представления данных для их систематизации.
Для ведения учёта преподавателей, работающих в Университете, организации поиска и просмотра списка предметов, который ведёт каждый конкретный преподаватель (например, для начисления ему сдельной заработной платы) необходимо создать базу данных, которая будет отображать информацию, представленную в личном деле, но уже в структурированном виде.
Ядром любой базы данных является модель данных, с помощью которой могут быть представлены объекты предметной области и взаимосвязи между ними. Модель – это системное отображение оригинала.
Построение модели данных является основным и самым наглядным способом изучения проектируемой системы. При построении модели, становятся понятны требования к информационной системе, и наглядно вырисовывается её структура.
Для решения задач с использованием данных (как набора конкретных значений атрибутов), определяющих содержимое базы данных, сами данные должны быть полностью осмыслены и истолкованы, то есть отображать требуемую информацию о предметной области, что возможно только в случае определения связей между отдельными данными.
Для выявления необходимых для базы данных «Преподаватели» сущностей необходимо рассмотреть структуру Университета.
-51011927973Университет
Службы
Ректорат
Кадры
Финансы
Факультеты
Факультет экономики
Факультет менеджмента
Факультет культурологии
Деканат
Преподаватели
Группы
Деканат
Преподаватели
Группы
Деканат
Преподаватели
Группы
00Университет
Службы
Ректорат
Кадры
Финансы
Факультеты
Факультет экономики
Факультет менеджмента
Факультет культурологии
Деканат
Преподаватели
Группы
Деканат
Преподаватели
Группы
Деканат
Преподаватели
Группы
Рис. 1. Структурная модель предметной области
Для проектируемой базы данных Университета из данной структурной модели будет использована только цепочка сущностей Университет – Факультеты-Преподаватели и присутствие следующих атрибутов:
Информация об Университете:
Наименование
Аббревиатура
Год основания
Адрес, телефон
ФИО ректора
Информация о факультетах:
Шифр
Наименование
Аббревиатура
Специальности
Телефон
ФИО декана
Информация о преподавателях:
Номер личного дела
ФИО преподавателя
Дата рождения
Образование
Год выпуска
Адрес проживания
Стаж работы
Предмет
Построение инфологической модели
Процесс проектирования информационной системы невозможен без построения её инфологической модели, то есть выявления сущностей будущей системы.
Сущность – это любой различимый объект, информацию о котором мы будем хранить в базе данных. Сущностями проектируемой информационной системы «Преподаватели» являются: Университет, Факультет, Специальность, Сотрудник деканата, Преподаватель, Предмет
Для начала необходимо определить связи между сущностями:
-11823473949УНИВЕРСИТЕТ
ФАКУЛЬТЕТОВ
состоит из
М
1
00УНИВЕРСИТЕТ
ФАКУЛЬТЕТОВ
состоит из
М
1
-331866101600ФАКУЛЬТЕТ
СПЕЦИАЛЬНОСТЕЙ
имеет ряд
М
1
00ФАКУЛЬТЕТ
СПЕЦИАЛЬНОСТЕЙ
имеет ряд
М
1
40938202662631
1
-118234260292СОТРУДНИК ДЕКАНАТА
ФАКУЛЬТЕТЕ
работает на
М
00СОТРУДНИК ДЕКАНАТА
ФАКУЛЬТЕТЕ
работает на
М
39985951231901
1
-331990100198ПРЕПОДАВАТЕЛЬ
ФАКУЛЬТЕТЕ
работает на
М
00ПРЕПОДАВАТЕЛЬ
ФАКУЛЬТЕТЕ
работает на
М
-521994116815ПРЕПОДАВАТЕЛЬ
ПРЕДМЕТ
ведёт
М
М
00ПРЕПОДАВАТЕЛЬ
ПРЕДМЕТ
ведёт
М
М
Рис.2. Структурные связи сущностей
Тип связи 1:М («один-ко-многим») говорит о том, что сущности с одной ролью может соответствовать любое количество сущностей с другой ролью. Так, например, в один Университет может входить любое количество факультетов.
Тип связи М:М («многие-ко-многим») говорит о том, что каждая из сущностей связи может быть представлена любым количеством экземпляров. Так, например, один преподаватель может вести несколько предметов, но один и тот же предмет могут вести разные преподаватели.
Определив сущности, необходимо выявить их атрибуты. Атрибут сущности – это её характеристика, описывающая какое-то из её свойств. Так, например, характеристикой Университета является его название, адрес и т.д. Это и будут атрибуты сущности.
Выявленные сущности имеют следующие атрибуты:
Сущность Университет:
Аббревиатура_Университета (ключевой атрибут, так как она уникальна для каждого ВУЗа)
Наименование_Университета
Год_основания
Адрес_Университета
Телефон_Университета
Ректор
Сущность Факультет:
Шифр (ключевой атрибут)
Наименование_факультета
Аббревиатура_факультета
Телефон_факультета
Декан
Сущность Специальность:
Код_специальности (ключевой атрибут)
Наименование_специальности
Срок_обучения
Стоимость_обучения
Формы_обучения
Квалификация_выпускника
Сущность Сотрудник деканата:
№ЛД_сотрудника (ключевой атрибут)
ФИО_сотрудника
Дата_рождения_сотрудника
Адрес_сотрудника
Должность
Стаж_работы
Сущность Преподаватель:
№ЛД_преподавателя (ключевой атрибут)
ФИО_преподавателя
Дата_рожддения_преподавателя
Адрес_преподавателя
Образование
Год_выпуска
Преподавательский_стаж
Сущность Предмет:
Код_предмета (ключевой атрибут)
Наименование_предмета
-6051221077158ПРЕДМЕТ
Наименование_предмета
Код_предмета
ПРЕПОДАВАТЕЛЬ-ПРЕДМЕТ
№ЛД_преподавателя
Код_предмета
СОТРУДНИК ДЕКАНАТА
ФИО_сотрудника
ДР_сотрудника
Адрес_сотрудника
Должность
Стаж_работы
Шифр
№ЛД_сотрудника
ПРЕПОДАВАТЕЛЬ
ФИО_преподавателч
ДР_преподавателя
Адрес_преподавателя
Образование
Год_выпуска
Стаж
Шифр
№ЛД_преподавателя
СПЕЦИАЛЬНОСТЬ
Наименование_специальности
Срок_обучения
Стоимость_обучения
Формы_обучения
Шифр
Код_специальности
УНИВЕРСИТЕТ
Наименование_Университета
Год_основания
Адрес_Университета
Телефон_Университета
Ректор
Аббревиатура_Университета
ФАКУЛЬТЕТ
Наименование_факультета
Аббревиатура_факультета
Телефон_факультета
Декан
Аббревиатура_университета
Шифр
00ПРЕДМЕТ
Наименование_предмета
Код_предмета
ПРЕПОДАВАТЕЛЬ-ПРЕДМЕТ
№ЛД_преподавателя
Код_предмета
СОТРУДНИК ДЕКАНАТА
ФИО_сотрудника
ДР_сотрудника
Адрес_сотрудника
Должность
Стаж_работы
Шифр
№ЛД_сотрудника
ПРЕПОДАВАТЕЛЬ
ФИО_преподавателч
ДР_преподавателя
Адрес_преподавателя
Образование
Год_выпуска
Стаж
Шифр
№ЛД_преподавателя
СПЕЦИАЛЬНОСТЬ
Наименование_специальности
Срок_обучения
Стоимость_обучения
Формы_обучения
Шифр
Код_специальности
УНИВЕРСИТЕТ
Наименование_Университета
Год_основания
Адрес_Университета
Телефон_Университета
Ректор
Аббревиатура_Университета
ФАКУЛЬТЕТ
Наименование_факультета
Аббревиатура_факультета
Телефон_факультета
Декан
Аббревиатура_университета
Шифр
На основе выявленных атрибутов и сущностей можно построить инфологическую модель с помощью языка «Таблицы-связи». Связь М:М преобразуется путём создания дополнительной таблицы «Преподаватель-Предмет»
Рис.3.Инфологическая модель, построенная с помощью языка «Таблица-связь»
Иерархическая модель данных
По условиям задания необходимо отразить инфологическую модель предметной области на иерархическую модель данных.
Иерархическая модель данных – такая модель, в которой все отношения структурированы в виде деревьев. Иерархическое дерево имеет только одну вершину (корень дерева), не подчинённую никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Вершина в дереве определения соответствует типу сущности и называется типом записи.
Примерами иерархической модели может служить рядовое предприятие, состоящее из отделов, находящихся в прямом подчинении у вышестоящего начальства.
-64337788900Ген.директор
Директор по строительству
Проектный отдел
Производственный отдел
Сметный отдел
Директор по развитию
Отдел по работе с заказчиками
Отдел по работе с подрядчиками
Директор по хоз. части
Отдел кадров
Отдел обеспечения
Транспортный отдел
Финансовый директор
Планово-экономический отдел
Бухгалтерия
Ген.директор
Директор по строительству
Проектный отдел
Производственный отдел
Сметный отдел
Директор по развитию
Отдел по работе с заказчиками
Отдел по работе с подрядчиками
Директор по хоз. части
Отдел кадров
Отдел обеспечения
Транспортный отдел
Финансовый директор
Планово-экономический отдел
Бухгалтерия
Рис. 4. Пример иерархической модели
Иерархическая модель данных для базы данных такого предприятия будет состоять из типов записей Отдел, Начальник отдела и Сотрудники. Количество экземпляров типа записи Отел будет равно количество отделов предприятия (в данном примере – 10)
-735751-124749НАЧАЛЬНИК
ФИО_начальника
Тел_начальника
СОТРУДНИКИ
№_сотрудника
ФИО_сотрудника
Должность
ОТДЕЛ
Номер одела
Кол-во сотрудников
НАЧАЛЬНИК
ФИО_начальника
Тел_начальника
СОТРУДНИКИ
№_сотрудника
ФИО_сотрудника
Должность
ОТДЕЛ
Номер одела
Кол-во сотрудников
Рис.5. Пример иерархической модели данных
-735751224188НАЧАЛЬНИК
Бураков А.А.
8(921)787-25-21
ПРОЕКТНЫЙ ОТДЕЛ
3
5
СОТРУДНИКИ
2125
Шишкина Л.А.
Архитектор
2136
Иванов Б.Ю.
Гл.инженер проектов
2102
Ким Д.Д.
Рук.проектной док-ции
2189
Смирнова О.А.
Конструктор
НАЧАЛЬНИК
Бураков А.А.
8(921)787-25-21
ПРОЕКТНЫЙ ОТДЕЛ
3
5
СОТРУДНИКИ
2125
Шишкина Л.А.
Архитектор
2136
Иванов Б.Ю.
Гл.инженер проектов
2102
Ким Д.Д.
Рук.проектной док-ции
2189
Смирнова О.А.
Конструктор
Рис. 6. Пример экземпляра типа записи Отдел
Для проектируемой базы данных «Преподаватели» вершиной будет служить тип записи Университет. В проектируемой базе данных для типа объекта Университет будет только один экземпляр (только тот Университет, сведения о преподавателях которого будут учитываться).
Типами зависимых записей (ветвями дерева) Факультет. Данный тип связи имеет количество экземпляров, равное количеству факультетов.
На следующем уровне иерархии находятся типы записей Сотрудник деканата, Специальность и Преподаватель. Эти типы записи имеют неограниченное количество экземпляров.
Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии – подчинёнными. Между главными и подчинёнными типами объекта устанавливается взаимосвязь «один ко многим».
Так как у одного подчинённого типа записи может быть только один «родитель» (главный тип записи), не имеет смысла добавление в таблицу первичных и внешних ключей.
-771525888365УНИВЕРСИТЕТ
Аббрев_Унив
Адрес_Унив
Год_основания
Тел_Унив
Ректор
ФАКУЛЬТЕТ
Шифр
Тел_факульт
Аббрев_факульт
Декан
СПЕЦИАЛЬНОСТЬ
Код_сп
Срок_обуч
Наимен_сп
Стоим-ть
Формы_об
СОТРУДНИКИ ДЕКАНАТА
№_сотр
ДР_сотр
ФИО_сотр
Адрес_сотр
Должность
Стаж_раб
ПРЕПОДАВАТЕЛИ
№_пр
ДР_пр
ФИО_пр
Адрес_сотр
Год_вып
Стаж с
Образование
УНИВЕРСИТЕТ
Аббрев_Унив
Адрес_Унив
Год_основания
Тел_Унив
Ректор
ФАКУЛЬТЕТ
Шифр
Тел_факульт
Аббрев_факульт
Декан
СПЕЦИАЛЬНОСТЬ
Код_сп
Срок_обуч
Наимен_сп
Стоим-ть
Формы_об
СОТРУДНИКИ ДЕКАНАТА
№_сотр
ДР_сотр
ФИО_сотр
Адрес_сотр
Должность
Стаж_раб
ПРЕПОДАВАТЕЛИ
№_пр
ДР_пр
ФИО_пр
Адрес_сотр
Год_вып
Стаж с
Образование
Иерархическая модель данных для информационной системы «Преподаватель», построенная с помощью языка «Таблицы-связи» будет выглядеть следующим образом
Рис.7. Иерархическая модель данных БД «Преподаватели», построенная с помощью языка «Таблицы-связи»
Так как сущности Преподаватель и Предмет, описанные при построении инфологической модели, имеют связь «многие-ко-многим», которая невозможна в иерархической модели данных, имеет смысл построить групповое отношение, где будет несколько экземпляров записи Преподаватель (родительская запись) с дочерним типом записи Предмет.
1306220217483ПРЕПОДАВАТЕЛЬ
№
ФИО_преподавателя
ПРЕДМЕТ
Наименование_предмета
ПРЕПОДАВАТЕЛЬ
№
ФИО_преподавателя
ПРЕДМЕТ
Наименование_предмета
Рис.8. Групповое отношение Преподаватель-Предмет
Для каждого преподавателя будет свой отдельный список предметов, которые он ведёт. Количество экземпляров типа записи Преподаватель будет равно количеству преподавателей, работающих в Университете на каждом факультете.
Заключение и выводы
Спроектированная модель информационной системы полностью отвечает поставленной в начале работы задаче. Разработанная по данному проекту база данных позволит вести учёт преподавателей, работающих в Университет, а также структурировать данные о них.
В заключение проектирования можно сделать вывод, что выбор модели данных проектируемой системы в пользу иерархической модели не является удачным. Иерархические модели данных наиболее эффективны в производственных системах, где структура данных известна заранее и не подлежит существенным изменениям. Она подойдёт предприятию, имеющему не очень сильно разветвлённую структуру и малую «текучесть» кадров. Но, в связи со структурой и спецификой работы Высших Учебных Заведений, Университет не относится к предприятиям подобного типа.
Поэтому база данных, созданная на основе иерархической модели, будет иметь ряд недостатков:
Университет может иметь несколько отделений и факультетов, для каждого из которых необходимо будет создавать свой экземпляр записи Факультет. То же самое можно сказать и о преподавателях, которых в штате Университета может быть сотни (не считая тех, кто работает по-совместительству). Если для каждого создать экземпляр отношения Преподаватель-Предмет, то объём такой базы данных будет значительным, что снизит её производительность.
Высока вероятность дублирования данных. Один преподаватель может вести предметы на нескольких факультетах и, следовательно, значится в списках экземпляров каждой записи Факультет. При увольнении такого преподавателя необходимо будет удалять его из всех списков.
Работа в подобной базе данных может привести к аномалиям. Например, при смене названия предмета его нужно будет менять во всех экземплярах отношения Преподаватель-Предмет. Высока вероятность ошибки, что приведёт к аномалии.
Затруднена выборка нужной информации. Например, чтобы просмотреть какие преподаватели ведут конкретный предмет, нужно просмотреть все экземпляры отношения Преподаватель-Предмет.
В связи с описанными недостатками модели, можно сделать вывод, что для проектирования базы данных для автоматизации работы предприятия с такой сложной структурой, как Университет, лучше проектировать её на основании реляционной модели данных.
Список литературы
Атре Ш. Структурный подход к организации баз данных / Пер. с анг. А.А. Александрова и В.И.Будзко; Под ред. В.И.Будзко. – М.: Финансы и статистика, 1983. – 317 с.
Бураков П.В., Петров В.Ю. Введение в системы баз данных: учебное пособие. – СПб: Санкт-Петербург, 2010. – 129 с.
Головчинер М.Н. Базы данных: основные понятия, модели данных, процесс проектирования. Курс лекций. – Томск, 2009. – 129 с.
Горбачёв В.А. Управление данными [Электронный ресурс]: учебное пособие: самост. учебн. электрон. изд. / В.А. Горбачёв, К.И. Габова; Сыкт. Лесн. Ин-т. – Электрон. дан. – Сыктывкар: СЛИ, 2014. – Режим доступа: http://lib.sfi.komi.com. – Загл. с экрана.
Кудрявцев К.Я. Создание баз данных: учебное пособие. – М.: НИЯУ МИФИ, 2010. – 155 с.
Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с.