- •Оглавление
- •Глава 1. Модели данных 8
- •Глава 2. Теоретические основы реляционных баз данных 31
- •Глава 8. Администрирование баз данных на примере sql Server 99
- •Введение. Понятие баз данных. Виды баз данных. Средства реализации баз данных. Основные этапы создания баз данных
- •Глава 1. Модели данных
- •1.1 Уровни представления данных. Понятия схемы и подсхемы данных
- •1.2 Модели концептуального уровня представления данных
- •1.3 Модели данных логического уровня представления данных
- •1.4 Методология idef1x построения логических моделей реляционных баз данных
- •1.5 Case-средства проектирования баз данных
- •Глава 2. Теоретические основы реляционных баз данных
- •2.1 Основные понятия. Операции обновления и реляционной алгебры
- •2.2 Реляционное исчисление кортежей и доменов
- •2.3. Языки манипулирования данными в реляционных системах
- •2.4. Понятие ключа и функциональных зависимостей
- •2.5 Нормализация отношений. 1, 2, 3, 4, 5 нормальные формы отношений
- •2.6 Описание формального алгоритма приведения отношений к третьей нормальной форме
- •2.7 Пример анализа отношений базы данных на третью нормальную форму
- •Глава 3. Физическое проектирование баз данных
- •3.1 Формат и размещение физических (хранимых) записей
- •3.2 Методы доступа к данным
- •Глава 4. Свойства баз данных
- •4.1 Целостность данных
- •4.2 Свойство безопасности и секретности баз данных
- •4.3 Восстанавливаемость, согласованность и эффективность баз данных
- •4.4 Реорганизация баз данных. Администратор баз данных. Словарь данных
- •Глава 5. Язык sql. Стандарт языка sql
- •5.1 История sql. История стандарта sql. Уровни соответствия. Классы инструкций sql
- •5.2 Идентификаторы. Константы. Операторы. Типы данных. Ограничения
- •Глава 6. Теоретические основы распределенных баз данных
- •6.1 Основные понятия систем с распределенной обработкой данных
- •6.2 Изолированность пользователей в многопользовательских системах
- •6.3 Сериализация транзакций. Методы сериализации транзакций
- •6.4 Журнализация и буферизация изменений в базах данных
- •Глава 7. Пример реализации распределённых баз данных. Ms sql Server
- •7.1. Основные характеристики ms sql Server. Системные базы данных, таблицы и хранимые процедуры. Базы данных и файлы
- •7.2 Таблицы баз данных. Создание, удаление, изменение
- •7.3 Индексы баз данных
- •7.4 Программирование на Transact sql. Комментарии. Переменные. Команды управления
- •7.5 Курсоры. Типы курсоров. Работа с курсорами
- •7.6 Правила, значения по умолчанию, представления
- •7.7 Хранимые процедуры и функции
- •7.8. Управление триггерами и транзакциями
- •7.9 Диагностика и сбор данных. Оптимизация запросов
- •7.10 Удаленный доступ к данным
- •Глава 8. Администрирование баз данных на примере sql Server
- •8.1. Система безопасности. Аутентификация. Учетные записи и роли. Планирование разрешений
- •8.2. Репликация данных. Типы репликаций
- •8.3. Перемещение данных
- •8.4. Резервное копирование и восстановление баз данных
- •8.5 Автоматизация решения административных задач. Система оповещений
- •Заключение
- •Приложение
- •Список рекомендуемой литературы
Глава 4. Свойства баз данных
4.1 Целостность данных
Основными проблемами в процессе проектирования баз данных является обеспечение целостности, согласованности, восстанавливаемости, безопасности и эффективности, а также возможное возникновение последствий предполагаемого роста баз данных в будущем.
База данных обладает свойством целостности, если она удовлетворяет определенным ограничениям на значения и структуру данных. Возможны следующие виды ограничений на значения данных:
Данные должны находиться в заданном диапазоне. Например, зарплата служащего не может быть выше зарплаты директора, или год поступления в институт меньше года рождения. Если база заполнена записями, то такой контроль ограничений значений данных осуществляется проверкой попадания в указанный диапазон и удалением некорректных записей. В дальнейшем, это ограничение должно контролироваться всякий раз, когда в базу добавляется новая запись. Из смысла этого ограничения следует, что оно не должно проверяться при операции удаления записей из базы данных.
Данные могут принимать значения из некоторого множества значений (например, название профессий), при этом создаются специальные файлы данных (базы данных) – словари, связанные с исходным файлом, из которых без набора с клавиатуры данных, вводятся нужные данные, что уменьшает возможные ошибки, учитывает ограничения на данные (должен быть машинист, а не машинистка).
Если поле является первичным ключом, то значение этого поля должно быть уникально. Система управления базы данных должна отклонить любую попытку ввести в базу данных кортеж (запись) со значением первичного ключа, повторяющем уже имеющееся значение.
Отношение может иметь кроме первичного ключа также возможные ключи (вторичные), значения которых должны быть также уникальными либо могут повторяться и использоваться для связи один ко многим. Для спецификации этого типа ограничений достаточно фразы UNIQUE (A) при описании модели данных, где А – атрибут или комбинация атрибутов.
В заданном отношении для каждого кортежа между значением атрибутов А и В должно всегда выполняться некоторое условие (например, что первый атрибут больше второго). Ограничение специфицируется специальным выражением.
Множество значений одного атрибута вычисляется через операции над другими. Реализуется с использованием функций СУБД.
Ограничения на структуру данных:
Контроль типа поля данных при всех операциях над базой (например, если целое поле, то заполнять, заменять и т.д. на строковое нельзя).
Ограничение на число полей в записи.
Ссылочная целостность означает, что все изменения во взаимосвязанных отношениях должны выполняться согласованно.
Основная идея обеспечения ограничений целостности заключается в том, чтобы использовать язык манипулирования данными как средство выражения этих ограничений. Описание ограничений целостности содержит две части. В первой – выражается собственно ограничение, во второй – описывается то, когда и при каких условиях должна выполняться проверка.
