Структуры данных реляционной модели
Таблица является основным типом структуры данных (объектом) реляционной модели. Структура таблицы определяется совокупностью столбцов. В каждой строке таблицы содержится по одному значению в соответствующем столбце. В таблице не может быть двух одинаковых строк. Общее число строк не ограничено. Столбец соответствует некоторому элементу данных – атрибуту, который является простейшей структурой данных. В таблице не могут быть определены множественные элементы, группа или повторяющаяся группа, как в рассмотренных выше сетевых и иерархических моделях. Каждый столбец таблицы должен иметь имя соответствующего элемента данных (атрибута). Один или несколько атрибутов, значения которых однозначно идентифицируют строку таблицы, является ключом таблицы.
В реляционном подходе к построению баз данных используется терминология теории отношений. Простейшая двумерная таблица определяется как отношение. Столбец таблицы со значениями соответствующего атрибута называется доменом, а строки со значениями разных атрибутов – кортежем.
Определения и основные понятия. Реляционная таблица-отношение. На рис. 3.4 приведена иллюстрация реляционной таблицы-отношения R. Формальное определение отношения R(реляционной таблицы) опирается на представление о ее доменах Di (столбцах) и кортежах Kj (строках).
Отношением R, определенным на множествах доменов {Dj}, называется подмножество декартова (прямого) произведения доменов D1*D2*…Dn.
Таблица-отношение (рис. 4.5) содержит столбцы с именами элементов данных – атрибутов (А1, А2, …). Значения атрибутов d находятся в содержательной части таблицы и образуют строки и столбцы. Множество значений атрибутов в одном столбце образует один домен Di. Множество значений атрибутов в одной строке образуют один кортеж Kj. Отношение R образуется множеством упорядоченных кортежей
R = {Kj}, j = 1 – m Kj = {d1j, d2j, … ,dnj},
n – число доменов отношения, определяет размерность отношения;
j – номер кортежа;
m – общее число кортежей в отношении, называемое координатным числом отношения.
Ключ таблицы-отношения. Кортежи не должны повторяться внутри таблицы-отношения и, соответственно, они должны иметь уникальный идентификатор – первичный ключ.
Первичный ключ называется простым, когда он состоит из нескольких атрибутов. Кроме первичного ключа, в отношении могут существовать и вторичные ключи.
Вторичный ключ – это такой ключ, значения которого могут повторяться в разных строках-кортежах. По ним может отыскиваться группа строк с одинаковым значением вторичного ключа.
Нормализованные таблицы-отношения. Важным требованием, предъявляемым к отношениям (таблицам) реляционной модели, является нормализация данных, представленных таблицей. Первично нормализованная таблица содержит строки, в которых для каждого атрибута может быть только одно значение. Это соответствует ранее упомянутому требованию недопустимости множественных и повторяющихся структур данных.
Нормализованной таблице обычно соответствует одна или несколько нормализованных таблиц-отношений.
Таблица 3.2
Пример ненормализованной таблицы
№ договора | Код заказчика | Код изделия | Количество |
D1 ZX D2 ZY D3 XX | I1 I2 I1 I5 I2 I8 I9 | K11 K12 K21 K25 K32 K38 K39 |
Ненормализованной таблице, приведенной в табл. 3.2, будут соответствовать два нормализованных отношения R11 и R12. Результат нормализации таблицы DOGOVOR представлен в табл. 3.3 и 3.4.
Таблица 3.3
Нормализованное отношение R11 «Договора»
№ договора | Код заказчика |
D1 D2 D3 | ZX ZY ZZ |
Таблица 3.4
Отношение R12 «Планы поставок по договорам»
№ договора | Код изделия | Количество |
D1 D1 D2 D2 D2 D2 D2 | I1 I2 I1 I5 I2 I8 I9 | K11 K12 K21 K25 K28 K28 K29 |
Существует несколько нормальных форм реляционной модели, которые вводят ограничения и позволяют минимизировать дублирование данных, обеспечить целостность и однократность ввода данных. При первой нормальной форме все атрибуты отношения являются простыми и каждый неключевой атрибут функционально полно зависит от ключа.
Полная функциональная зависимость означает, что ключ однозначно определяет неключевой атрибут, то есть одному значению ключа соответствует только одно значение неключевого атрибута. Если ключ составной, то подобная зависимость должна выполняться на уровне всего ключа, а не какой-либо его части.
При третьей нормальной форме все атрибуты отношения являются простыми, и каждый неключевой атрибут функционально полно зависит от ключа, причем, каждый неключевой атрибут нетранзитивно зависит от ключа.
Дата добавления: 2021-01-26; просмотров: 311;