Приведение модели к требуемому уровню нормальной формы
Тема 3.10 Проектирование структуры данных.
Определение РБД
Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами.
Основными понятиями реляционных баз данных являются:
- тип данных (символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), специальных временных данных (дата, время, временной интервал),
- домен - допустимое потенциальное множество значений данного типа,
- столбец,
- строка,
- первичный ключ,
- таблица.
Основные этапы проектирования БД
1. Постановка задачи.
На этом этапе необходимо решить, какая информация будет храниться в планируемой базе данных, и как она будет использоваться. Исходя этого, можно будет определить, какие таблицы должны храниться в базе данных и какие элементы информации (поля) должны быть включены в каждую таблицу.
Описание структуры таблиц базы данных.
На этом этапе необходимо описать каждую таблицу — указать, какие поля будут содержаться в таблице, тип и размер хранимых в полях данных, установить первичные ключи.
Определение связей между таблицами.
После определения всех таблиц необходимо указать ACCESS, какие действия надо предпринимать для объединения содержимого таблиц, составляющих базу данных.
Тестирование и усовершенствование.
На этом этапе необходимо ввести несколько записей в каждую таблицу и проверить, можно ли извлечь нужную информацию из таблиц.
Правила при проектировании БД
1. Исключайте повторяющиеся группы(столбцы) — для каждого набора связанных атрибутов создайте отдельную таблицу и снабдите ее первичным ключом. Выполнение этого правила автоматически приведет ко второй нормальной форме.
2. Исключайте избыточные данные — если атрибут зависит только от части составного ключа, переместите атрибут в отдельную таблицу. Это правило помогает избежать потери одних данных при удалении каких-то других. Везде, где возможно использование идентификаторов вместо описания, выносите в отдельную таблицу список идентификаторов с пояснениями к ним.
3. Исключайте столбцы, которые не зависят от ключа — если атрибуты не вносят свою лепту в описание ключа, переместите их в отдельную таблицу.
Приведение модели к требуемому уровню нормальной формы
Приведение модели к требуемому уровню нормальной формы является основой построения реляционной БД.
В процессе нормализации элементы данных группируются в таблицы, представляющие объекты и их взаимосвязи. Теория нормализации основана на том, что определенный набор таблиц обладает лучшими свойствами при включении, модификации и удалении данных, чем все остальные наборы таблиц, с помощью которых могут быть представлены те же данные. Введение нормализации отношений при разработке информационной модели обеспечивает минимальный объем физической, то есть записанной на каком-либо носителе БД и ее максимальное быстродействие, что впрямую отражается на качестве функционирования информационной системы.
Нормализация информационной модели выполняется в несколько этапов.
1. Данные, представленные в виде двумерной таблицы, являются первой нормальной формой реляционной модели данных.
Первый этап нормализации заключается в образовании двумерной таблицы, содержащей все необходимые столбцы информационной модели, и в выделении ключевых столбцов. Очевидно, что полученная весьма внушительная таблица будет содержать очень разнородную информацию. В этом случае будут наблюдаться аномалии включения, обновления и удаления данных, так как при выполнении этих действий нам придется уделить внимание данным (вводить или заботиться о том, чтобы они не были стерты), которые не имеют к текущим действиям никакого отношения.
2. Таблица задано во второй нормальной форме, если оно является отношением в первой нормальной форме и каждый столбец, не являющийся первичным столбцом в этом отношении, полностью зависит от любого возможного ключа этого отношения.
Если все возможные ключи отношения содержат по одному атрибуту, то это отношение задано во второй нормальной форме, так как в этом случае все атрибуты, не являющиеся первичными, полностью зависят от возможных ключей.
Если ключи состоят более чем из одного атрибута, отношение, заданное в первой нормальной форме, может не быть отношением во второй нормальной форме. Приведение отношений ко второй нормальной форме заключается в обеспечении полной функциональной зависимости всех атрибутов от ключа за счет разбиения таблицы на несколько, в которых все имеющиеся атрибуты будут иметь полную функциональную зависимость от ключа этой таблицы. В процессе приведения модели ко второй нормальной форме в основном исключаются аномалии дублирования данных.
3. Отношение задано в третьей нормальной форме, если оно задано во второй нормальной форме и каждый атрибут этого отношения, не являющийся первичным, не транзитивно зависит от каждого возможного ключа этого отношения.
Транзитивная зависимость выявляет дублирование данных в одном отношении. Если А, В и С — три атрибута одного отношения и С зависит от В, а В от А, то говорят, что С транзитивно зависит от А, как это схематично показано на рис. а. Преобразование в третью нормальную форму происходит за счет разделения исходного отношения на два, как это показано на рис. 6.
Например, если все данные о моделях автомобилей и самих поступающих автомобилях хранятся в одном отношении, то для нескольких автомобилей одной модели пришлось бы многократно указывать тип кузова, количество дверей и другие технические характеристики. В этом случае технические характеристики зависят от модели автомобиля и при наличии нескольких автомобилей одной модели будут дублироваться. Дублирование исчезает, если из одного отношения выделить отношение, в котором будут храниться данные о моделях, и отношение, в котором будут храниться данные об автомобилях.