Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ_1 / Контрольная работа проектирование БД.doc
Скачиваний:
18
Добавлен:
15.05.2015
Размер:
672.77 Кб
Скачать

3.2 Приведение структуры бд ко второй нормальной форме 2нф.

Полученные в п.3.1 таблицы соответствующие 1НФ приведём ко 2НФ, следуя четырём шагам приведения ко 2НФ.

Шаг 1 Определение семантически значащего первичного ключа РК

Таблица «Книги»

В таблице «Книги» РК будет состоять из двух полей «Название книги» и «Пользователь», так как эти поля являются определяющими для остальных полей не вошедших в РК.

Таблица «Покупки»

В таблице «Покупки» РК будет состоять из поля «Название книги», так как это поле является определяющим для полей не вошедших в РК.

Таблица «Библиотеки»

В таблице «Библиотеки» первичный ключ будет состоять из поля «Название книги», так как это поле является определяющим для полей не вошедших в РК.

Таблица «Принадлежность»

В таблице «Принадлежность» первичный ключ будет состоять из поля «Пользователь», так как это поле является определяющим для полей не вошедших в РК.

Таблица «Заявки»

В таблице «Заявки» первичный ключ будет состоять из поля «Название книги», так как это поле является определяющим для полей не вошедших в РК

Таблица «Классификация»

В таблице «Классификация» РК будет состоять из поля «Номер раздела», так как это поле является определяющим для полей не вошедших в РК.

Шаг 2 Анализ взаимосвязей

Проанализировав взаимосвязи полей можно выделить определяющие поля для некоторых сущностей.

Таблица «Книги»

Поле «Название книги» является определяющим для полей: «Сведения об авторе», «Сведения о издании», «Раздел», «Количество одинаковых книг в системе». Так же поле «Название книги» является определяющим для сущностей: «Покупка», «Библиотека», «Заявки».

Поле «Пользователь» является определяющим для сущности «Принадлежность».

Поле «Раздел» является определяющим для сущности «Классификация».

Таблица «Покупка»

Поле «Название книги» является определяющим для полей: «Место покупки», «Цена».

Таблица «Библиотеки»

Поле «Название книги» является определяющим для полей: «Название библиотеки», «Дата возврата».

Таблица «Принадлежность»

Поле «Пользователь» является определяющим для полей: «Логин», «Пароль».

Таблица «Заявки»

Поле «Название книги» является определяющим для поля «Тип заявки».

Поле «Тип заявки» является определяющим для полей: «Продажа», «Покупка», «Обмен».

Таблица «Классификация»

Поле «Номер раздела» является определяющим для полей: «Название раздела», «Номер предыдущего раздела».

Шаг 3 Разделение таблиц

Следует произвести разделение только таблицы «Заявки». После чего она примет следующий вид:

Связь между получившимися таблицами будет 1:М «один-ко-многим».

Шаг 4 Дополнительные преобразования

В виду отсутствия необходимости введения симантически незначащих РК, данный шаг выполнять не требуется.

3.3 Приведение структуры бд к третей нормальной форме (3нф).

Полученные таблицы приведённые ко 2НФ в п. 3.2, можно считать приведёнными к 3НФ, так как ни в одной таблицы не содержится «полей-формул», то есть отсутствуют транзитивные зависимости между полями таблиц.

Представим графически взаимосвязи между таблицами

Соседние файлы в папке ИТ_1