- •С.В. Никитина. Базы и Банки Данных. – Москва, 2009. – 80 стр.
- •Содержание
- •Глава 1. Назначение и основные компоненты системы баз данных 6
- •Глава 2. Типовая организация современной субд 10
- •Глава 3. Инфологическая модель данных «сущность-связь» 21
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд. 31
- •Глава 5. Реляционная модель 35
- •Глава 6. Базисные средства манипулирования реляционными данными 40
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры 45
- •Глава 1. Назначение и основные компоненты системы баз данных Данные и эвм
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Глава 2. Типовая организация современной субд
- •Классификация пользователей субд
- •Распределение обязанностей в системах с базами данных.
- •Администраторы данных и администраторы баз данных.
- •Администрирование данных и администрирование баз данных.
- •Администрирование данных.
- •Задачи администрирования данных.
- •Администрирование Базы Данных.
- •Задачи администрирования базы данных.
- •Администрирование данных и администрирование базы данных
- •Преимущества централизованного подхода к управлению данными
- •Возможность совместного доступа к данным
- •Сокращение избыточности данных
- •Устранение противоречивости данных (до некоторой степени)
- •Возможность поддержки транзакций
- •Обеспечение целостности данных
- •Организация защиты данных
- •Возможность балансировки противоречивых требований
- •Возможность введения стандартизации
- •Независимость данных
- •Глава 3. Инфологическая модель данных «сущность-связь»
- •Основные понятия
- •Характеристика связей и язык моделирования
- •О первичных и внешних ключах
- •Ограничения целостности
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд.
- •Иерархические системы
- •Иерархические структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Сетевые системы
- •Сетевые структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Достоинства и недостатки ранних субд
- •Глава 5. Реляционная модель Основные понятия реляционных баз данных
- •Тип данных
- •Кортеж, отношение
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Общая характеристика реляционной модели данных
- •Глава 6. Базисные средства манипулирования реляционными данными Реляционная структура данных. Общие понятия реляционного подхода к организации бд. Основные концепции и термины
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры Объединение
- •Пересечение
- •Вычитание
- •Произведение
- •Специальные реляционные операции* Выборка
- •Проекция
- •Соединение
- •Деление
- •Ассоциативность и коммутативность
- •Зачем нужна реляционная алгебра
- •Операция расширения
- •Операция обобщения
- •Группирование и разгруппирование
- •Реляционные сравнения
- •Реляционное исчисление.
- •Глава 8. Нормализация данных. 1-я, 2-я, 3-я нормальные формы
- •Функциональная зависимость
- •Вторая нормальная форма
- •Третья нормальная форма
- •Глава 9. Нормализация данных. Нормальные формы более высоких порядков
- •Нормальная форма бойса-кодда
- •Многозначные зависимости. Четвертая нормальная форма
- •Зависимость соединения. Пятая нормальная форма
- •Глава 10. Внутренняя организация реляционных субд Структуры внешней памяти
- •Хранение отношений
- •Индексы
- •Журнальная информация
- •Служебная информация
- •Глава 11. Методы организации индексов
- •Методы поиска по дереву
- •Автоматическое поддержание свойства сбалансированности b-деревьев при выполнении операций занесения и удаления записей *
- •Хэширование
- •Глава 12. Защита бд Обеспечение защиты данных в базе
- •Идентификация пользователя
- •Управление доступом
- •Защита данных при статистической обработке
- •Физическая защита
- •Глава 13. Целостность бд
- •Целостность сущности и ссылок
- •Обеспечение целостности данных
- •Транзакции и целостность баз данных
- •Изолированность пользователей
- •Сериализация транзакций
- •Глава 14. Степень соответствия субд реляционной модели
- •Список литературы по теме курса
- •Кори Майкл Дж., Эбби Майкл, Абрамсон Ян
Обеспечение целостности данных
Существует два основных вида ограничений целостности, которые должны поддерживаться СУБД:
1) структурные ограничения – задаются функциональными зависимостями и проверяются путем проверки равенства значений соответствующих данных в БД;
2) ограничения реальных значений данных, хранимых в БД, требуют, чтобы значение поля принадлежало некоторому диапазону значений, либо выражают некоторое арифметическое соотношение между значениями различных полей.
Существуют и другие ограничения целостности. Например, ограничения на условия выполнения параллельных операций над данными в базе; ограничения тина «старый» – «новый», когда БД переходит в новое состояние.
В общем случае целостность можно нарушить при сбое оборудования, программной ошибке, ошибке человека-оператора, ошибках в исходных данных и т. п.
Рассмотрим различные тины ограничений целостности.
1. Значения первичного ключа любого отношения (файла) должны быть уникальны. Система управления БД должна отклонить любую попытку ввести в базу данных кортеж (запись) со значением первичного ключа, повторяющим уже имеющееся значение. Для спецификации этого типа ограничений достаточно фразы KEY при описании модели данных.
2. Отношение (файл) кроме первичного ключа может содержать возможные ключи, значения которых должны быть также уникальными. Для спецификации этого типа ограничений достаточно фразы UNIQUE (А) при описании модели данных, где А – атрибут или комбинация атрибутов.
Рассмотренные два примера соответствуют структурным ограничениям. Если отношение находится в четвертой нормальной форме, то фраз KEY и UNIQUE достаточно для спецификации всех функциональных зависимостей. Если отношение содержит некоторую дополнительную зависимость (т. е. не является нормализованным), эту зависимость необходимо специфицировать специальным выражением при описании данных.
3. В заданном отношении для каждого кортежа между значениями полей А и В должно всегда выполняться условие, что первое больше второго. Ограничение специфицируется специальным выражением.
4. Значения, которые принимает некоторый атрибут, должны быть ограничены заданным диапазоном. Ограничение специфицируется специальным выражением.
5. Для некоторого атрибута (или комбинации атрибутов) может существовать конечный, небольшой по размеру набор допустимых значений (например, по атрибуту ОБРАЗОВАНИЕ могут быть только значения НАЧАЛЬНОЕ, НЕПОЛНОЕ СРЕДНЕЕ, СРЕДНЕЕ, НЕПОЛНОЕ ВЫСШЕЕ, ВЫСШЕЕ). Ограничение специфицируется специальным выражением при описании данных.
6. Значения некоторого атрибута должны удовлетворять определенному формату. Ограничение специфицируется фразой при описании соответствующего атрибута.
7. Множество значений одного из атрибутов отношения должно удовлетворять некоторому статистическому условию. Например, конкретное значение не должно превышать более чем в два раза среднее значение. Ограничение реализуется СУБД при контроле выполняемых операций, в которых используются агрегатные функции.
8. Множество значений некоторого столбца отношения является подмножеством значений другого столбца этого отношения. Ограничения также контролируются при выполнении операций.
Примеры 3—8 соответствуют второму виду ограничений—ограничений на значения данных.
9. Требуется ограничить обновление данных в заданном отношении таким образом, чтобы для указанного атрибута имело место в каждом кортеже некоторое соотношение между «старым» и «новым» значениями. Чтобы специфицировать подобное ограничение, в языках должны быть предусмотрены возможности ссылки на старое и новое значения.
10. Если транзакции А и В выполняют изменения одних и тех же данных в БД, то при их параллельном выполнении может быть нарушена целостность данных в базе. В этом случае СУБД должна реализовать специальный режим выполнения параллельных вычислений. Например, транзакция В не может обратиться к данным, пока с ними не закончится работа в транзакции Л.
11. Если транзакция выполняет несколько изменений в БД, связанных между собой ограничениями целостности, то ограничения целостности можно проверять только после выполнения транзакции. Такие ограничения называют отложенными.
Рассмотренных примеров достаточно, чтобы создать представление о составе задач, подлежащих решению при проектировании средств обеспечения целостности данных в БД.
Основная идея обеспечения ограничений целостности данных заключается в том, чтобы использовать ЯМД как средство выражения этих ограничений. Описание ограничений целостности содержит две части. В первой из них выражается само ограничение, во второй описывается, когда, при каких условиях должна выполняться проверка. Языки манипулирования данными реальных систем позволяют в той или иной мере поддерживать многие из рассмотренных ограничений целостности.