Многотабличные базы данных. Отношения между таблицами

  • docx
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Многотабличные базы данных. Отношения между таблицами
Иконка файла материала 12.7.docx

12.7. Многотабличные базы данных. Отношения между таблицами

Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений:

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

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

3. Отношение «многие ко многим» возникает между двумя таблицами в тех случаях, когда:

• одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;

• одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.

Например, связь между преподавателями и группами студентов. Несколько преподавателей ведут занятия в нескольких группах, и несколько групп занимаются у нескольких преподавателей.

В большинстве случаев любые две таблицы связаны отношением «один – ко многим».

Создание связей между таблицами

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

1. Таблица тАбитуриенты:

http://lib.rus.ec/i/34/314634/i_249.png

КодАб является ключевым полем.

 

2. Таблица пересечения тСвязьАбВУЗ:

http://lib.rus.ec/i/34/314634/i_250.png

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

http://lib.rus.ec/i/34/314634/i_251.png

Рисунок 12.6. Схема данных

 

Чтобы определить связи, необходимо использовать команду Сервис->Схема данных (кнопка

http://lib.rus.ec/i/34/314634/i_252.png

). Если связь определяется впервые в базе данных, то Access откроет пустое окно Схема данных, а затем выведет на экран окно диалога Добавление таблицы. В этом окне необходимо выделить нужные таблицы и нажать кнопку Добавить. В нашем случае в окно схемы данных надо добавить все три таблицы. Кнопка Закрыть закрывает окно диалога Добавление таблицы (данное окно можно вызвать по нажатию кнопки

http://lib.rus.ec/i/34/314634/i_253.png

). После этого окно Схемы данных должно выглядеть примерно так, как показано на рис. 3 (кроме линий соединения). Чтобы установить связь между таблицами твузы и тСвязьАбвуз, надо выделить поле Кодвуза в таблице твузы (щелкнуть левой кнопкой «мыши»), перетащить и опустить его на поле Кодвуза в таблице тСвязьАбвуз. Аналогично устанавливается связь между двумя другими таблицами.

Когда вы отпустите кнопку мыши, Microsoft Access откроет окно диалога Связи, представленное на рис. 12.7.

http://lib.rus.ec/i/34/314634/i_254.png

Рисунок 12.7. Настройка связей между полями таблиц

 

После установки флажка Обеспечение целостности данных, Access делает доступными еще два флажка: Каскадное обновление связанных полей и Каскадное удаление связанных записей. При установленном флажке Каскадное обновление связанных полей Microsoft Access обновляет все значения чужих ключей в дочерних таблицах (то есть в таблицах на стороне отношения «многие» при связи «один ко многим») при изменении значения первичного ключа в родительской таблице, которая находится на стороне отношения «один» при связи «один ко многим». Если же вы установите флажок Каскадное удаление связанных записей, Microsoft Access удалит дочерние строки (связанные строки в дочерних таблицах) при удалении родительской строки (связанная строка в родительской таблице). Установите флажок Каскадное обновление связанных полей, чтобы при изменении кода вуза Access автоматически обновлял записи в таблице тСвязьАбвуз.

После нажатия кнопки Создать Access создаст связь и нарисует линию между двумя таблицами, указывающую на наличие связи между ними. Заметьте: когда вы просите обеспечить целостность данных, Access изображает на конце линии у таблицы, находящейся на стороне отношения «один», цифру 1, а на другом конце у таблицы со стороны отношения «многие» – символ бесконечности. Чтобы удалить связь, щелкните по ее линии и нажмите клавишу Del. Если вы хотите отредактировать или изменить существующую связь, дважды щелкните по соответствующей линии, чтобы снова открыть окно диалога Связи.