Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в реляционные базы данных и язык SQL..pdf
Скачиваний:
10
Добавлен:
15.11.2022
Размер:
1.53 Mб
Скачать

2. Целостность по ссылкам: если таблица Гг содержит внешний ключ fk, соответствующий первичному ключурк другой таблицы Г/, то каждое значение fk в Т2 должно:

а) либо быть равным значению рк для некоторой строки таблицы Г/, б) либо быть неопределенным (иметь значение null).

Случаю а) соответствуют примеры со столбцами "Номер фирмы" {fk) и "Номер продукта" {fk) из таблицы "Склад", соответствующие столбцам "Номер фирмы" {рк) таблицы "Фирма" и "Номер продукта" {рк) таблицы "Продукт" (рис. 1).

Для случая б) можно привести пример с работником, который временно не относится ни к одному из подразделений предприятия.

2.3. Правила внешних ключей

Чтобы обеспечить целостность РБД, удаление данных из таблиц РБД должно подчиняться одному’ из двух правил [3,4]:

1. Каскадное удаление: при удалении строки из таблицы Г/ удаляются также все строки из таблиц Г?,..., Г*, соответствующие строке из Г/ по внешнему ключу.

Например, при удалении фирмы "Дальрыба" из таблицы "Фирма" в соответствии с правилом каскадного удаления должны быть удалены строки из таблицы "Склад" со значениями первичного ключа "Номер партии" 3 и 4 (рис. 1).

2. Ограниченное удаление: при удалении строки из таблицы Гу проверяется наличие в таблицах ..., 7* строк, соответствующих строке из Гу по внешнему ключу. Если такие строки в таблицах Г г , Г * имеются, то удаление отвергается.

В соответствии с правилом ограниченного удаления фирму "Дальрыба" из таблицы "Фирма" в данный момент удалить нельзя, так как в таблице "Склад" есть строки со значениями первичного ключа "Номер партии" 3 и 4, для которых внешний ключ "Номер фирмы" имеет значение 3 (рис. 1). Только после удаления этих строк из таблицы "Склад" можно будет удалить фирму "Дальрыба" из таблицы "Фирма".

Аналогично формулируются правила обновления данных в таблицах РБД. Читателю предлагается проделать это самостоятельно.

3. Обработка данных

Третья часть реляционной модели, определяющая правила обработки данных, - это операторы. Основным компонентом этой части модели является так называема реляционная алгебра, которая состоит из набора операторов, использующих отношения (таблицы) в качестве аргументов и возвращающих отношения (таблицы) в качестве результата. Базис реляционной алгебры образуют шггь операторов: выборка, проекция, произведение, объединение и вычитание. Эти операторы не выражаются друг через друга и через них можно определить другие операторы реляционной алгебры. Более подробно теория реляционной алгебры изложена в [3,4].

б