Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВКР Кириллина А.А..doc
Скачиваний:
1
Добавлен:
05.11.2018
Размер:
733.18 Кб
Скачать

2.5.3 Определение связей между таблицами.

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

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

В большинстве случаев, как уже описывалось выше, таблицы связываются между собой отношением «один ко многим», гораздо реже «один к одному» и «многие ко многим». Если в базе данных существует связь между таблицами типа «многие ко многим», то необходимо создать таблицу пересечения, с помощью которой одна связь «многие ко многим» будет сведена к двум связям типа «многие к одному». В настоящей базе данных все таблицы будут связываться между собой отношением типа «многие к одному». Непосредственно для работы данного приложения необходимо связать данные из таблиц с данными о заголовках разделов и изданиями. Связь между этими таблицами будет типа «один ко многим», так как в одном разделе может содержаться множество изданий, но любое издание содержится только в одном разделе. Для связи таблицы Раздел с таблицей Издание необходимо, чтобы первичный ключ этой таблицы – Код_раздела - присутствовал в связанной с ней таблице. В таблице Издание первичным ключом является Код_издания через который производится связь с таблицами Авторы, Составители, Редакторы и Переплёты, в соотношении «один ко многим», так как у одного издания может быть несколько авторов, составителей и редакторов, а так же в библиотеке может храниться несколько экземпляров данного издания. В свою очередь у таблицы Создатели тоже есть первичный ключ Код_создателя через который определяем связь с таблицами Авторы, Составители и Редакторы, в отношении «один ко многим». Таблица Вид_издания связана с таблицей Издание по первичному ключу Вид_издания в соотношении «один ко многим, так же таблица Издательства связана с таблицей Издание по первичному ключу Код_издательства в отношении «один ко многим». Таблица Переплёты имеет первичный ключ Номер_переплёта по которому связана с таблицей Выдача в отношении «один ко многим».

Аналогично таблица Группа будет связываться с таблицей Читатель отношением типа «один ко многим» через первичный ключ Код_группы, потому как в любой группе может содержаться множество читателей, но каждый читатель содержится в одной группе. Таблица Города, имеющая первичный ключ Код_города связана с таблицей Читатель в отношении «один ко многим», аналогично связаны таблицы Улицы, Фамилии, Имена и Отчества, у которых первичными ключами являются Код_улицы, Код_Фамилии, Код_имени и Код_отчества соответственно. Так же таблица Читатель, имеющая первичный ключ Номер_читателя, связана с таблицей Выдача в отношении «один ко многим».