Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_работа_с_PostgreSQL.doc
Скачиваний:
28
Добавлен:
10.11.2019
Размер:
5.91 Mб
Скачать

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

После того, как все таблицы БД созданы, необходимо связать их между собой. Для задания связей между таблицами используются первичные и внешние ключи. Для БД «Деканат ВУЗа» связь между таблицами Students и Groups задается с помощью первичного ключа таблицы Groups и внешнего ключа таблицы Students.

Чтобы создать внешний ключ нужно выбрать в окне Браузер объектов требуемую таблицу, активизировать ее контекстное меню и в нем выбрать пункт Свойства (рисунок 2.14).

Рисунок 2.14 – Контекстное меню объекта Таблица

После этого откроется окно свойств выбранной таблицы (рисунок 2.15).

В нем нужно открыть закладку Ограничения, выбрать в выпадающем списке тип ограничения вторичный (внешний) ключ и нажать кнопку Добавить. В результате выполнения этих действий появится окно Новый внешний ключ (рисунок 2.16).

Рисунок 2.15 – Закладка Ограничения окна свойств таблицы

Рисунок 2.16 – Окно Новый внешний ключ. Закладка Свойства

Ограничение внешнего ключа говорит, что значения в колонке (или группе колонок) должно совпадать со значениями, которые существуют в некоторых строках другой таблицы. Для примера: у таблицы Students значения в колонке GrNo должны совпадать со значениями в колонке GrNo таблицы Groups.

Чтобы создать новый внешний ключ необходимо выполнить следующие действия:

  • на закладке Свойства задать имя внешнего ключа, например, GrNoFK (FK от англ. Foreign Key – внешний ключ);

  • выбрать из списка таблицу, на которую ссылается внешний ключ (свойство Ссылается);

  • отметить свойство Совпадение полное, которое говорит о том, что значения внешнего ключа должны полностью совпадать со значениями первичного ключа;

  • на закладке Колонки (рисунок 2.17) выбрать колонку исходной таблицы (Локальная колонка), которая определяет внешний ключ (для приведенного примера это колонка GrNo таблицы Students), и колонку, на которую ссылается внешний ключ (колонка GrNo таблицы Groups);

Рисунок 2.17 – Закладка Колонки окна Новый внешний ключ

  • на закладке Действие (рисунок 2.18) выбрать действие, которое будет выполняться при изменении или удалении значения первичного ключа. Возможные варианты:

    1. NO ACTION – никаких дополнительных действий и ограничений;

    2. RESTRICT – удаление/изменение значения первичного ключа запрещается, если на него ссылается какой-либо внешний ключ. Это действие установлено по умолчанию;

    3. CASCADE – удаление строки в родительской таблице приводит к удалению всех связанных с ней строк дочерней таблицы (например, если удалить запись о группе в таблице Groups, то автоматически будут удалены все записи о ее студентах в таблице Students); изменение значения первичного ключа родительской таблицы приводит к соответствующему изменению значений внешних ключей дочерней таблицы (например, если изменить какое-либо значение в колонке GrNo таблицы Groups, то автоматически будут изменены связанные с ним значения колонки GrNo в таблице Students);

    4. SET NULL – удаление/изменение первичного ключа родительской таблицы приводит к установке в значение NULL всех внешних ключей дочерней таблицы, которые ссылаются на удаленное/измененное значения первичного ключа родительской таблицы (например, если удалить/изменить значение в колонке GrNo таблицы Groups, то связанные с ним значения колонки GrNo в таблице Students автоматически будут установлены в NULL);

    5. SET DEFAULT – удаление/изменение первичного ключа родительской таблицы приводит к установке в значение по умолчанию всех внешних ключей дочерней таблицы, которые ссылаются на удаленное/измененное значения первичного ключа родительской таблицы.

Рисунок 2.18 – Закладка Действие окна Новый внешний ключ

Чтобы увидеть результат изменений колонки, таблицы, базы данных необходимо выделить соответствующий объект в окне Браузер объектов и выполнить его обновление (рисунок 2.19).

Рисунок 2.19 – Обновление объекта БД

Для ввода данных в определенную таблицу необходимо выбрать ее в окне Браузер объектов и нажать соответствующую кнопку (рисунок 2.20)

Рисунок 2.20 – Выбор таблицы для редактирования

После этого откроется окно редактирования данных выбранной таблицы (рисунок 2.21).

Рисунок 2.21 – Окно редактирования данных таблицы