Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
к.т.№2 Калашников (1).doc
Скачиваний:
4
Добавлен:
06.09.2019
Размер:
790.53 Кб
Скачать

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

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

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

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.

Отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.

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

Отношение «один-ко-многим» создается в том случае, когда только одно из полей является полем первичного ключа или уникального индекса.

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

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

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

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

Процесс создания связей таблиц в окне Схема данных состоит из двух частей: добавления таблиц в схему данных и собственно установление связей.

В нашем примере связывание таблиц будем осуществлять с помощью Мастера подстановок.

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

Для осуществления связи таблиц с помощью Мастера подстановок в рабочем окне Access помечаем таблицу Проект и нажимаем кнопку Конструктор на панели инструментов (рис. 6).

Рис. 6. Просмотр таблицы в режиме конструктора

В столбце Тип данных поля КодИзделия выберите в списке значений Мастер подстановок как показано на рисунке 7.

Рис. 7. Вызов мастера подстановок

В диалоговом окне Мастер подстановок по умолчанию установлен переключатель Объект «столбец подстановки» будет использовать значения из таблицы или запроса. Это именно то, что нам нужно, т.к. в данном случае мы должны использовать данные из таблицы Изделия. Нажмите кнопку Далее.

Выделите на следующем шаге таблицу, из которой вы будете использовать данные. В нашем примере выбор показан на рисунке 8 и нажмите кнопку Далее.

Рис. 8. Выбор источника

В списке Доступные поля выводятся все поля таблицы Изделия. Переместите те поля, которые вы хотите выбирать при вводе и последующем отображении. В данном случае следует последовательно выделить поля Наименование и ВидОбуви и нажать кнопку с одинарной стрелкой. Поля ВидОбуви и Наименование переместятся в область Выбранные поля как показано на рисунке 9, затем нажмите кнопку Далее.

Рис. 9. Выбор поля столбца подстановок

Теперь столбцы подстановки, представленные на рисунке 10, видны т.к.они будут отображаться в раскрывающемся списке.

Столбец КодИзделия скрыт, так как по умолчанию установлен флажок Скрыть ключевой столбец. Ширину столбца можно отрегулировать, перемещая мышью границы столбцов. Установив нужную ширину столбцов, нажмите кнопку Далее.

Рис. 10. Определение ширины столбцов подстановки

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

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

Откроется окно Схема данных в виде списков полей каждой таблицы. Между этими таблицами установлена связь один-ко-многим, созданная мастером подстановок. Связь изображается линией, соединяющей таблицы (рис. 11).

Рис. 11. Схема данных после работы мастера подстановок

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

Рис. 12. Настройка связей в окне Схема данных

Нажмите кнопку ОК (окно Изменение связей закроется). В окне Схема данных на линии, соединяющей две таблицы, появится на стороне «один» значок 1, а на стороне «многие» –  (рис. 13).

Рис. 13. Настройка связей в окне Схема данных

На схеме данных все таблицы легко перемещаются мышью, если схватить заголовок и потянуть. Размеры таблиц также можно менять стандартным образом, потянув за границу.

Закройте окно Схема данных и ответьте утвердительно на вопрос о сохранении изменений макета «Схема данных» (рис. 14).

Рис. 14. Сохранение изменения макета «Схема данных»