Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика=) / BASE / Posobie_Base.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
1.09 Mб
Скачать

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

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

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

Между двумя таблицами можно установить один из следующих типов связей:

1. один к одному (1:1) — когда одной записи в первичной таблице соответствует только одна запись в связанной таблицы;

2. один ко многим (1:М) — когда одна запись в первичной таблице связана с множеством записей в связанной таблицы и наоборот;

3. многие ко многим (М:М) — предусматривает, что множество записей одной таблицы может соответствовать множеству записей другой таблицы и наоборот.

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

Шаг 1. Находясь в Главном окне БД выполните команду Сервис > Связи. Откроется пустое окно Конструктора связей, поверх которого будет открыто окно выбора таблиц БД, которые мы можем связать, рис. 8. На рис.8 при открытии окна Конструктора связей пока отсутствуют таблицы Студент, Экзамен, Дисциплина.

Шаг 2. Поочередно выделите в окне Добавить таблицы имена таблиц Студент, Экзамен, Дисциплина и каждый раз нажимайте кнопку «Добавить». В окне Конструктора связей добавились три таблицы, рис. 8. Закройте окно Добавить таблицы.

Рис. 8. Окно конструктора связей с окном добавления таблиц

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

После отпускания кнопки мыши между таблицами появится линия связи с автоматически установленным типом связи (в данном случае 1:М), см. рис. 9.

Шаг 4. Аналогично создайте связь между полем Код дисциплины в таблице Дисциплина и полем Код дисциплины в таблице Экзамен, см. рис. 9.

Рис. 9. Схема связей БД Сессия

Шаг 5. После установления связи между таблицами Дисциплина и Экзамен следует установить параметры связи. Выделите правой кнопкой мыши установленную связь и выполните в контекстном меню команду Правка. Откроется окно свойств выбранной связи, в котором установите флажки в свойствах Обновление каскада и Удалить каскад, рис. 10.

Рис. 10. Окно свойств связи

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

Шаг 6. Аналогично установите параметры связи между таблицами Студент и Экзамен.

Шаг 7. Закройте окно конструктора связей, нажав на кнопку «Да» на вопрос о сохранении схемы связей.

Соседние файлы в папке BASE