Реляционные модели базы данных
называется "один-ко-многим". Связи типа "много-ко-многим" реализуются использованием нескольких отношений типа "один-ко-многим".В любой реляционной базе данных должны выполняться два ограничения:
Целостность сущностей
Целостность внешних ключей
Правило целостности сущностей состоит в том, что атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.
Правило целостности внешних ключей состоит в том, что внешние ключи не должны ссылаться на отсутствующие в родительском отношении кортежи, т.е. внешние ключи должны быть корректны.
Ссылочную целостность могут нарушить операции, изменяющие состояние базы данных. Такими операциями являются операции вставки, обновления и удаления кортежей.
Для поддержания ссылочной целостности обычно используются две основные стратегии:
RESTRICT (ОГРАНИЧИТЬ) - не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.
CASCADE (КАСКАДИРОВАТЬ) - разрешить выполнение требуемой операции, но внести каскадные изменения в другие отношения так, чтобы не допустить нарушения ссылочной целостности.
Дополнительными стратегиями поддержания ссылочной целостности являются:
SET NULL (УСТАНОВИТЬ В NULL) - все некорректные значения внешних ключей изменять на null-значения.
SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) - все некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию.
В реальных СУБД можно также отказаться от использования какой-либо стратегии поддержания ссылочной целостности:
IGNORE (ИГНОРИРОВАТЬ) - выполнять операции, не обращая внимания на нарушения ссылочной целостности.
Пользователь может разработать свою уникальную стратегию поддержания ссылочной целостности.
Список литературы
Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 1983. - 320 с.
Беренсон Х., Бернштейн Ф., Грэй Д., Мелтон Д., О"Нил Э., О"Нил П. Критика уровней изолированности в стандарте ANSI SQL //СУБД. - 1996. - №2. - С. 45-60.
Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989. - 351 с.
Гилуа М.М. Множественная модель данных в информационных системах. - М.: Наука, 1992. – 40 с.
Голосов А.О. Аномалии в реляционных базах данных //СУБД. - 1986. - №3. - С. 23-28.
Дейт К. Введение в системы баз данных . 6-издание. - Киев: Диалектика, 1998. - 784 с.
Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. - М.: Мир, 1991. - 252 с.
Диго С.М. Проектирование и использование баз данных. - М.: Финансы и статистика, 1995. - 208 с.
Пушников А.Ю. Введение в системы управления базами данных. Часть 1. Реляционная модель данных: Учебное пособие/Изд-е Башкирского ун-та. - Уфа, 1999. - 108 с.
Савельев В.А. Персональный компьютер для всех. Создание и использование баз данных. - М.: Просвещение, 1991. – 248 c.
Симонович С.В. Информатика. Базовый курс. - М.: Дрофа, 2000. – 388 c.
Тиори Т., Фрай Д. Проектирование структур баз данных. В 2 кн., - М.: Мир, 1985. Кн. 1. – С. 287 с., Кн. 2. – 320 с.
Приложение 1
Таблица Отношение "Сотрудники"
Табельный номер | Фамилия | Зарплата |
1 | Иванов | 1000 |
2 | Петров | 2000 |
3 | Сидоров | 3000 |
Приложение 2
Таблица Отношение "Поставщики и поставляемые детали"
Номер поставщика | Наименование поставщика | Номер детали | Наименование детали | Поставляемое количество |
1 | Иванов | 1 | Болт | 100 |
1 | Иванов | 2 | Гайка | 200 |
1 | Иванов | 3 | Винт | 300 |
2 | Петров | 1 | Болт | 150 |
2 | Петров | 2 | Гайка | 250 |
3 | Сидоров | 3 | Винт | 1000 |