Планирование уроков на учебный год (по учебнику Н.Д. Угриновича, профильный уровень)



Уроки 63 - 66
§3.4. Многотабличные базы данных




Содержание урока

3.4. Многотабличные базы данных
3.4.1. Связывание таблиц

Связывание таблиц

Контрольные вопросы

Практическая работа 3.9 Многотабличные базы данных


3.4.1. Связывание таблиц


Связывание таблиц


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

При связи в отношении «один-ко-многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице.

Если одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице — несколько записей в первой таблице, то реализуется связь в отношении «многие-ко-многим».

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

Две таблицы, находящиеся в отношении «многие-ко- многим», могут быть связаны только с помощью третьей (связующей) таблицы. Таблицы «Комплектующие» и «Поставщики» можно связать в отношении «многие-ко-многим» путем создания двух связей с отношением «один-ко- многим» для таблицы «Цена».

Таблицы «Комплектующие» и «Поставщики» будут главными по отношению к таблице «Цена».

Связь между таблицами устанавливает отношения между совпадающими значениями в полях. В нашем примере связываемые поля имеют одинаковые имена, в этом случае СУБД устанавливает связь автоматически, по команде. В противном случае связываемые поля надо указывать вручную.

С первичным ключом главной таблицы связывается одноименное поле подчиненной таблицы (внешний ключ).

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

Таблица «Поставщики» также является главной по отношению к таблице «Цена». Ее поле Код поставщика является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом.

Таким образом, таблица «Цена» должна содержать следующие поля (табл. 3.5):

Счетчик (первичный ключ);
Код комплектующих (поле внешнего ключа для таблицы «Комплектующие»);
Код поставщика (поле внешнего ключа для таблицы «Поставщики»);
Цена (числовое поле).

Таблица 3.5. Цена


Счетчик Код комплектующих Код поставщика Цена, руб.
1 К1 П1 9000
2 К1 П2 10000
3 К2 П1 5000
4 К2 П2 6000
5 КЗ П1 250
6 КЗ П2 300
7 К4 П1 300
8 К4 П2 350

Межтабличная связь обеспечивает целостность данных.

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

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

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

Следующая страница Контрольные вопросы



Cкачать материалы урока






Наверх