Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборка_ответы.docx
Скачиваний:
19
Добавлен:
28.09.2019
Размер:
990.13 Кб
Скачать

2) Вторая нормальная форма.

Отношение находится во второй нормальной форме (2НФ), если оно находится в первой нормальной форме, и при этом любой его неключевой атрибут функционально полно зависит от ключа. Таким образом, во 2НФ нет неключевых атрибутов, зависящих от части составного потенциального ключа.

Пример:

Отношение ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР,  ЦЕНА).

Поставщик может поставлять различные товары, а один и тот же товар может поставляться разными поставщиками. Тогда ключ отношения – <N_ПОСТАВЩИКА, ТОВАР>. Пусть все поставщики поставляют товар по одной и той же цене. Тогда имеем следующие функциональные зависимости:

<N_ПОСТАВЩИКА, ТОВАР>  ЦЕНА

ТОВАР  ЦЕНА

Неполная функциональная зависимость атрибута "цена" от ключа приводит к следующей аномалии: при изменении цены товара необходим полный просмотр отношения для того, чтобы изменить все записи о его поставщиках. Данная аномалия является следствием того факта, что в одной структуре данных объединены два семантических факта.

Следующее разложение дает отношения во 2НФ:

ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР)

ЦЕНА_ТОВАРА (ТОВАР, ЦЕНА)

3) Третья нормальная форма.

Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и в нем отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: {A} → {B} и {B} → {C}, где {A} — потенциальный ключ, {B} и {С} — различные множества неключевых атрибутов. Таким образом, отношение в 3НФ содержит только такие неключевые атрибуты, которые находятся в прямой зависимости от ключевых атрибутов.

Пример:

Отношение (ГРУППА, СЕЦИАЛЬНОСТЬ, ФАКУЛЬТЕТ)

ГРУППАСПЕЦИАЛЬНОСТЬ

СЕЦИАЛЬНОСТЬФАКУЛЬТЕТ

После нормализации:

(ГРУППА, СПЕЦИАЛЬНОСТЬ),

(СПЕЦИАЛЬНОСТЬ, ФАКУЛЬТЕТ).

На практике приведение отношения к 3НФ оказывается достаточным и процесс нормализации на этом заканчивается. Избыточная нормализация может существенно усложнить запросы к базе данных и ее структуру, тем самым понизить ее эффективность.

    1. Физическая организация данных.

Физические модели баз данных определяют способы размещения данных в среде хранения и способы доступа к этим данным, которые поддерживаются на физическом уровне.

В каждой СУБД по-разному организованы хранение и доступ к данным, однако существуют некоторые файловые структуры, которые имеют общепринятые способы организации и широко применяются практически во всех СУБД.

В системах баз данных файлы и файловые структуры, которые используются для хранения информации во внешней памяти, можно классифицировать следующим образом:

Файлы с прямым доступом обеспечивают наиболее быстрый способ доступа. Мы не всегда можем хранить информацию в виде файлов прямого доступа, но главное – это то, что доступ по номеру записи в базах данных весьма неэффективен. Чаще всего в базах данных необходим поиск по первичному или возможному ключам, иногда необходима выборка по внешним ключам, но во всех этих случаях мы знаем значение ключа, но не знаем номера записи, который соответствует этому ключу.

В подобных случаях применяют различные методы хэширования и создают специальные хэш- функции. Несмотря на высокую эффективность хэш-адресации, в файловых структурах далеко не всегда удается найти соответствующую функцию, с помощью которой можно было бы полностью избежать коллизий, поэтому при организации доступа по первичному ключу широко используются индексные файлы.

Индексные фaйлы можно представить как файлы, состоящие из двух частей: индексной области и области данных файла (записи БД). В зависимости от организации индексной и основной областей различают 2 типа файлов: с плотным индексом и с неплотным индексом.

В файлах с плотным индексом основная область содержит последовательность записей одинаковой длины, расположенных в произвольном порядке, а индексная запись состоит из значения ключа и номера записи:

Здесь значение ключа - это значение первичного ключа, а номер записи - это порядковый номер записи в основной области, которая имеет данное значение первичного ключа.

Неплотный индекс строится именно для упорядоченных файлов. Для этих файлов используется принцип внутреннего упорядочения для уменьшения количества хранимых индексов. Структура записи индекса для таких файлов состоит из значения ключа первой записи блока и номера блока с этой записью.

В индексной области мы теперь ищем нужный блок по заданному значению первичного ключа. Так как все записи упорядочены, то значение первой записи блока позволяет нам быстро определить, в каком блоке находится искомая запись. Все остальные действия происходят в основной области.

Для обеспечения быстрого доступа к данным на запоминающих устройствах в современных БД используются древовидные структуры данных, хранящиеся во внешней памяти, такие, как B-деревья.

Построение В-деревьев связано с простой идеей построения индекса над уже построенным индексом. В общем случае получим некоторое дерево, каждый родительский блок которого связан с одинаковым количеством подчиненных блоков, число которых равно числу индексных записей, размещаемых в одном блоке. Количество обращений к диску при этом для поиска любой записи одинаково и равно количеству уровней в построенном дереве. Такие деревья называются сбалансированными (balanсed) именно потому, что путь от корня до любого листа в этом древе одинаков.