- •ЧАСТЬ I. Введение в реляционные базы данных
- •1. Структура реляционной базы данных
- •2. Целостность реляционных данных
- •2.3. Правила внешних ключей
- •3. Обработка данных
- •4. Проектирование РБД
- •4.4. Категоризация сущностей
- •4.5. Этапы проектирования
- •4.5.1. Логическое проектирование
- •4.5.2. Физическое проектирование
- •4.6. Условные обозначения, применяемые при проектировании РБД
- •4.7. Примеры проектов РБД
- •ЧАСТЬ И. Введение в язык SQL
- •5. Язык определения схемы (SDL)
- •5.1. Таблицы
- •6. Язык манипулирования данными (DML)
- •6.2. Запросы
- •Слисок литература
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].
б