Курсовая работа: Создание базы данных "Библиотека"
Таблица 7 Таблица "Авторы"
№ | Поле | Описание |
1 | Код автора | Код автора |
2 | Фамилия | Фамилия автора |
3 | Имя | Имя автора |
4 | Отчество | Отчество автора |
Так как авторами одной книги могут выступать множество авторов, создадим дополнительную таблицу, которая позволит присваивать одной книге неограниченное число авторов.
Таблица 8 Таблица "Авторы книг"
№ | Поле | Описание |
1 | Код записи | Код записи |
2 | Шифр книги | Ссылка на шифр книги |
3 | Код автора | Ссылка на код автора |
Таким образом, мы получили 8 таблиц, удовлетворяющих требованиям первой нормальной формы. Значения всех таблиц – атомарные.
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и значения в каждом неключевом атрибуте однозначно определяются значением первичного ключа.
Приведем ко второй нормальной форме. Определим ключи.
Таблица 9 Ключевые поля таблиц
Таблица | Первичный ключ | Простой ключ |
Информация о читателе | Номер билета | |
Информация о книге | Шифр книги |
1) Код автора 2) Код издательства |
Выдача книг | Код выдачи |
1) Шифр книги 2) Код читательского билета |
Бронирование книг | Код брони |
1) Шифр книги 2) Код читательского билета |
Издательства | Код издательства | 1) Код города |
Города | Код города | |
Авторы | Код автора | |
Авторы книг | Код записи |
1) Шифр книги 2) Код автора |
Таким образом, все таблицы идентифицируются набором ключевых полей. Следовательно, таблицы находятся во второй нормальной форме.
Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы.
Приведем к третьей нормальной форме. В наших таблицах нет не ключевых полей, которые идентифицируются с помощью другого не ключевого поля. Следовательно, таблицы находятся в третьей нормальной форме.
4. Структура базы данных (таблицы, связи, поля, типы и размеры полей)
Представим структуру таблиц.
Таблица 10 Таблица "Информация о читателе"
№ | Поле | Тип | Размер | Описание |
1 | Номер билета | Счетчик | Номер читательского билета | |
2 | Фамилия | Текстовый | 60 | Фамилия читателя |
3 | Имя | Текстовый | 60 | Имя читателя |
4 | Отчество | Текстовый | 60 | Отчество читателя |
5 | Телефон | Текстовый | 20 | Телефон для связи с читателем |
6 | Адрес | Текстовый | 60 | Адрес читателя |
Рисунок 2 – Таблица "Информация о читателе"
Таблица 11 Таблица "Информация о книге"
№ | Поле | Тип | Размер | Описание |
1 | Шифр книги | Счетчик | Библиотечный шифр книги | |
2 | Название | Текстовый | 60 | Название книги |
3 | Код издательства | Числовой | 5 | Ссылка на код издательства |
4 | Год издания | Числовой | 4 | Год издания книги |
5 | Объем книги | Числовой | 5 | Объем книги в листах |
6 | Цена | Денежный | Цена книги | |
7 | Количество | Числовой | 3 | Количество экземпляров в фондах библиотеки |
Рисунок 3 – Таблица "Информация о книге"
Таблица 12 Таблица "Выдача книг"
№ | Поле | Тип | Размер | Описание |
1 | Код выдачи | Счетчик | Код выдачи книги | |
2 | Шифр книги | Числовой | 5 | Ссылка на библиотечный шифр книги |
3 | Код читательского билета | Числовой | 5 | Ссылка на код читательского билета |
4 | Дата выдачи книги | Дата |
Краткий формат даты По умолчанию =Date() | Дата выдачи книги |
5 | Дата возврата книги | Дата | Краткий формат даты | Дата возврата книги |