Построение реляционной схемы БД - Банки и базы данных. Системы управления базами данных

В основе реляционной модели БД лежит понятие отношения. Под отношением в этой модели понимается двумерная таблица данных. Строки таблицы называются кортежами, а столбцы - атрибутами отношения. Каждый атрибут имеет свое уникальное имя, которому соответствует заголовок столбца таблицы. Реляционной моделью данных является совокупность отношений, изменяющихся во времени. Эта совокупность отношений хранит информацию об объектах некоторой предметной области и связях между ними. Основным понятием реляционной модели является отношение (relation - отсюда и название модели), представляющее собой двумерную таблицу, содержащую некоторые данные.

Для математического определения отношения рассмотрим n множеств D1, D2, ..., DN, которые в реляционной модели называются доменами. Полным декартовым произведением будет называться набор всевозможных сочетаний из n элементов каждое, причем каждый из элементов берется из своего домена. Отношением будет называться подмножество полного декартова произведения - множество упорядоченных кортежей {d1D1, d2D2, ..., dNDN}, где элемент dI называется атрибутом отношения.

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

    1. В таблице не может быть двух одинаковых строк, что означает, что в отношении не может быть двух одинаковых значений первичного ключа. 2. Столбцы таблицы должны соответствовать атрибутам отношения, то есть имена столбцов должны быть различны, поскольку каждый атрибут в отношении имеет уникальное имя. 3. Порядок строк в таблице может быть произвольным. 4. Все строки в таблице должны иметь одинаковую структуру.

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

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

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

Связь "один-к-одному" (1:1). При данном типе связи одному кортежу главного отношения соответствует один кортеж подчиненного отношения. В этом случае фактически оба отношения являются равноправными.

Связь "один-ко-многим" (1:M). Одному кортежу основного отношения соответствует множество кортежей подчиненного отношения.

Связь "многие-к-одному" (M:1). Нескольким кортежам основного отношения соответствует единственный кортеж подчиненного.

Связь "многие-ко-многим" (M:M). Нескольким кортежам главного отношения соответствует множество кортежей подчиненного.

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

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

При проектировании реляционной модели БД необходимо контролировать целостность связей между отношениями. Для этого необходимо выполнение следующих правил:

    1. Каждому кортежу главного отношения должно соответствовать ноль или более кортежей подчиненного отношения. 2. Каждому кортежу подчиненного отношения должен всегда соответствовать единственный кортеж в главном отношении - не может быть ситуации, когда кортеж подчиненного отношения не связан ни с одним кортежем главного отношения.

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

Сбор информации об объектах реального мира, которые должны быть представлены в проектируемой БД, объединение этой информации в одной таблице и последующая декомпозиция этой информации в несколько взаимосвязанных таблиц на основе метода нормальных форм (нормализации отношений).

Метод нормальных форм является классическим методом при проектировании БД и основывается на фундаментальном понятии зависимости между атрибутами отношений.

Говорят, что один атрибут функционально зависит от другого, если каждому значению первого атрибута однозначно соответствует определенное значение второго. Частичной функциональной зависимостью называется зависимость неключевого атрибута от части составного первичного ключа. Если же неключевой атрибут зависит от всего составного первичного ключа, то такая зависимость называется полной.

Транзитивной зависимостью атрибута С от атрибута А называется такая зависимость, когда атрибут В функционально зависит от атрибута А, а атрибут С от В и при этом атрибут В не зависит от атрибута С.

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

Взаимно независимыми атрибутами отношения называются такие атрибуты, если ни один из них является функционально зависимым от других атрибутов.

Перечисленные определения позволяют дать определения нормальным формам отношений.

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

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

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

Отношение находится в нормальной форме Бойса-Кодда (НФБК), если оно находится в 3НФ и любая функциональная зависимость между ее атрибутами сводится к полной функциональной зависимости от возможного первичного ключа. Это означает, что в отношении должны отсутствовать зависимости атрибутов составного первичного ключа от неключевых атрибутов: каждый детерминант отношения должен являться возможным первичным ключом.

Для определения четвертой нормальной формы необходимо предварительно сформулировать теорему Фейджина.

Теорема Фейджина. Отношение R с атрибутами А, B и С может быть без потерь спроецировано в отношения R1 с атрибутами А и В и R2 с атрибутами А и С только в том случае, когда в исходном отношении существуют две многозначные зависимости атрибутов В и С от атрибута А.

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

Отношение находится в четвертой нормальной форме (4NF) тогда и только тогда, когда в случае существования многозначной зависимости атрибута В от атрибута А все остальные атрибуты этого отношения функционально зависят от атрибута А.

Для определения пятой нормальной формы необходимо ввести понятие зависимости проекции-соединения (project-join зависимости). Отношение R с атрибутами X, Y, ..., Z удовлетворяет зависимости соединения X, Y, ..., Z тогда, когда оно может быть восстановлено без потерь путем соединения своих проекций на X, Y, ..., Z.

Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения PJ/NF) тогда и только тогда, когда любая зависимость соединения в этом отношении следует из существования в нем некоторого возможного ключа.

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

На практике отношения обычно нормализуются до 3НФ или НФБК. Сам процесс нормализации обычно заключается в последовательном выполнении следующих действий:

    1. Удаляются частичные функциональные зависимости неключевых атрибутов от атрибутов первичного ключа; 2. Удаляются транзитивные зависимости неключевых атрибутов от атрибутов первичного ключа; 3. Удаляются зависимости атрибутов составных ключей от неключевых атрибутов.

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

Похожие статьи




Построение реляционной схемы БД - Банки и базы данных. Системы управления базами данных

Предыдущая | Следующая