
- •Оглавление
- •Глава 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 Автоматизация решения административных задач. Система оповещений
- •Заключение
- •Приложение
- •Список рекомендуемой литературы
2.7 Пример анализа отношений базы данных на третью нормальную форму
Рассмотрим анализ базы данных «ГИБДД» на третью нормальную форму (рисунок 1.27). Все отношения базы данных находятся в первой нормальной форме, так как атрибуты отношений не являются множеством или списком. Отношения «Тип телефона », «Тип нарушения», «Район» находятся в третьей нормальной форме, так как количество атрибутов в отношениях меньше трех. Отношения «Адрес», «Владелец», «Нарушение» находятся во второй нормальной форме. Проверим, находятся ли отношения «Транспортное средство», «Телефон», «Нарушение_Тр.средство» во второй нормальной форме. Выполним анализ отношения «Транспортное средство» на наличие частичных функциональных зависимостей. В этом отношении один составной ключ<Номер паспорта, гос.номер>. От части ключа атрибуты, не входящие в ключ и не являющиеся атомарными ключами, не зависят. Действительно: Номер паспорта-/->Мощность двигателя, Номер паспорта-/->Марка, Номер паспорта-/->Дата выпуска. Аналогично нет зависимостей и для части ключа Гос.номер. То есть отношение находится во второй нормальной форме. Аналогично в отношении «Нарушение_Тр.средство» отсутствуют зависимости атрибута, не входящего в ключ, <Код типа нарушения> от частей составного ключа <Номер паспорта, гос.номер,номер протокола>. В отношении «Телефон» отсутствуют зависимости атрибута «Код типа телефона» от частей составного ключа «Номер паспорта, номер телефона». То есть отношения «Нарушение_Тр.средство» и «Телефон» также находятся во второй нормальной форме. Отношения «Телефон» и «Нарушение_Тр.средство» находятся и в третьей нормальной форме, так как для проверки на наличие транзитивных зависимостей в отношениях кроме ключа должно быть как минимум два атрибута, а в этих отношениях имеется только один атрибут. Проверим, находятся ли в третьей нормальной форме отношения «Адрес», «Владелец», «Транспортное средство» и «Нарушение». Например, «Адрес» в отношении «Нарушение» имеются следующие зависимости: Номер протокола → Место нарушения -/->Дата нарушения, Номер протокола →Дата нарушения -/-> Место нарушения, то есть отсутствуют транзитивные зависимости и отношение находится в третьей нормальной форме. Аналогично, в отношениях «Адрес», «Владелец», «Транспортное средство» отсутствуют связи между атрибутами, не входящими в ключ, отсюда эти отношения так же находятся в третьей нормальной форме.
В заключение данного раздела еще раз отметим, что теория реляционных баз данных лежит в основе алгоритмов реализующих операции над реляционными данными, реализации ограничений целостности данных, а также определяет правила преобразования базы данных в системах OLTP, ее нормализации для увеличения эффективности работы с базами данных в таких системах. Следует отметить, что вопросы, связанные с нормализацией отношений и приведением к той или иной нормальной форме решаются проектировщиками баз данных с учетом целей системы. Нормализация устраняет избыточность хранения данных и нежелательные эффекты при ведении данных, но увеличивает число взаимосвязанных отношений и тем самым замедляет операции выборки данных, выполнения запросов к базе данных. Так в базах данных, предназначенных для систем OLAP отношения даже не находятся в первой нормальной форме.
В следующем разделе будут рассмотрены вопросы, связанные с физической организацией баз данных, знание которых также существенно влияет на разработку баз данных и последующую эффективную работу с системами баз данных.