Реляционная модель данных.

Характеристика модели.

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

Имя отношения
А1 А2 А3 А4 – атрибуты
А11 А12 А13 А14 – кортежи выборки
А21 А22 А23 А24  
А31 А32 А33 А34  
 

А11, А12 – это значения атрибутов.

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

Правила отображения концептуальной модели предметной области в реляционную БД.

На рисунке 5 изображена концептуальная модель. Отобразим её в реляционную.

  1. отображение сущностей в реляционные отношения, которые нормализованы
  2. отображение ассоциаций связано с использованием ссылочной целостности между таблицами. Ассоциативное отношение 1:1, 1:М, М:1 реализуются посредством помещения внешнего вторичного ключа в сущность, из которой исходит стрелка ассоциации. Этот ключ соответствует первичному ключу, на который указывает стрелка. Связи «многие ко многим» требует ведения перекрестной таблицы, в которую включается в качестве вторичных ключей первичные ключи связываемых сущностей.

  1. отображение агрегации осуществляется с помощью ассоциаций, при этом заводится отдельная таблица «часть» с вторичным ключом, связывающим её с таблицей владельцев (целое)
  2. отображение обобщения чаще всего осуществляется посредством отображения каждого подтипа в отдельную таблицу с включением в неё вторичного ключа, соответствующего первичному ключу таблицы супертипа. Пример: «клиент» (код клиента) для подтипов «организация» (ОГРН, код клиента), «ИП» (ИНН, код клиента).

Целостность реляционной модели.

Целостность объектов (отношений) – в базе не допускается, чтобы какой-либо атрибут из первичного ключа принимал неопределенные значения.

Ссылочная целостность – БД не должна содержать несогласованных значений внешних ключей (FK). Если отношение R2 имеет среди своих атрибутов какой-то внешний ключ, который соответствует первичному ключу (PK) отношения R1, то каждое значение FK должно быть равно значению РК. Пример: все коды материалов таблицы «деталь» должны присутствовать как первичные ключи в таблице материалов.