
- •107. Базы данных: семантическая модель “cущность–связь”.
- •Пример нарушения целостности базы
- •Понятие транзакции
- •105. Нормализация реляционных бд
- •103. Поддержка целостности в реляционных базах данных.
- •104. Язык sql
- •102. Реляционная модель данных: структурная часть.
- •Структурная часть: термины
- •Структурная часть: домен
- •Структурная часть: отношения
- •Структурная часть: свойства отношений
105. Нормализация реляционных бд
Нормализация - это формализованная процедура, в процессе выполнения которой атрибуты данных группируется в таблицы, а таблицы в свою очередь - в БД.
Цели нормализации след-е:
- исключить дублирование информации в таблицах;
- обеспечивать возможность изменений в структуре таблицы;
- уменьшить влияние структурных изменений БД на работу приложении, обеспечивающих пользователем доступ к данным.
Процесс нормализации состоит из несколько этапов. Первые 3 из них выполняется чаще всего.
Первая нормальная форма
Каждое поле таблицы должно представлять уникальный тип информации. То есть необходимо избавиться от повторяющихся полей и разделить составные поля на отдельные элементы данных. Правила построения первой формы требует, чтобы все таблицы данных были плоскими и не содержали повторяющихся данных в различных строках. Под плоской таблицы понимается, таблица имеющая 2 измерения: длина(число записей и строк) и ширина(число полей или столбцов). Ее ячейки не могут содержать больше одного значения (н-р: расписание движение транспорта).
Вторая нормальная форма
Тут необходимо обеспечить полную зависимость столбцов, которые не являются ключевыми, от первичного ключа, а если этот ключ составной, то от каждого его элемента. Под полной зависимостью понимается возможность однозначного определения значения каждого ключевого поля с помощью значения первичного ключа.
Перед переходом ко 2 нормальной форме необходимо привести данные к первой нормальной форме.
третья нормальная фора
В этой форме столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Должна быть возможность изменять значения любого поля без воздействия на данные других полей.
Прежде всего, перейти к 3 форме, необходимо привести свои данные к первой. А затем – ко второй.
Четвертая нормальная форма
Чтобы БД находилась в 4 форме надо, чтобы независимые элементы данных, между которыми существует связь типа многие-ко-многим, не хранились в одной таблице. Таблица команды находится в 4 форме, поскольку связи многие-ко-многим установлены между ее полем и полями с кодами членов команды.
Пятая нормальная форма
Требуется обеспечения возможности точного восстановления исходной таблицы из таблиц, на которых она основана.
103. Поддержка целостности в реляционных базах данных.
Под целостностью будем понимать соответствие информационной модели предметной области, хранимой в базы данных. Любое изменение в предметной области, значимое для построенной модели, должно отражаться в базы данных и при этом должно сохраняться интерпретация информационной модели в терминах предметной области.
Поддержка целостности включает в себя 3 аспекта:
- поддержка структурной целостности;
- поддержка языковой целостности;
- поддержка сеточной ценности;
- поддержка семантической целостности.
Поддержка структурной целостности
реляционная СУБД должна допускать работу только с однородными структурными данными типа и реляционное отношение, т.е. отсутствие дубликатов кортежей, соответственно обязательное наличие первичного ключа, отсутствие понятие упорядоченности кортежей;
проблема неопределенных Null значение
При сравнение неопределенных значений не действует стандартные правила сравнении: одно неопределенное значения никогда не считается равным другому неопределенному значению; для выявления равенства значение некоторого атрибута неопределенному применяет специальных стандартные значения: <имя атрибута> IS Null <имя атрибута> is not Null.
Поддержка языковой целостности
Реляционная СУБД должна обеспечить языки описания и манипулирования данными не ниже стандарта SQL.
Поддержка сеточной целостности - означает обеспечения одного из заданных принципов взаимосвязи между экземплярами кортежей взаимосвязанных отношении: кортежи подчиненного отношения уничтожаются при удалении кортежа основного отношения, связанными с ними; кортежи основного отношения модифицируются при удалении кортежа основного отношения, связанного с ними, при этом на месте ключа родительского отношения ставится неопределенное Null значение.
Семантическая поддержка целостности.
Семантическая поддержка может быть обеспечена двумя путями: декларативным и процедурным путем.
Декларативный путь связан наличием механизмов в рамках СУБД, обеспечивающих проверку и выполнение ряда декларативного заданных правил- ограничений.