- •Аннотация
- •Содержание
- •1 Описание предметной области
- •2 Моделирование потоков данных
- •Перечень сущностей
- •Перечень атрибутов
- •2.3 Определение функциональных зависимостей между атрибутами
- •2.2 Инфологическая модель базы данных
- •Модель «сущность-связь»
- •Классификация связей
- •Выбор ключей
- •2.4 Нормализация отношений
- •3 Проектирование и реализация базы данных
- •3.2 Программная реализация поставленной задачи Средства поддержания целостности данных
- •Описание запросов к базе данных
- •Простая выборка (с упорядочиванием данных);
- •Выборка с условием;
- •Выборка данных из связанных таблиц:
- •Выборка с использованием оператора простого соединения;
- •Разработка механизмов защиты данных от несанкционированного доступа
- •Интерфейс программы
- •Экранные формы
- •Описание отчетов
Выбор ключей
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Одним из основных понятий баз данных, используемых при контроле целостности информации, является ключ. Разделяют первичные и внешние ключи. Первичный ключ - это уникальное поле (или несколько полей), однозначно определяющее записи таблицы базы данных. Внешние ключи - это поля таблицы, которые, как правило, соответствуют первичным ключам из других таблиц. Первичный ключ не может принимать неопределённые значения [8].
На основании выявленных функциональных зависимостей были выбраны идентифицирующие атрибуты, которые в реляционной модели данных используются в качестве первичных ключей реляционных отношений.
1. Сущность «Users» имеет ключ «login».
2. Сущность «Студенты» имеет ключ «Номер_зач».
3. Сущность «Документ_на_вселение» имеет ключ «Код_приказ».
4. Сущность «Комната» имеет составной ключ «Комната», состоящий из атрибутов «номер_комната» и «номер_корпус», так как однозначно идентифицировать комнату можно только по совокупности этих атрибутов.
5. Сущность «Корпус» имеет ключ «Номер_корпус».
6. Сущность «Ведомость» имеет ключ «Номер_касса_ордер».
2.4 Нормализация отношений
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. В теории нормализации существует пять нормальных форм таблиц. Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая последующая НФ должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям [8,9].
Проанализировав разработанную базу данных, можно сделать вывод, что она нормализована и соответствует третей нормальной форме, т.к.:
1. Все таблицы находятся в первой нормальной форме, так как все атрибуты в них атомарны.
2. Все таблицы находятся во второй нормальной форме, так как они находятся в первой нормальной форме и удовлетворяют дополнительному условию. Рассмотрим таблицы «Студенты», «Ведомость», «Документ_на_вселение», «Корпус». Таблицы не имеют составного первичного ключа, поэтому они однозначно определены во второй нормальной форме. Таблица «Комната» в качестве первичного ключа имеет составной ключ «Комната», состоящий из атрибутов «Номер_комната» и «Номер_корпус». Таблица не имеет частичные функциональные зависимости, так как не ключевые атрибуты полностью зависят от составного первичного ключа:
Комната={номер_комната, номер_корпус}
Комната->кол_мест;
Комната->кол_своб_мест;
Комната->стул_шт;
Комната->стол_шт;
Комната->кровать_шт;
Комната->шкаф_шт;
Комната->полка_шт;
Комната->телевизор_шт;
Комната->холодильник_шт;
Комната->тумба_шт.
Значит и таблица «Комната» находится во второй нормальной форме.
3. Все таблицы находятся в третьей нормальной форме, так как они находятся во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа, что видно из выявленных функциональных зависимостей.
