Разработка базы данных ”Продажа книг” и приложения для работы с ней, страница 3

Для установления связи между отношениями КНИГИ и АВТОРЫ (у этих отношений нет общих атрибутов и их нельзя связать непосредственно друг с другом) создадим дополнительное связующее отношение, состоящее из ключевых атрибутов связываемых отношений:

КНИГИ_АВТОРЫ (Название книги, Фамилия, Имя).

Теперь отношение КНИГИ можно связать с отношением КНИГИ_АВТОРЫ связью 1:М по атрибуту Название книги. Отношение АВТОРЫ можно связать с отношением КНИГИ_АВТОРЫ также связью 1:М по атрибутам Фамилия и Имя.

Пусть, например, авторами книг "Карьера" и "Алмазы" являются Новиков и Воронова, а автором Самоучителя Access – Келли. Тогда отношение КНИГИ_АВТОРЫ будет иметь вид

КНИГИ_АВТОРЫ

Название книги

Фамилия

Имя

Карьера

Новиков

Павел

Карьера

Воронова

Дарья

Алмазы

Новиков

Павел

Алмазы

Воронова

Дарья

Самоучитель Access

Келли

Джулия

Для установления связи М:М между отношениями КНИГИ и КЛИЕНТЫ создадим связующее отношение ПОКУПКИ.

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

ПОКУПКИ (Имя клиента, Название книги, Количество, Дата)

Отношения КНИГИ и КЛИЕНТЫ можно связать с отношением ПОКУПКИ связью типа 1:М.

Отношение ПОКУПКИ будет заполняться по мере совершения каждой покупки.

ПОКУПКИ

Имя клиента

Название книги

Количество

Дата

Кашкин и Ко

Алмазы

6

05.01.03

ООО Спрут

Алмазы

2

04.02.03

РГРТА

Самоучитель

6

11.02.03

РГРТА

Алмазы

6

03.01.03

Теперь можно построить схему БД.

3.4. Устранение избыточности данных.

Для уменьшения объёма хранимых данных таблицы “Книги” можно сократить, избавившись от символьных данных в поле Раздел. Для этого составим дополнительную таблицу “Разделы”, пронумеровав все разделы.

Аналогично составим дополнительную таблицу “Издательство”, пронумеровав все издательства.

Для уменьшения объёма хранимых данных в отношении “Клиенты” введём дополнительное Код Клиента.

Таким образом, после преобразований получим следующие отношения:

КНИГИ (Код книги, Название книги, Код раздела, Код издательства, Год издания, Тип обложки, Цена книги)

АВТОРЫ (Код автора, Фамилия, Имя,Заметки)

КЛИЕНТЫ (Код клиента, Имя клиента, Телефон, Город)

ПОКУПКИ (Код покупки, Код клиента, Код книги, Количество, Дата покупки)

ПОСТАВЩИКИ (Код поставщика, Имя поставщика, Телефон,  Город, Код контактного лица)

ПОСТАВКИ (Код поставки, Код поставщика, Код книги, Количество поставок, Цена поставки, Дата поставки)

РАЗДЕЛЫ (Код раздела, Раздел)

ИЗДАТЕЛЬСТВО (Код издательства, Издательство)

КНИГИ-АВТОРЫ (Код книги автора, Код книги, Код автора)

КОНТАКТНОЕ_ЛИЦО(Код контактного лица, Фамилия, Имя)

4. БД информационной системы

4.1 Структура и содержание таблиц БД, схема БД.

Создаваемая с помощью СУБД Access база данных в соответствии с разработанной моделью содержит 10 таблиц.

Для отношения Авторы таблица должна состоять из полей, представленных на рис. 4.1.1. Содержание этой таблицы представлено на рис. 4.1.2.

Рис.  4.1.3  Содержание таблицы  Авторы

Рис.4.1.4  Структура таблицы Авторы

Для отношения Издательство таблица должна состоять из полей, представленных на рис. 4.1.6. Содержание этой таблицы представлено на рис. 4.1.5.

Рис.4.1.5 Содержание таблицы Издательство

Рис.4.1.6 Структура таблицы Издательство

Для отношения Клиенты таблица должна состоять из полей, представленных на рис. 4.1.8. Содержание этой таблицы представлено на рис. 4.1.7.

Рис.4.1.7 Содержание таблицы Клиенты

Рис.4.1.8 Структура таблицы Клиенты

Для отношения Книги таблица должна состоять из полей, представленных на рис. 4.1.10. Содержание этой таблицы представлено на рис. 4.1.9.В ней присутствуют 2 поля со списком подстановок: КодРаздела и КодИздательства, созданные вышеописанным методом.

Рис.4.1.9 Содержание таблицы Книги

Рис.4.1.10 Структура таблицы Книги

Для отношения Книги-Авторы таблица должна состоять из полей, представленных на рис. 4.1.12. Содержание этой таблицы представлено на рис. 4.1.11. В ней присутствует поле со списком подстановок для поля КодКниги.

Рис.4.1.11 Содержание таблицы Книги-Авторы

Рис.4.1.12 Структура таблицы Книги-Авторы

Для отношения Покупки таблица должна состоять из полей, представленных на рис. 4.1.14. Содержание этой таблицы представлено на рис. 4.1.13. Здесь создано поле со списком подстановок для поля КодКлиента.

Рис. 4.1.13 Содержание таблицы Покупки

Рис.4.1.14 Структура таблицы Покупки

Для отношения Поставки таблица должна состоять из полей, представленных на рис. 4.1.16. Содержание этой таблицы представлено на рис. 4.1.15.

Рис.4.1.15 Содержание таблицы Поставки

Рис.4.1.16 Структура таблицы Поставки

Для отношения Поставщики таблица должна состоять из полей, представленных на рис. 4.1.18. Содержание этой таблицы представлено на рис. 4.1.17. Здесь создано поле со списком подстановок для поля КодПоставщика