Рег. № ___________
Дата регистрации ___________
Московский Государственный Открытый Университет
филиал в г. Кропоткине
кафедра Информационных технологий
Разработка базы данных
«Кафедра»
Пояснительная записка к курсовому проекту
по учебной дисциплине «Базы данных»
специальность 220400
«Программное обеспечение вычислительных машин и автоматизированных систем»
Выполнил: | Студент группы 31 ПО Зброилов Е.Ф. |
Руководитель: | Казанская Е.А. |
Защищена с оценкой _____________________ «___»_______2010г. _____________________ (подпись преподавателя) |
г. Кропоткин
2010
ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ КУРСОВОГО ПРОЕКТА
1 ВВЕДЕНИЕ
Настоящее техническое задание распространяется на разработку базы данных «Кафедра», которая должна хранить данные о кафедре, сотрудниках кафедры, учебных группах, учебных предметах, которые читаются сотрудниками кафедры.
2 ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ
База данных «Кафедра» разрабатывается на основании учебного плана № «____» от «_____________» специальности 230105 «Программное обеспечение вычислительных машин и автоматизированных систем» и в соответствии с планом мероприятий по совершенствованию учебного процесса на 2009 – 2010 учебный год.
3 НАЗНАЧЕНИЕ РАЗРАБОТКИ
Основным назначением базы данных «Кафедра» является автоматизация работы сотрудников кафедры.
4 ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАММНОМУ ИЗДЕЛИЮ
4.1 Требования к функциональным характеристикам
База данных должна обеспечивать возможность выполнения следующих функций:
просмотр, добавление и редактирование информации об учебных группах, обучающихся на кафедре;
просмотр, добавление и редактирование информации об аспирантах;
просмотр, добавление и редактирование информации о сотрудниках кафедры;
учёт нагрузки преподавателей;
просмотр, добавление и редактирование информации о студентах-дипломниках;
составление расписания занятий на семестр по группам;
составление расписания занятий для преподавателей;
составление учебного плана для каждого курса.
Исходные данные:
информация об аспирантах;
информация об учебных группах;
информация о студентах-дипломниках;
информация о должностях преподавателей;
информация об учебных предметах;
информация о преподавателях;
информация о расписании занятий;
информация об ученых степенях преподавателей.
Выходная информация:
вывод запроса, содержащего список телефонов сотрудников;
вывод запроса, содержащего нагрузку по часам для преподавателей;
вывод отчета, содержащего расписание занятий для преподавателей;
вывод отчета, содержащего расписание занятий для учебных групп;
вывод отчета, содержащего список научных кадров по научным направлениям;
вывод отчета, содержащего список студентов-дипломников по группам и преподавателям;
вывод отчета, содержащего учебный план для каждого курса по семестрам.
4.2 Требования к надежности
Основные требования к надежности базы данных:
обеспечение целостности хранимой информации;
обеспечение защиты базы данных от несанкционированного доступа.
Основные требования к условиям эксплуатации:
Рабочее место должно соответствовать эргономическим требованиям, установленным в настоящее время законодательством.
Персонал, не имеющий достаточных знаний, не может вносить изменения в структуру данных и отчеты без консультаций специалиста.
Необходимое количество персонала зависит от количества обрабатываемой информации и выбирается руководящим составом организации, использующей данный продукт.
4.4 Требования к составу и параметрам технических средств
Основные требования к составу и параметрам технических средств:
программа должна работать на IBM совместимых персональных компьютерах;
минимальная конфигурация:
тип процессора – Pentium III и выше;
объем оперативного запоминающего устройства – 128 Мб и более.
4.5 Требования к информационной и программной совместимости
Система должна работать под управлением семейства операционных систем Windows 2000, Windows XP с использованием пакета прикладных программ Microsoft Office 2003.
5 ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
В пояснительной записке в качестве сопровождающей документации приводится инструкция по использованию программного продукта.
6 СТАДИИ И ЭТАПЫ РАЗРАБОТКИ
Этапы и сроки разработки приведены в таблице 6.1.
Таблица 6.1 – Стадии и этапы разработки.
№ | Наименование этапа | Краткое описание этапа | Дата начала выполнения этапа | Дата окончания выполнения этапа |
1 | Сбор информации | Анализ предм. области Определение перечня объектов, их характеристик и связей между ними | ||
2 | Разработка проекта базы данных | Создание ER-диаграммы | ||
3 | Реализация проекта базы данных в выбранной СУБД | Создание схемы данных, форм, отчетов, запросов | ||
4 | Тестирование и отладка | Выявление и исправление ошибок | ||
5 | Оформление документации | Составление инструкции по использованию программного продукта | ||
6 | Сдача готовой базы данных | Оформление пояснительной записки. Защита курсового проекта |
7 ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ
Контроль по созданию базы данных проводится руководителем курсового проекта в течение всего срока его выполнения. На последнем этапе разработки проводится защита курсового проекта.
ВВЕДЕНИЕ …………………………………………………………………….. | 8 | |||
1 | ОБСЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ ………………….. | 9 | ||
2 | КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ … | 18 | ||
2.1 | Перечень и описание сущностей ……………………………. | 18 | ||
2.2 | Перечень и описание атрибутов …………………………….. | 18 | ||
3 | ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ … | 22 | ||
3.1 | Основные понятия модели «Сущность – связь»……………. | 22 | ||
3.2 | Анализ связей между сущностями ………………………….. | 24 | ||
4 | ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ …. | 30 | ||
4.1 | Преобразование ER-диаграммы в схему базы данных …….. | 30 | ||
4.2 | Проектирование таблиц базы данных ………………………. | 31 | ||
4.3 | Нормализация отношений …………………………………… | 34 | ||
5 | ЗАПРОСЫ К БАЗЕ ДАННЫХ ……………………………………... | 37 | ||
6 | МЕХАНИЗМ ЗАЩИТЫ ДАННЫХ ОТ НЕСАНКЦИОНИРО-ВАННОГО ДОСТУПА ……………………………………………… | 38 | ||
7 | ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ БАЗЫ ДАННЫХ ……. | 39 | ||
ЗАКЛЮЧЕНИЕ ………………………………………………………………… | 42 | |||
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ………………………….. | 43 | |||
ПРИЛОЖЕНИЯ ………………………………………………………………… | 44 | |||
Приложение А Экранные формы основной программы ………………. | 44 | |||
ВВЕДЕНИЕ
С наступлением века информационных технологий, объёмы хранимой и обрабатываемой информации растут в геометрической прогрессии. Эта тенденция коснулась всех отраслей производства, науки и сферы обслуживания. Единственным выходом из сложившейся ситуации является автоматизация предметной области. Автоматизация предметной области может осуществляться различными способами, различными программными средствами, универсальными или созданными специально для данной конкретной предметной области. Автоматизация позволяет упростить и ускорить работу с документами и отчётами, свести к минимуму количество ошибок, освободить персонал для другой, полезной работы.
Целью данного курсового проекта является разработка базы данных для работы типовой кафедры ВУЗа.
Для достижения поставленной цели нужно решить следующие задачи:
обследовать данную предметную область;
выполнить концептуальное проектирование базы данных;
выполнить инфологическое проектирование базы данных;
выполнить даталогическое проектирование базы данных;
разработать запросы к базе данных;
разработать механизм защиты от несанкционированного доступа;
разработать инструкцию по использованию базы данных.
Данный программный продукт создаётся для систематизации работы кафедры ВУЗа, упрощения составления расписания для учебных групп и преподавателей, учета нагрузки преподавателей, учета научных кадров, учета студентов-дипломников.
Основными функциями разрабатываемого программного продукта являются:
просмотр, добавление и редактирование информации об учебных группах, обучающихся на кафедре ВУЗа;
просмотр, добавление и редактирование информации об аспирантах;
просмотр, добавление и редактирование информации о сотрудниках кафедры;
просмотр, добавление и редактирование информации о студентах-дипломниках;
учёт нагрузки преподавателей;
составление расписания занятий на семестр по группам;
составление расписания занятий для преподавателей;
составление учебного плана для каждого курса;
Список входных документов:
информация об аспирантах;
информация об учебных группах;
информация о днях недели;
информация о студентах-дипломниках;
информация о должностях преподавателей;
информация об учебных предметах;
информация о преподавателях;
информация о расписании занятий;
информация об ученой степени преподавателей;
Список выходных документов:
список телефонов сотрудников;
нагрузка по часам для преподавателей;
отчет, содержащий расписание занятий на семестр по группам;
отчет, содержащий расписание занятий для преподавателей;
отчет, содержащий список научных кадров по научным направлениям;
отчет, содержащий список студентов-дипломников по группам и преподавателям;
отчет, содержащий учебный план для каждого курса по семестрам;
Таблица 1.1 – «Аспирант».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код аспиранта | - | Нет | Да | Нет | Числовой |
ФИО | - | Нет | Нет | Нет | Текстовый |
Тема исследования | - | Нет | Нет | Нет | Числовой |
Код преподавателя | - | Нет | Нет | Нет | Числовой |
Таблица 1.2 – «Группа».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код группы | - | Нет | Да | Нет | Числовой |
Количество студентов | - | Нет | Нет | Нет | Числовой |
Таблица 1.3 – «День недели».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код дня недели | - | Нет | Да | Нет | Числовой |
Название | - | Нет | Нет | Нет | Текстовый |
Таблица 1.4 – «Дипломник».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код студента | - | Нет | Да | Нет | Числовой |
ФИО | - | Нет | Нет | Нет | Текстовый |
Группа | - | Нет | Нет | Нет | Числовой |
Код преподавателя | - | Нет | Нет | Нет | Числовой |
Таблица 1.5 – «Должность».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код должности | - | Нет | Да | Нет | Числовой |
Название | - | Нет | Нет | Нет | Текстовый |
Таблица 1.6 – «Предмет».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код предмета | - | Нет | Да | Нет | Числовой |
Название | - | Нет | Нет | Нет | Текстовый |
Часы лекций в семестр №1 | - | Да | Нет | Нет | Числовой |
Продолжение таблицы 1.6
Часы практик в семестр №1 | - | Да | Нет | Нет | Числовой |
Часы лабораторных работ в семестр №1 | - | Да | Нет | Нет | Числовой |
Часы лекций в семестр №2 | - | Да | Нет | Нет | Числовой |
Часы практик в семестр №2 | - | Да | Нет | Нет | Числовой |
Часы лабораторных работ в семестр №2 | - | Да | Нет | Нет | Числовой |
Семестр №1 | - | Нет | Нет | Нет | Числовой |
Семестр №2 | - | Да | Нет | Нет | Числовой |
Отчётность семестр №1 | - | Нет | Нет | Нет | Текстовый |
Отчётность семестр №2 | - | Да | Нет | Нет | Текстовый |
Код преподавателя | - | Нет | Нет | Нет | Числовой |
Количество семестров | - | Нет | Нет | Нет | Числовой |
Номер курса | - | Нет | Нет | Нет | Числовой |
Таблица 1.7 – «Преподаватель».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код преподавателя | - | Нет | Да | Нет | Числовой |
ФИО | - | Нет | Нет | Нет | Текстовый |
Код должности | - | Нет | Нет | Нет | Числовой |
Код учёной степени | - | Нет | Нет | Нет | Числовой |
Телефон | - | Нет | Нет | Нет | Текстовый |
Таблица 1.8 – «Расписание занятий».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код дня недели | - | Нет | Нет | Нет | Числовой |
Группа | - | Нет | Нет | Нет | Числовой |
Время | - | Нет | Нет | Нет | Дата/время |
Код преподавателя | - | Нет | Нет | Нет | Числовой |
Аудитория | - | Нет | Нет | Нет | Числовой |
Таблица 1.9 – «Учёная степень».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Код учёной степени | - | Нет | Да | Нет | Числовой |
Название | - | Нет | Нет | Нет | Текстовый |
Таблица 1.10 – «Список телефонов сотрудников».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Фамилия | - | Нет | Нет | Нет | Текстовый |
Имя | - | Нет | Нет | Нет | Текстовый |
Отчество | - | Нет | Нет | Нет | Текстовый |
Название | - | Нет | Нет | Нет | Текстовый |
Таблица 1.11 – «Нагрузка по часам для преподавателей».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Фамилия | - | Нет | Нет | Нет | Текстовый |
Имя | - | Нет | Нет | Нет | Текстовый |
Отчество | - | Нет | Нет | Нет | Текстовый |
Всего лекций | - | Нет | Нет | Нет | Числовой |
Всего практик | - | Нет | Нет | Нет | Числовой |
Всего л/б | - | Нет | Нет | Нет | Числовой |
Всего часов | - | Нет | Нет | Нет | Числовой |
Таблица 1.12 – «Отчет, содержащий расписание занятий на семестр по группам».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Номер группы | - | Нет | Нет | Нет | Числовой |
День недели | - | Нет | Нет | Нет | Текстовый |
Время | - | Нет | Нет | Нет | Дата/Время |
Название предмета | - | Нет | Нет | Нет | Текстовый |
Продолжение таблицы 1.12
Фамилия преподавателя | - | Нет | Нет | Нет | Текстовый |
Имя преподавателя | - | Нет | Нет | Нет | Текстовый |
Отчество преподавателя | - | Нет | Нет | Нет | Текстовый |
Аудитория | - | Нет | Нет | Нет | Числовой |
Таблица 1.13 – «Отчет, содержащий расписание занятий для преподавателей».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Фамилия | - | Нет | Нет | Нет | Текстовый |
Имя | - | Нет | Нет | Нет | Текстовый |
Отчество | - | Нет | Нет | Нет | Текстовый |
День недели | - | Нет | Нет | Нет | Текстовый |
Номер группы | - | Нет | Нет | Нет | Числовой |
Время | - | Нет | Нет | Нет | Дата/Время |
Название предмета | - | Нет | Нет | Нет | Текстовый |
Аудитория | - | Нет | Нет | Нет | Числовой |
Таблица 1.14 – «Отчет, содержащий список научных кадров по научным направлениям».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Тема исследования | - | Нет | Нет | Нет | Текстовый |
Фамилия аспиранта | - | Нет | Нет | Нет | Текстовый |
Имя аспиранта | - | Нет | Нет | Нет | Текстовый |
Отчество аспиранта | - | Нет | Нет | Нет | Текстовый |
Таблица 1.15 – «Отчет, содержащий список студентов-дипломников по группам и преподавателям».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Группа | - | Нет | Нет | Нет | Числовой |
Фамилия преподавателя | - | Нет | Нет | Нет | Текстовый |
Имя преподавателя | - | Нет | Нет | Нет | Текстовый |
Отчество преподавателя | - | Нет | Нет | Нет | Текстовый |
Фамилия студента | - | Нет | Нет | Нет | Текстовый |
Имя студента | - | Нет | Нет | Нет | Текстовый |
Отчество студента | - | Нет | Нет | Нет | Текстовый |
Таблица 1.16 – «Отчет, содержащий учебный план для каждого курса по семестрам».
Реквизит | Огран-ие на знач. | Пустые значения | Уникальное поле | Расчетный параметр | Формат данных |
Название предмета | - | Нет | Нет | Нет | Текстовый |
Количество семестров | - | Нет | Нет | Нет | Числовой |
Семестр №1 | - | Нет | Нет | Нет | Числовой |
Семестр №2 | - | Нет | Нет | Нет | Числовой |
Всего часов | - | Нет | Нет | Нет | Числовой |
Всего лекций | - | Нет | Нет | Нет | Числовой |
Всего практик | - | Нет | Нет | Нет | Числовой |
Всего л/б | - | Нет | Нет | Нет | Числовой |
Часы лек. сем. №1 | - | Нет | Нет | Нет | Числовой |
Часы пр. сем. №1 | - | Нет | Нет | Нет | Числовой |
Часы л/б. сем. №1 | - | Нет | Нет | Нет | Числовой |
Отчетность семестр №1 | - | Нет | Нет | Нет | Текстовый |
Часы лек. сем. №2 | - | Нет | Нет | Нет | Числовой |
Часы пр. сем. №2 | - | Нет | Нет | Нет | Числовой |
Часы л/б. сем. №2 | - | Нет | Нет | Нет | Числовой |
Отчетность семестр №2 | - | Нет | Нет | Нет | Текстовый |
2.1 Перечень и описание сущностей
Выделим базовые сущности данной предметной области:
сущность «Аспирант» содержит сведения об аспирантах, обучающихся на кафедре;
сущность «Группа» содержит сведения о группах, обучающихся на кафедре;
сущность «День недели» содержит сведения о днях недели;
сущность «Дипломник» содержит сведения о студентах-дипломниках выпускаемых кафедрой;
сущность «Должность» содержит сведения о должностях преподавателей;
сущность «Предмет» содержит сведения о предметах, преподаваемых на кафедре;
сущность «Преподаватель» содержит сведения о сотрудниках кафедры;
сущность «Расписание занятий» содержит сведения о расписании занятий;
сущность «Учёная степень» содержит сведения об учёных степенях преподавателей;
2.2 Перечень и описание атрибутов
Выделим основные атрибуты для каждой сущности:
Для сущности «Аспирант» выделим следующие атрибуты:
код аспиранта – определяет уникальный номер аспиранта;
ФИО – содержит сведения о ФИО аспиранта;
тема исследования – содержит сведения о теме исследования аспиранта;
код преподавателя – содержит сведения о номере преподавателя.
Для сущности «Группа» выделим следующие атрибуты:
код группы – определяет уникальный номер группы;
количество студентов – определяет количество студентов в группе.
Для сущности «День недели» выделим следующие атрибуты:
код дня недели – определяет уникальный номер дня недели;
название дня недели – содержит сведения о названии дня недели.
Для сущности «Дипломник» выделим следующие атрибуты:
код студента – определяет уникальный номер студента;
ФИО – содержит сведения о ФИО студента;
группа – содержит сведения о номере учебной группы;
код преподавателя – содержит сведения о номере преподавателя.
Для сущности «Дипломник» выделим следующие атрибуты:
код должности – определяет уникальный номер должности;
название – содержит сведения о названии должности.
Для сущности «Предмет» выделим следующие атрибуты:
код предмета – определяет уникальный номер предмета;
название – содержит сведения о названии предмета;
часы лекций в семестр №1 – содержит сведения о количестве лекций в семестре №1;
часы практик в семестр №1 – содержит сведения о количестве практик в семестре №1;
часы л/б в семестр №1 – содержит сведения о количестве л/б в семестре №1;
часы лекций в семестр №2 – содержит сведения о количестве лекций в семестре №2;
часы практик в семестр №2 – содержит сведения о количестве практик в семестре №2;
часы л/б в семестр №2 – содержит сведения о количестве л/б в семестре №2;
семестр №1 – содержит сведения о номере семестра №1;
семестр №2 – содержит сведения о номере семестра №2;
отчётность семестр №1 – содержит сведения об отчетности предмета в семестре №1;
отчётность семестр №2 – содержит сведения об отчетности предмета в семестре №2;
код преподавателя – содержит сведения о номере преподавателя;
количество семестров – содержит сведения о количестве семестров, в течение которых предмет читается;
номер курса – содержит сведения о номере курса, на котором предмет читается.
Для сущности «Преподаватель» выделим следующие атрибуты:
код преподавателя – определяет уникальный номер преподавателя;
ФИО – содержит сведения о ФИО преподавателя;
код должности – содержит сведения о должности преподавателя;
код учёной степени – содержит сведения об учёной степени преподавателя;
телефон – содержит сведения о номере телефона преподавателя.
Для сущности «Расписание занятий» выделим следующие атрибуты:
код дня недели – содержит сведения о номере дня недели;
группа – содержит сведения о номере группы;
время – содержит сведения о времени начала занятий;
код предмета – содержит сведения о номере предмета;
код преподавателя – содержит сведения о номере преподавателя;
аудитория – содержит сведения о номере аудитории;
Для сущности «Учёная степень» выделим следующие атрибуты:
код учёной степени – определяет уникальный номер учёной степени;
название – содержит сведения о названии учёной степени;
Основным подходом к созданию инфологической модели предметной области является использование метода «сущность – связь». Этот метод позволяет построить неформальную модель предметной области, которая будет использоваться на этапе логического проектирования.
В основе метода «сущность – связь» лежат понятия сущности, атрибута и связи, являющиеся конструктивными элементами для представления предметной области. Для построения инфологической модели необходимо определить перечень сущностей.
Сущность – объект, который можно будет идентифицировать некоторым способом, отличающим его то других объектов, и о котором в системе будет накапливаться информация.
Сущности бывают как физически существующие, так и абстрактные. Набор сущностей – множество сущностей одного типа. Для сущностей различают тип и экземпляр. Тип сущности характеризуется именем и списком свойств, а экземпляр – конкретными значениями свойств.
Атрибут - это поименованная характеристика сущности, которая принимает значения из некоторого допустимого множества.
Различают следующие виды атрибутов:
идентифицирующие и описательные;
простые и составные;
основные и производные.
Спецификация атрибута состоит из его названия, указания типа данных и описания ограничений целостности – множества значений (или домена), которые может принимать данный атрибут.
Связь – средство, с помощью которого представляются отношения между сущностями, имеющимися в предметной области.
Одна из участвующих в связи сущностей является независимой и называется родительской. Другая сущность – зависимая и называется дочерней.
Степень связи – количество сущностей, охваченных данной связью. Она бывает бинарная, тринарная и n-нарная.
Выделяют следующие типы бинарных связей:
1:1 (один-к-одному) – такой тип связи между сущностями A и B, когда одному экземпляру сущности A соответствует только один экземпляр сущности B, и наоборот;
1:М (один-ко-многим) – такой тип связи между сущностями A и B, когда одному экземпляру сущности A соответствует один или несколько экземпляров сущности B. Однако каждому экземпляру сущности B соответствует только один экземпляр сущности A;
М:М (многие-ко-многим) – такой тип связи между сущностями A и B, когда каждому экземпляру сущности A соответствует один или несколько экземпляров сущности B, и наоборот.
Инфологическая модель предметной области может быть представлена в графическом виде. Графическое представление инфологической модели называется диаграмма «сущность – связь» или ER-диаграмма. В ER-диаграмме обязательно для связи указывается ее тип и класс принадлежности входящих в нее сущностей, то есть кардинальность связи.
Кардинальность связи устанавливает обязательность или необязательность принадлежности сущности к связи.
3.2 Анализ связей между сущностями
Определим тип и кардинальность связей между сущностями.
Группа – Дипломник. Один студент-дипломник может обучаться только в одной группе, но группа может содержать несколько студентов-дипломников, поэтому тип связи «Дипломник – Группа» один-ко-многим (рисунок 3.1).
Рисунок 3.1 – Сущность – связь «Группа – Дипломник».
Так как студент-дипломник обязательно должен обучаться в одной из групп, то сущность «Дипломник» имеет обязательный класс принадлежности. Но группа может не содержать студентов, поэтому сущность «Группа» имеет необязательный класс принадлежности.
Преподаватель – Дипломник. Один студент-дипломник может работать под руководством только одного преподавателя, но один преподаватель может руководить сразу несколькими студентами-дипломниками, поэтому тип связи «Преподаватель – Дипломник» один-ко-многим (рисунок 3.2).
Дипломник
Преподаватель
1
М
Рисунок 3.2 – Сущность – связь «Преподаватель–Дипломник».
Так как студент-дипломник должен обязательно работать под руководством преподавателя, то сущность «Дипломник» имеет обязательный класс принадлежности. Но преподаватель может не руководить ни одним студентом-дипломником, поэтому сущность «Преподаватель» имеет необязательный класс принадлежности.
Преподаватель – Аспирант. Один аспирант может работать под руководством только одного преподавателя, но один преподаватель может руководить сразу несколькими аспирантами, поэтому тип связи «Преподаватель – Аспирант» один-ко-многим (рисунок 3.3).
Аспирант
Преподаватель
1
М
Рисунок 3.3 – Сущность – связь «Преподаватель– Аспирант».
Так как аспирант должен обязательно работать под руководством преподавателя, то сущность «Аспирант» имеет обязательный класс принадлежности. Но преподаватель может не руководить не одним из аспирантов, поэтому сущность «Преподаватель» имеет необязательный класс принадлежности.
Преподаватель – Предмет. Один предмет читается только одним преподавателем, но один преподаватель может читать несколько предметов, поэтому тип связи «Преподаватель – Предмет» один-ко-многим (рисунок 3.4).
Предмет Преподаватель 1 М
Рисунок 3.4 – Сущность – связь «Преподаватель–Предмет».
Так как предмет обязательно должен читаться преподавателем, то сущность «Предмет» имеет обязательный класс принадлежности. Преподаватель обязательно должен читать хотя бы один предмет, поэтому сущность «Преподаватель» тоже имеет обязательный класс принадлежности.
Учёная степень – Преподаватель. Одному преподавателю может быть присвоена только одна ученая степень, но одна ученая степень может быть присвоена сразу нескольким преподавателям, поэтому тип связи «Учёная степень–Преподаватель» один-ко-многим (рисунок 3.5).
Рисунок 3.5 – Сущность – связь «Учёная степень – Преподаватель».
Так как преподаватель может не иметь учёной степени, то сущность «Преподаватель» имеет необязательный класс принадлежности. Учёная степень может быть присвоена только преподавателю, поэтому сущность «Учёная степень» имеет обязательный класс принадлежности.
Д Должность Преподаватель 1 М
Рисунок 3.6 – Сущность – связь «Должность – Преподаватель».
Так как преподаватель обязательно должен иметь должность, то сущность «Преподаватель» имеет обязательный класс принадлежности. Должность может быть присвоена только преподавателю, поэтому сущность «Должность» тоже имеет обязательный класс принадлежности.
П Преподаватель 1 М
Расписание занятий
Рисунок 3.7 – Сущность – связь «Преподаватель – Расписание занятий».
Так как преподаватель обязательно должен ставиться в расписании занятий, то сущность «Преподаватель» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать преподавателя, поэтому «Расписание занятий» тоже имеет обязательный класс принадлежности.
Д День недели 1 М
Расписание занятий
Рисунок 3.8 – Сущность – связь «Преподаватель – Расписание занятий».
Так как день недели обязательно должен ставиться в расписании занятий, то сущность «День недели» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать день недели, поэтому «Расписание занятий» тоже имеет обязательный класс принадлежности.
П Предмет 1 М
Расписание занятий
Рисунок 3.9 – Сущность – связь «Предмет – Расписание занятий».
Так как расписание занятий обязательно должно содержать предмет, то сущность «Расписание занятий» имеет обязательный класс принадлежности. Предмет обязательно должен ставиться в расписании занятий, поэтому сущность «Предмет» тоже имеет обязательный класс принадлежности.
Группа – Расписание занятий. Одна группа может несколько раз ставиться в расписании занятий, поэтому тип связи «Группа – Расписание занятий» один-ко-многим (рисунок 3.10).
1
М
Расписание занятий Группа
Рисунок 3.10 – Сущность – связь «Группа – Расписание занятий».
Так как группа обязательно должна ставиться в расписании занятий, то сущность «Группа» имеет обязательный класс принадлежности. Расписание занятий обязательно должно содержать группу, поэтому сущность «Расписание занятий» тоже имеет обязательный класс принадлежности.
Объединив все сущности и связи между ними, получим обобщенную ER-диаграмму, представленную на рисунке 3.9.
Преподаватель
Предмет
Рисунок 3.9– Обобщенная ER-диаграмма.
ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ4.1 Преобразование ER-диаграммы в схему базы данных
База данных создается на основе схемы базы данных. Схема данных строится на основе ER-диаграмма показанной на рисунке 3.9.
П
имя сущности
реобразование ER-диаграммы в схему базы данных выполняется путем сопоставления каждой сущности и каждой связи таблицам базы данных. Для построения схемы базы данных используем следующие обозначения:
– обязательная связь
Преобразуем общую ER-диаграмму предметной области в схему базы данных (рисунок 4.1).
Дипломник
М
Группа
1
Должность
Учёная степень 1 1
М 1
1
М
М
М
Преподаватель
Расписание занятий
1
М
Аспирант
М
1
М 1
1
М
М
1
Предмет
День недели
Рисунок 4.1 – Схема базы данных, полученная из ER-диаграммы
4.2 Проектирование таблиц базы данных
В реляционной базе данных используется терминология, отличающаяся от терминологии программирования.
Отношение – таблица в базе данных, содержащая первичный или внешний ключ.
Тип данных – формат представления данных, диапазон допустимых значений и операций, выполняемых над данными этого типа.
Атрибут – характеристика объекта, то есть столбец отношения.
Экземпляр отношения – строка таблицы.
Первичный ключ – атрибут, однозначно идентифицирующий объект.
Внешний ключ – атрибут, участвующий в связи, но не являющийся первичным ключом.
Построенные отношения с указанием атрибутов и их внутренних названий, типа данных и размера поля приведены в таблицах 4.1 – 4.9.
Таблица 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НФ);
вторая нормальная форма (2НФ);
третья нормальная форма (3НФ);
форма Бойса – Кодда (НФБК);
четвертая нормальная форма (4НФ);
пятая нормальная форма или форма проекции – соединения (5НФ).
Чаще всего ограничиваются первыми тремя нормальными формами, так как дальнейшая декомпозиция замедляет обработку данных.
База данных находится в первой нормальной форме, если все ее таблицы являются отношениями, а столбцы таблицы удовлетворяют условию атомарности.
База данных находится во второй нормальной форме, если все ее атрибуты атомарные, и каждый не ключевой атрибут должен функционально зависеть полностью от составного ключа, а не от его части.
База данных находится в третьей нормальной форме, если все отношения имеют атомарные атрибуты и функционально-полную зависимость атрибутов в каждой сущности от ее первичного ключа. Кроме того, между не ключевыми атрибутами должны отсутствовать транзитивные зависимости, то есть, они должны быть взаимно независимы.
В данном курсовом проекте нормализация в 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) позволяет просмотреть следующие данные:
«Аспирант» – позволяет просматривать, добавлять и редактировать информацию об аспирантах (Приложение А, рисунок А.4);
«Группа» – позволяет просматривать, добавлять и редактировать информацию об учебных группах (Приложение А, рисунок А.5);
«День недели» – позволяет просматривать, добавлять и редактировать информацию о днях недели (Приложение А, рисунок А.6);
«Дипломник» – позволяет просматривать, добавлять и редактировать информацию о студентах-дипломниках (Приложение А, рисунок А.7);
«Должность» – позволяет просматривать, добавлять и редактировать информацию о должностях преподавателей (Приложение А, рисунок А.8);
кнопка «Далее» - для перехода к следующему окну меню «Таблицы»;
кнопка «Назад» - для перехода к главному окну базы данных;
«Предмет» – позволяет просматривать, добавлять и редактировать информацию о читаемых дисциплинах (Приложение А, рисунок А.9);
«Преподаватель» – позволяет просматривать, добавлять и редактировать информацию о сотрудниках кафедры (Приложение А, рисунок А.10);
«Расписание занятий» – позволяет просматривать, добавлять и редактировать информацию о расписании занятий (Приложение А, рисунок А.11);
«Учёная степень» – позволяет просматривать, добавлять и редактировать информацию об учёных степенях преподавателей (Приложение А, рисунок А.12);
кнопка «Назад» - для перехода к предыдущему окну Меню «Таблицы»;
2) Меню «Запросы» (Приложение А, рисунок А.13) позволяет просмотреть следующие данные:
«Нагрузка по часам для конкретного преподавателя» – подсчитывает количество лекций, практик, лабораторных работ и общую нагрузку по часам для указанного преподавателя (Приложение А, рисунок А.14);
«Нагрузка по часам для преподавателей» – подсчитывает количество лекций, практик, лабораторных работ и общую нагрузку по часам для каждого преподавателя (Приложение А, рисунок А.15);
«Список телефонов сотрудников» – содержит список телефонов всех сотрудников кафедры (Приложение А, рисунок А.16);
«Телефон конкретного сотрудника» – содержит телефон указанного сотрудника (Приложение А, рисунок А.17);
кнопка «Назад» - для перехода к главному окну базы данных;
3) Меню «Отчёты» (Приложение А, рисунок А.18) позволяет просмотреть следующие данные:
«Расписание занятий для групп» – содержит расписание занятий для учебных групп (Приложение А, рисунок А.19);
«Расписание занятий для преподавателей» – содержит расписание занятий для преподавателей (Приложение А, рисунок А.20);
«Список научных кадров по научным направлениям» – содержит научные направления и список научных кадров работающих по этим направлениям (Приложение А, рисунок А.21);
«Список студентов-дипломников по группам и преподавателям» – содержит список студентов-дипломников по группам и преподавателям (Приложение А, рисунок А.22);
«Учебный план» – содержит учебный план для каждого курса (Приложение А, рисунок А.23);
кнопка «Назад» - для перехода к главному окну базы данных;
4) Кнопка «Выход» - позволяет выйти из базы данных.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсового проекта была создана база данных для сотрудников кафедры. База данных позволяет оперативно вносить и получать информацию, необходимую для организации проведения работ кафедры.
Основным достоинством созданной базы является простота и удобство использования. Данное программное обеспечение сможет работать не только на современной технике, но и на маломощных компьютерах с установленным приложением Microsoft Access версии 97 и выше. Гибкость и понятность интерфейса делает работу с данным программным обеспечением более эффективным и удобным.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Бойко, В.В., Савинков, В.М. Проектирование баз данных информационных систем [Текст]: учеб. пособие для вузов. – М.: Финансы и статистика, 1998. – 352с.: ил. ISBN 5-89653-035-9 (в пер.).
Глушаков, С.В., Лоотько, Д.В. Базы данных. Учебный курс [Текст]: учеб. пособие для вузов/С.В. Глушаков. – К: Абрис, 2000. – 254с.: ил. ISBN 966-5373-31-X (в пер.).
Горев, А., Ахаян, Р. Эффективная работа в СУБД [Текст]: учеб. пособие для вузов. – СПб.: Питер, 1997. – 312с.: ил. ISBN 5-6791-0027-2 (в пер.).
Робинсон, С. Учебный курс Access 2000 [Текст]: учеб. пособие для вузов/В.М. Цыганков. – СПб.: Питер, 2001. – 298с.: ил. ISBN 5-7323-0163-3(в пер.).
Сеннов, А. С. Access 2003 [Текст] : Практическая разработка баз данных. М-во общ. и проф. образования РФ. – 1-е изд. – СПб. : Питер, 2005. – 256 с. ; 22 см. – Предм. указ.: с. 255–256. – 12000 экз. – ISBN: 5-469-00847-9 (мягкая обложка).
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |