- •Реферат
- •Введение
- •Изучение предметной области;
- •1 Основные понятия систем базы данных
- •1.1 Понятие базы данных
- •1.2 Архитектура системы баз данных
- •1.3 Модель данных
- •2 Изучение предметной области.
- •2.1 Статус, структура и система управления функциональных подразделений и служб предприятия
- •Структура предприятия.
- •3 Проектирование программного обеспечения
- •3.1 Предметная область базы данных
- •3.2 Построение инфологической модели
- •3.3 Проектирование базы данных
- •4 Реализация клиентской части
- •4.1 Обоснование выбора среды программирования
- •4.2 Средства Delphi для работы с базами данных
- •4.3 Реализация приложения
- •5 Руководство администратора
- •6 Руководство пользователя
- •7 Экономическая часть
- •7.1 Сбор показателей и коэффициентов для расчета единовременных затрат на проектирование системы и разработку программного обеспечения
- •7.2 Расчет затрат на проектирование и разработку системы
- •7.3 Расчет эксплуатационных затрат
- •7.4 Расчет показателя экономического эффекта
- •Заключение
- •Список литературы
- •Приложение а Безопасность жизнедеятельности Инструкция по охране труда.
- •Инструкции по технике безопасности и пожаробезопатности, схем аварийных проходов и выходов, пожарного инвентаря.
- •Инструкция по пожаробезопастности
- •Основные права и обязанности инженерно-педагогических работников колледжа
- •Правила и нормы охраны труда, техники безопасности при работе с вычислительной техникой
- •Приложение б Формы приложения
- •Приложение в Листинг файла sql
- •Приложение г Листинг файла MainForm
- •Приложение д Листинг файла DataModule1
- •Приложение е Листинг файла FormStudent
- •Приложение ж Листинг файла FormDopol_infor
- •Приложение з Листинг файла FormPrepodavatel
- •Приложение и Листинг файла FormPrepodavatel
- •Приложение к Листинг файла FormPredmet
- •Приложение л Листинг файла FormUspevaemost
- •Приложение м Листинг файла FormGurnal
- •Приложение н Листинг файла FormRaspisanie
- •Приложение о Листинг файла FormUspevaemost_student
- •Приложение п Листинг файла AboutBox
- •Приложение р Листинг файла Form_Opisanie_po
- •Приложение с Листинг файла Form_Otchet
3.3 Проектирование базы данных
Для физической реализации базы данных использовалась SQL Server 2008R. Эта СУБД была выбрана по множеству причин:
высокая надежность;
минимальные требования к памяти и дисковому пространству;
поддержка данной СУБД распределенных и реляционных баз данных;
свободное распространение СУБД в открытых кодах;
наличие реализации СУБД для операционной системы Windows.
Полный листинг кода создания базы данных на языке SQL находится в приложении В. Поэтапно рассмотрим физическую реализацию базы данных. Зададим девять таблиц базы данных и русскую кодировку символов WIN1251. Создаем пустую базу данных от лица пользователя SYSDBA со стандартным паролем «master». Размер страниц базы данных установлен равным размеру кластера в файловой системе NTFS 4048байт. Для удаления из строк пробелов и преобразования строк к верхнему регистру были декларированы внешние функции Trim и Upper. Они реализованы на языке программирования Delphi и физически расположены в динамически связуемой библиотеке (DDL) Str.dll.
Каждая из полученных сущностей должна быть представлена базовой таблицей:
Таблица Пациенты – информация о пациенах, состоящая из следующих полей:
Личный номер – числовое автоинкрементное поле, содержащее номер пациента и являющееся ключевым полем отношения;
Фамилия – строковое поле, содержащее фамилию пациента, являющееся уникальным;
Имя – строковое поле, содержащее имя пациента, являющееся уникальным;
Отчество - строковое поле, содержащее отчество пациента, являющееся уникальным;
Дата рождения – строковое поле, содержащее дату рождения пациент, являющееся уникальным;
Дата регистрации – строковое поле, содержащее дату регистрации пациента, являющееся уникальным полем;
Время регистрации - числовое поле содержащее время регистрации в таблице регистрации пациентов;
Серия, № паспорта – строковое поле, содержащее серию и номер паспорта пациента, являющееся уникальным;
Регион проживания - строковое поле, содержащие регион проживания пациента, являющееся уникальным;
Улица – сроковое поле, содержащие название улицы пациента, являющееся уникальным;
№ дома, № квартиры – строковое поле, содержащие № дома, № квартиры пациента, являющееся уникальным;
Таблица Дополнительная информация – информация о студентах состоящая из следующих полей:
Личный номер – числовое автоинкрементное поле, содержащее номер студента и являющееся ключевым полем отношения;
Форма обучения – строковое поле, содержащее название формы обучения, являющееся уникальным полем;
Закрытие сессий в срок – строковое поле, содержащее информацию об закрытие сессий, являющееся уникальным полем;
Наличие задолжностей – строковое поле, содержащее информацию о наличии задолжностей у определенного студента, является уникальным полем.
Таблица Группы - информация о группах, которая состоит из следующих полей:
Код группы - числовое автоинкрементное поле, содержащее номер групп и являющееся уникальным полем;
Группы - строковое поле, содержащее название группы, является уникальным полем;
Курс - строковое поле, содержащее код группы, является уникальным полем.
Таблица Преподаватель – информация о преподавателях, состоящая из следующих полей:
Код преподавателя – числовое автоинкрементное поле, содержащее номер преподавателя и являющееся ключевым полем;
Фамилия – строковое поле, содержащее фамилию преподавателя, являющееся уникальным;
Имя – строковое поле, содержащее имя преподавателя, являющееся уникальным;
Отчество - строковое поле, содержащее отчество преподавателя, являющееся уникальным;
Пол – строковое поле, содержащее пол преподавателя, являющееся уникальным полем;
Дата рождения – строковое поле, содержащее дату рождения преподавателя, являющееся уникальным;
Код предмета – числовое поле содержащее код предмета в таблице Предметы;
Категория – строковое поле, содержащее категорию преподавателей, являющееся уникальным полем;
Стаж – строковое поле, содержащее информацию о стаже, являющееся уникальным полем;
Дата трудоустройства – строковое поле, содержащее информацию о дате трудоустройства преподавателей, являющееся уникальным полем.
Таблица Предметы – информация о предметах, состоящая из следующих полей:
Код предмета - числовое автоинкрементное поле, содержащее код предмета и являющееся ключевым полем;
Предметы – строковое поле, содержащее название предметов и являющееся уникальным полем.
Таблица Успеваемость – информация об успеваемости студентов, которая состоит из следующих полей:
Личный номер – числовое автоинкрементное поле, содержащее личный номер студента и являющееся уникальным полем;
Дата – строковое поле, содержащее информацию о дате когда была поставлена оценка, являющееся уникальным полем;
Код предмета – числовое поле, содержащее код предмета в таблице Предметы;
Оценка – строковое поле, содержащее информацию об оценках и являющееся уникальным полем.
Таблица Электронный журнал – информацию выставленных оценках студентам, состоящая из следующих полей:
ID – числовое автоинкрементное поле, содержащее номер электронного журнала и являющееся уникальным полем;
Код группы – числовое поле, содержащее код группы в таблице Группы;
Фамилия – строковое поле, содержащее фамилию студента, являющееся уникальным;
Имя – строковое поле, содержащее имя студента, являющееся уникальным;
Код предмета – числовое поле, содержащее код предмета в таблице Предметы;
Оценка – строковое поле, содержащее информацию об оценках и являющееся уникальным полем.
Таблица Расписание групп – информация о группах и курсах, состоящая из следующих полей:
ID – числовое автоинкрементное поле, содержащее номер группы и являющееся ключевым полем отношения;
Группы – строковое поле, содержащее название групп и являющееся уникальным полем;
Курс – строковое поле, содержащее информацию о курсе и являющееся уникальным полем.
Таблица ID-групп – информация о расписании, которая состоит из следующих полей:
ID - числовое автоинкрементное поле, содержащее код расписания и являющееся ключевым полем отношения;
День недели – строковое поле, содержащее информацию о днях недели и являющееся уникальным полем;
Пары – строковое поле, содержащее номер пары и являющееся уникальным полем;
Предмет – строковое поле, содержащее название предмета, являющееся уникальным полем.
Таблица 1 - Студенты
Имя столбца |
Тип данных |
Разрешение значения NULL |
Личный номер |
Int |
|
Фамилия |
Varchar(60) |
Ограничение NOT Null |
Имя |
Varchar(60) |
|
Отчество |
Varchar(60) |
|
Дата рождения |
Date |
|
Специальность |
Varchar(60) |
|
ID |
Int |
|
Группы |
Varchar(60) |
|
Курс |
Varchar(60) |
|
Таблица 2 - Дополнительная информация
Имя столбца |
Тип данных |
Разрешение значения NULL |
Личный номер |
Int |
|
Форма обучения |
Varchar(60) |
Ограничение NOT Null |
Закрытие сессий в срок |
Varchar(60) |
|
Наличие задолжностей |
Varchar(60) |
|
Таблица 3 - Дополнительная информация
Имя столбца |
Тип данных |
Разрешение значения NULL |
Код группы |
Int |
|
Группа |
Varchar(60) |
Ограничение NOT Null |
Курс |
Int |
Ограничение NOT Null |
Таблица 4 - Предметы
Имя столбца |
Тип данных |
Разрешение значения NULL |
Код предмета |
Int |
|
Предмет |
Varchar(60) |
Ограничение NOT Null |
Таблица 5 - Успеваемость
Имя столбца |
Тип данных |
Разрешение значения NULL |
Личный номер |
Int |
|
Дата |
Varchar(60) |
Ограничение NOT Null |
Код предмета |
int |
|
Оценка |
int |
|
Таблица 6 - Преподаватель
Имя столбца |
Тип данных |
Разрешение значения NULL |
Код преподавателя |
Int |
|
Фамилия |
Varchar(60) |
Ограничение NOT Null |
Имя |
Varchar(60) |
|
Отчество |
Varchar(60) |
|
Пол |
Varchar(60) |
|
Дата рождения |
Date |
|
Код предмета |
int |
|
Категория |
Varchar(60) |
|
Стаж |
Varchar(60) |
|
Дата трудоустройства |
int |
|
Таблица 7 - Электронный журнал
Имя столбца |
Тип данных |
Разрешение значения NULL |
ID |
Int |
|
Код группы |
Int |
Ограничение NOT Null |
Фамилия |
Varchar(60) |
Ограничение NOT Null |
Имя |
Varchar(60) |
|
Код предмета |
Int |
Ограничение NOT Null |
Оценка |
Int |
Ограничение NOT Null |
Таблица 8 - Расписание групп
Имя столбца |
Тип данных |
Разрешение значения NULL |
ID |
Int |
|
Группы |
Varchar(60) |
Ограничение NOT Null |
Курс |
Varchar(60) |
Ограничение NOT Null |
Таблица 9 - ID-групп
Имя столбца |
Тип данных |
Разрешение значения NULL |
ID |
Int |
|
День недели |
Varchar(60) |
Ограничение NOT Null |
Пары |
Varchar(60) |
Ограничение NOT Null |
Предмет |
Varchar(60) |
Ограничение NOT Null |
Для изменения, добавления и удаления записей из таблиц базы данных и других целей предусмотрены ряд хранимых процедур:
DeleteBook – удаление заданного источника;
SearchBook – поиск источника по заданным атрибутам с учётом регистра символов;
UpdateLanguage – изменение языка источника;
InsertBook – вставка нового источника;
UpdateTitle – изменение названия источника;
DeleteAll – очистка всей базы данных и обнуление генераторов;
IsWriter – проверка прав пользователя на изменение базы данных;
UpdateBook – изменение атрибутов источника.
Для управления безопасностью базы данных созданы три роли:
Admin – имеет права на любые действия с базой данной (изменение, чтение данных и структуры);
Writer – имеет права на изменение и чтение данных базы данных, но не имеет прав на изменение структуры БД;
Reader – имеет только право на чтение данных БД.
Эти все роли наделены соответствующими правами на соответствующие таблицы и хранимые процедуры.
