- •Содержание
- •Основные понятия
- •Понятие данных
- •Файловые системы
- •Системы баз данных
- •История развития субд
- •Трехуровневая архитектура ansi/sparc
- •Общая характеристика моделей данных
- •Основные понятия модели данных
- •Представление статических и динамических свойств
- •Общая характеристика структурных компонентов. Множества: домены и атрибуты
- •Общая характеристика структурных компонентов. Отношения: сущности
- •Общая характеристика структурных компонентов. Отношения: связи
- •Общая характеристика ограничений целостности
- •Модель данных «сущность – связь»
- •Уровни представления информации
- •Уровень 1 – информация о сущностях и связях
- •Уровень 2. Структура информации
- •Ограничения целостности в модели сущность-связь
- •Расширенная модель данных сущность-связь: нотация idef1x
- •Реляционная модель данных
- •Базовые структурные компоненты реляционной модели данных
- •Целостная часть реляционной модели данных
- •Языковые средства описания данных
- •Манипуляционная часть реляционной модели данных
- •Подмножество sql для манипулирования данными
- •Примеры написания запросов
- •I. И еще несколько примеров написания запросов из документации [10]
- •Краткая характеристика языка sql pl db2® udb
- •Дополнительные возможности описания ограничений целостности
- •Дополнительные возможности db2
- •Описание данных
- •Манипулирование данными
- •Дополнительные возможности формирования запросов
- •Типы данных, определенные пользователем
- •Функции, определенные пользователем
- •Теория проектирования реляционных баз данных
- •Цели проектирования
- •Функциональные зависимости
- •1. Рефлексивность
- •2. Пополнение
- •3. Транзитивность
- •4. Псевдотранзитивность
- •5. Аддитивность (объединение)
- •6. Декомпозиция (проективность)
- •7. Композиция
- •Нормализация отношений
- •Внутренние структуры хранения
- •Структурная схема обработки запроса
- •Бинарные деревья
- •Многоходовые деревья
- •Сравнение методов индексирования
- •Создание индексов в db2®
- •Организация файлов базы данных в db2®
Ограничения целостности в модели сущность-связь
Дополнительные ограничения целостности, накладываемые на данные, важны для описания используемых данных. Важно понимать, какие ограничения поддерживаются непосредственно используемой моделью данных, а какие требуют дополнительных усилий со стороны разработчика. Поэтому, прежде всего, следует определить типы ограничений целостности, а уже затем, учитывая, что модель сущность – связь используется только на этапе проектирования базы данных – язык, с помощью которого можно наглядно представить сформулированные ограничения.
В общем случае, в модели данных сущность – связь П. Чена рассматриваются следующие типы ограничений.
Ограничения на допустимые значения в множестве значений.
Атрибут отображает сущность из множества сущностей на множество значений. Допустимые значения определяются значениями в соответствующем множестве значений. Например, определено множество сущностей СОТРУДНИК с атрибутами Возраст и Стаж работы (Рис. 3.11). Оба атрибута определены на домене КОЛИЧЕСТВО ЛЕТ, для которого определено следующее условие принадлежности: целые числа большие 0 и меньшие 70. Соответственно, значения указанных атрибутов будут черпаться из диапазона чисел 0 – 70.
Рис. 3.11. Ограничения на допустимые значения
Ограничения на разрешенные значения некоторого атрибута.
В некоторых случаях не все допустимые значения из множества значений являются разрешенными для некоторых атрибутов. Например, для того же множества сущностей разрешенное значение атрибута Возраст может быть определено условием: возраст сотрудника не менее 17 и не более 70 лет. Данное ограничение задается с помощью утверждения на естественном языке (возраст любого сотрудника не может быть менее 17 и более 70 лет) или предиката: Возраст (е) >= 17 И Возраст (e) <= 70 | для любого e ∈ СОТРУДНИК
Ограничения на существующие значения в базе данных.
Здесь можно выделить две ситуации:
ограничения на конкретные значения
Например, для того же множества сущностей СОТРУДНИК определены дополнительные атрибуты: Зарплата и Отчисления, определенные на одном домене ДЕНЬГИ. Атрибут Зарплата определяет ежемесячный доход сотрудника, а атрибут Отчисления – также ежемесячные выплаты с дохода (например, налоги, плата за кредит и т.п.). Может быть определено следующее условие: отчисления не должны превышать зарплату сотрудника:
Отчисления (e) < Зарплата (e) | для любого e ∈ СОТРУДНИК
Другой пример. Некоторое предприятие состоит из нескольких отделов. Определены множества сущностей ПРЕДПРИЯТИЕ с атрибутом Бюджет и ОТДЕЛ также с атрибутом Бюджет; определен общий бюджет предприятия, в соответствии с которым определяются бюджеты отделов. Определяется условие: бюджет предприятия не должен быть меньше суммы бюджетов отделов:
Бюджет (e1) >= Σ Бюджет (e2i) | для любого e1 ∈ ПРЕДПРИЯТИЕ И всех e2 ∈ ОТДЕЛ предприятия e1
ограничения на множества значений
Этот тип ограничений позволяет определить условия принадлежности сущностей какому-то множеству в зависимости от существования каких-либо сущностей в другом множестве. Например, пусть определено множество сущностей СТУДЕНТ с атрибутом Имя, и нужно определить множество сущностей РАБОТАЮЩИЙ СТУДЕНТ также с атрибутом Имя. Второе множество сущностей является подмножеством первого:
Имя (e) |для любого e ∈ РАБОТАЮЩИЙ СТУДЕНТ входит в Имя (e) | e ∈ СТУДЕНТ
