Здавалка
Главная | Обратная связь

Тема: «Многотабличные базы данных.



Отношения между таблицами (Схемы данных)»

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

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

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

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

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

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

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

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

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

1. Таблица 1. тВУЗы:

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

Имя Тип Размер
КодАб (ключ) Счетчик -
Фамилия Текстовый
Имя Текстовый
Отчество Текстовый
Паспорт Текстовый
Индекс Числовой
Город Текстовый
Адрес Текстовый
Средний балл Числовой
Фото Поле объекта ОЬЕ
Примечания Поле МЕМО
Пол Подстановка -

 

 

3. Таблица пересечения тСвязьАбВУЗ:
Имя Тип Размер
КодАб Числовой (длинное целое)
КодВУЗа Числовой (длинное целое)
Статус поступления Логический
Статус посещения Логический

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

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

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

Когда вы отпустите кнопку мыши, Мicrosoft Ассеss откроет окно диалога Связи, представленное на рис. 46.

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

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

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

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


Лабораторная работа 6







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.