Автор работы: Пользователь скрыл имя, 08 Марта 2011 в 13:53, курсовая работа
Настоящее техническое задание распространяется на разработку базы данных «Кафедра», которая должна хранить данные о кафедре, сотрудниках кафедры, учебных группах, учебных предметах, которые читаются сотрудниками кафедры.
Основным подходом к созданию инфологической модели предметной области является использование метода «сущность – связь». Этот метод позволяет построить неформальную модель предметной области, которая будет использоваться на этапе логического проектирования.
В основе метода «сущность – связь» лежат понятия сущности, атрибута и связи, являющиеся конструктивными элементами для представления предметной области. Для построения инфологической модели необходимо определить перечень сущностей.
Сущность – объект, который можно будет идентифицировать некоторым способом, отличающим его то других объектов, и о котором в системе будет накапливаться информация.
Сущности бывают как физически существующие, так и абстрактные. Набор сущностей – множество сущностей одного типа. Для сущностей различают тип и экземпляр. Тип сущности характеризуется именем и списком свойств, а экземпляр – конкретными значениями свойств.
Атрибут - это поименованная характеристика сущности, которая принимает значения из некоторого допустимого множества.
Различают следующие виды атрибутов:
Спецификация атрибута состоит из его названия, указания типа данных и описания ограничений целостности – множества значений (или домена), которые может принимать данный атрибут.
Связь – средство, с помощью которого представляются отношения между сущностями, имеющимися в предметной области.
Одна из участвующих в связи сущностей является независимой и называется родительской. Другая сущность – зависимая и называется дочерней.
Степень связи – количество сущностей, охваченных данной связью. Она бывает бинарная, тринарная и n-нарная.
Выделяют следующие типы бинарных связей:
Инфологическая модель предметной области может быть представлена в графическом виде. Графическое представление инфологической модели называется диаграмма «сущность – связь» или ER-диаграмма. В ER-диаграмме обязательно для связи указывается ее тип и класс принадлежности входящих в нее сущностей, то есть кардинальность связи.
Кардинальность
связи устанавливает
3.2 Анализ связей между сущностями
Определим тип и кардинальность связей между сущностями.
Группа – Дипломник. Один студент-дипломник может обучаться только в одной группе, но группа может содержать несколько студентов-дипломников, поэтому тип связи «Дипломник – Группа» один-ко-многим (рисунок 3.1).
Рисунок 3.1 – Сущность – связь «Группа – Дипломник».
Так как студент-дипломник обязательно должен обучаться в одной из групп, то сущность «Дипломник» имеет обязательный класс принадлежности. Но группа может не содержать студентов, поэтому сущность «Группа» имеет необязательный класс принадлежности.
Преподаватель – Дипломник. Один студент-дипломник может работать под руководством только одного преподавателя, но один преподаватель может руководить сразу несколькими студентами-дипломниками, поэтому тип связи «Преподаватель – Дипломник» один-ко-многим (рисунок 3.2).
Рисунок 3.2 – Сущность – связь «Преподаватель–Дипломник».
Так как студент-дипломник должен обязательно работать под руководством преподавателя, то сущность «Дипломник» имеет обязательный класс принадлежности. Но преподаватель может не руководить ни одним студентом-дипломником, поэтому сущность «Преподаватель» имеет необязательный класс принадлежности.
Преподаватель – Аспирант. Один аспирант может работать под руководством только одного преподавателя, но один преподаватель может руководить сразу несколькими аспирантами, поэтому тип связи «Преподаватель – Аспирант» один-ко-многим (рисунок 3.3).
Рисунок 3.3 – Сущность – связь «Преподаватель– Аспирант».
Так как аспирант должен обязательно работать под руководством преподавателя, то сущность «Аспирант» имеет обязательный класс принадлежности. Но преподаватель может не руководить не одним из аспирантов, поэтому сущность «Преподаватель» имеет необязательный класс принадлежности.
Преподаватель – Предмет. Один предмет читается только одним преподавателем, но один преподаватель может читать несколько предметов, поэтому тип связи «Преподаватель – Предмет» один-ко-многим (рисунок 3.4).
Рисунок 3.4 – Сущность – связь «Преподаватель–Предмет».
Так как предмет обязательно должен читаться преподавателем, то сущность «Предмет» имеет обязательный класс принадлежности. Преподаватель обязательно должен читать хотя бы один предмет, поэтому сущность «Преподаватель» тоже имеет обязательный класс принадлежности.
Учёная
степень – Преподаватель. Одному преподавателю
может быть присвоена только одна ученая
степень, но одна ученая степень может
быть присвоена сразу нескольким преподавателям,
поэтому тип связи «Учёная степень–Преподаватель»
один-ко-многим (рисунок 3.5).
Рисунок 3.5 – Сущность – связь «Учёная степень – Преподаватель».
Так как преподаватель может не иметь учёной степени, то сущность «Преподаватель» имеет необязательный класс принадлежности. Учёная степень может быть присвоена только преподавателю, поэтому сущность «Учёная степень» имеет обязательный класс принадлежности.
Должность – Преподаватель. Одному преподавателю может быть присвоена только одна должность, но одна должность может быть присвоена нескольким преподавателям, поэтому тип связи «Должность–Преподаватель» один-ко-многим (рисунок 3.6).
Рисунок 3.6 – Сущность – связь «Должность – Преподаватель».
Так
как преподаватель обязательно
должен иметь должность, то сущность
«Преподаватель» имеет
Преподаватель – Расписание
занятий. Один преподаватель может несколько
раз ставиться в расписании занятий, поэтому
тип связи «Преподаватель – Расписание
занятий» один-ко-многим (рисунок 3.7).
Рисунок 3.7 – Сущность – связь «Преподаватель – Расписание занятий».
Так как преподаватель обязательно должен ставиться в расписании занятий, то сущность «Преподаватель» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать преподавателя, поэтому «Расписание занятий» тоже имеет обязательный класс принадлежности.
День недели – Расписание
занятий. Один день недели может несколько
раз ставиться в расписании занятий, поэтому
тип связи «День недели – Расписание занятий»
один-ко-многим (рисунок 3.8).
Рисунок 3.8 – Сущность – связь «Преподаватель – Расписание занятий».
Так как день недели обязательно должен ставиться в расписании занятий, то сущность «День недели» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать день недели, поэтому «Расписание занятий» тоже имеет обязательный класс принадлежности.
Предмет – Расписание
занятий. Один предмет может несколько
раз ставиться в расписании занятий, поэтому
тип связи «Предмет – Расписание занятий»
один-ко-многим (рисунок 3.9).
Рисунок 3.9 – Сущность – связь «Предмет – Расписание занятий».
Так как расписание занятий обязательно должно содержать предмет, то сущность «Расписание занятий» имеет обязательный класс принадлежности. Предмет обязательно должен ставиться в расписании занятий, поэтому сущность «Предмет» тоже имеет обязательный класс принадлежности.
Группа – Расписание занятий. Одна группа может несколько раз ставиться в расписании занятий, поэтому тип связи «Группа – Расписание занятий» один-ко-многим (рисунок 3.10).
Рисунок 3.10 – Сущность – связь «Группа – Расписание занятий».
Так как группа обязательно должна ставиться в расписании занятий, то сущность «Группа» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать группу, поэтому сущность «Расписание занятий» тоже имеет обязательный класс принадлежности.
Объединив
все сущности и связи между
ними, получим обобщенную ER-диаграмму,
представленную на рисунке 3.9.
Рисунок 3.9– Обобщенная ER-диаграмма.
4.1
Преобразование ER-диаграммы
в схему базы данных
База данных создается на основе схемы базы данных. Схема данных строится на основе ER-диаграмма показанной на рисунке 3.9.
Преобразование ER-диаграммы в схему базы данных выполняется путем сопоставления каждой сущности и каждой связи таблицам базы данных. Для построения схемы базы данных используем следующие обозначения:
– сущность
– связь один-к-одному
– связь один-ко-многим
– связь многие-ко-многим
– обязательная связь
– необязательная связь
Преобразуем общую ER-диаграмму предметной области в схему базы данных (рисунок 4.1).
Рисунок 4.1 – Схема базы данных, полученная из ER-диаграммы
4.2
Проектирование таблиц
базы данных
В реляционной базе данных используется терминология, отличающаяся от терминологии программирования.
Отношение – таблица в базе данных, содержащая первичный или внешний ключ.
Тип данных – формат представления данных, диапазон допустимых значений и операций, выполняемых над данными этого типа.
Атрибут – характеристика объекта, то есть столбец отношения.
Экземпляр отношения – строка таблицы.
Первичный ключ – атрибут, однозначно идентифицирующий объект.
Внешний ключ – атрибут, участвующий в связи, но не являющийся первичным ключом.
Построенные
отношения с указанием
Таблица 4.1 – Сущность «Аспирант».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код аспиранта | Числовой | Целое | – | Да |
ФИО | Текстовый | 50 | – | Нет |
Тема исследования | Текстовый | 100 | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Таблица 4.2 – Сущность «Группа».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код группы | Числовой | Целое | – | Да |
Количество студентов | Числовой | Целое | – | Нет |
Таблица 4.3 – Сущность «День недели».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код дня недели | Числовой | Целое | – | Да |
Название | Текстовый | 50 | – | Нет |
Таблица 4.4 – Сущность «Дипломник».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код студента | Числовой | Целое | – | Да |
ФИО | Текстовый | 50 | – | Нет |
Группа | Числовой | Целое | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Таблица 4.5 – Сущность «Должность».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код должности | Числовой | Целое | – | Да |
Название | Текстовый | 50 | – | Нет |
Таблица 4.6 – Сущность «Предмет».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код предмета | Числовой | Целое | – | Да |
Название | Текстовый | 50 | – | Нет |
Часы лекций семестр№1 | Числовой | Целое | – | Нет |
Часы практик семестр№1 | Числовой | Целое | – | Нет |
Часы лабораторных работ семестр№1 | Числовой | Целое | – | Нет |
Продолжение таблицы 4.6
Часы лекций семестр№2 | Числовой | Целое | – | Нет |
Часы практик семестр№2 | Числовой | Целое | – | Нет |
Часы лабораторных работ семестр№2 | Числовой | Целое | – | Нет |
Семестр№1 | Числовой | Целое | – | Нет |
Семестр№2 | Числовой | Целое | – | Нет |
Отчётность семестр№1 | Текстовый | 50 | – | Нет |
Отчётность семестр№2 | Текстовый | 50 | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Количество семестров | Числовой | Целое | >=0 And <=2 | Нет |
Номер курса | Числовой | Целое | – | Нет |
Таблица 4.7 – Сущность «Преподаватель».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код преподавателя | Числовой | Целое | – | Да |
ФИО | Текстовый | 50 | – | Нет |
Код должности | Числовой | Целое | – | Нет |
Код ученой степени | Числовой | Целое | – | Нет |
Номер телефона | Текстовый | 15 | – | Нет |
Таблица 4.8 – Сущность «Расписание занятий».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код дня недели | Числовой | Целое | – | Да |
Группа | Числовой | Целое | – | Нет |
Время | Дата/время | – | – | Нет |
Код предмета | Числовой | Целое | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Аудитория | Числовой | Целое | – | Нет |
Таблица 4.9 – Сущность «Учёная степень».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код учёной степени | Числовой | Целое | – | Да |
Название | Текстовый | 50 | – | Нет |
4.3
Нормализация отношений
Процесс проектирования реляционной базы данных представляет собой процесс нормализации схем отношений.
Нормализация – получение такого проекта базы данных, в котором каждый факт хранится в одном месте, то есть, исключена избыточность информации и исключены возможные противоречивости хранимых данных.
Нормализация проводится путем построения нормальных форм базы данных.
В теории реляционных баз данных выделяют следующую последовательность нормальных форм:
Чаще всего ограничиваются первыми тремя нормальными формами, так как дальнейшая декомпозиция замедляет обработку данных.
База данных находится в первой нормальной форме, если все ее таблицы являются отношениями, а столбцы таблицы удовлетворяют условию атомарности.
База данных находится во второй нормальной форме, если все ее атрибуты атомарные, и каждый не ключевой атрибут должен функционально зависеть полностью от составного ключа, а не от его части.
База данных находится в третьей нормальной форме, если все отношения имеют атомарные атрибуты и функционально-полную зависимость атрибутов в каждой сущности от ее первичного ключа. Кроме того, между не ключевыми атрибутами должны отсутствовать транзитивные зависимости, то есть, они должны быть взаимно независимы.
В данном курсовом проекте нормализация в 1НФ затронула таблицы «Аспирант», «Дипломник», «Преподаватель». В этих таблицах разделим атрибут «ФИО» на три атрибута: «Фамилия», в котором будет храниться информация о фамилии аспиранта, студента-дипломника и преподавателя, «Имя», в котором будет храниться информация об имени аспиранта, студента-дипломника и преподавателя и «Отчество», для хранения информации об отчестве аспиранта, студента-дипломника и преподавателя.
Нормализованные
в 1НФ отношения приведены в таблицах 4.10-4.12.
Таблица 4.10– Сущность «Аспирант».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код аспиранта | Числовой | Целое | – | Да |
Ф | Текстовый | 50 | – | Нет |
Продолжение таблицы 4.10
И | Текстовый | 50 | – | Нет |
О | Текстовый | 50 | – | Нет |
Тема исследования | Текстовый | 100 | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Таблица 4.11– Сущность «Дипломник».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код студента | Числовой | Целое | – | Да |
Ф | Текстовый | 50 | – | Нет |
И | Текстовый | 50 | – | Нет |
О | Текстовый | 50 | – | Нет |
Группа | Числовой | Целое | – | Нет |
Код преподавателя | Числовой | Целое | – | Нет |
Таблица 4.12 – Сущность «Преподаватель».
Имя поля | Тип данных | Размер поля | Ограничения | Ключ |
Код преподавателя | Числовой | Целое | – | Да |
Ф | Текстовый | 50 | – | Нет |
И | Текстовый | 50 | – | Нет |
О | Текстовый | 50 | – | Нет |
Код должности | Числовой | Целое | – | Нет |
Код ученой степени | Числовой | Целое | – | Нет |
Номер телефона | Текстовый | 15 | – | Нет |
В данном проекте приведение таблиц ко 2НФ и 3НФ будет излишне, т.к. при построении ER – диаграммы были учтены многие детали и особенности предметной области.
Список запросов, реализованных в базе данных:
СУБД
Microsoft Access предоставляет несколько стандартных
функций защиты данных от несанкционированного
доступа. Такими функциями являются установка
пароля доступа к данным при запуске БД
и создание пользовательских групп с заранее
определенными правами доступа к этим
данным. Так как с данным программным продуктом
будут взаимодействовать сотрудники кафедры,
то она защищена паролем.
После запуска базы данных на экране появится главная кнопочная форма «БД "Кафедра"» (Приложение А, рисунок А.1) с содержанием основных разделов для работы с базой данных.
Главная кнопочная форма содержит следующие элементы:
1) Меню «Таблицы» (Приложение А, рисунок А.2, рисунок А.3) позволяет просмотреть следующие данные:
2) Меню «Запросы» (Приложение А, рисунок А.13) позволяет просмотреть следующие данные:
3) Меню «Отчёты» (Приложение А, рисунок А.18) позволяет просмотреть следующие данные:
4)
Кнопка «Выход» - позволяет выйти из базы
данных.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсового проекта была создана база данных для сотрудников кафедры. База данных позволяет оперативно вносить и получать информацию, необходимую для организации проведения работ кафедры.
Основным
достоинством созданной базы является
простота и удобство использования.
Данное программное обеспечение сможет
работать не только на современной технике,
но и на маломощных компьютерах с установленным
приложением Microsoft Access версии 97 и выше.
Гибкость и понятность интерфейса делает
работу с данным программным обеспечением
более эффективным и удобным.
СПИСОК
ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ