Основные понятия реляционной модели данных

Логическая структура данных

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

Различают два понятия: тип объекта и экземпляр объекта.

Любой объект описывается следующей триадой:

<Имя объекта, Свойства объекта, Значения свойств>

Тип объекта характеризуется первыми двумя компонентами триады. Для свойств устанавливаются имена. Например, имя объекта - СТУДЕНТ, свойства объекта: ФИО, ГРУППА, СРЕДНИЙ БАЛЛ и т.п.

В теории БД понятие "тип объекта" часто заменяют понятием "СУЩНОСТЬ". Следует помнить, что эти понятия относятся к предметной области.

В СУБД понятию "тип объекта" соответствует "тип записи", при этом имя объекта часто рассматривается как имя записи. Свойства объекта являются полями записи, каждое поле имеет имя соответствующего свойства.

Конкретные значения свойств определяют конкретный экземпляр объекта данного типа. Например: ФИО - Иванов И.И., ГРУППА - 037, СРЕДНИЙ БАЛЛ - 4,5.

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

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

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

Реляционная модель была предложена американским математиком Е. Коддом в 1970 г. Это единственная из моделей БД, основанная на специальном разделе математики - теории отношений. Математическая обоснованность позволила сформулировать, достаточно строгие правила построения модели, обеспечивающие ее работоспособность. Языки данных, основанные на математическом аппарате теории отношений, позволяют составлять любые запросы к БД и выполнять разнообразные операции манипулирования данными.

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

Проиллюстрируем вышесказанное небольшим примером.

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

В предметной области можно выделить два объекта: ПОСТАВЩИК и ИЗДЕЛИЕ. Каждый из объектов характеризуется рядом вполне определенных свойств. Анализ возможных запросов к БД и задач обработки данных позволяет установить, какие именно сведения о каждом из объектов следует хранить в БД.

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

ПОСТАВЩИК (П#, Имя поставщика, Город)

ИЗДЕЛИЕ (И#, Наименование, Вес)

Каждому поставщику и каждому изделию присвоим свой уникальный номер. Символами П# и И# обозначены номера поставщиков и номера изделий.

Таким образом, нами определены два типа объектов предметной области.

Установим тип связей, существующих между объектами.

Известно, что каждый поставщик поставляет несколько изделий, а каждое изделие, в сою очередь, поставляется различными поставщиками. Следовательно, между этими объектами существует логическая связь типа М:М. Каждой из связей можно поставить в соответствие определенное значение, например, определить количество поставляемых изделий.

М

ПОСТАВЩИК ИЗДЕЛИЕ.

М

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

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

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

Создадим связующую таблицу

ПОСТАВКИ (П#, И#, Количество).

Эту таблицу можно рассматривать как третий объект предметной области.

Между таблицами ПОСТАВЩИК и ПОСТАВКИ связь 1:М устанавливается по столбцу П#. Это значит, что каждой строке таблицы ПОСТАВЩИК (с определенным номером поставщика) соответствует несколько строк таблицы ПОСТАВКИ (это строки с тем же номером поставщика). Между таблицами ИЗДЕЛИЕ и ПОСТАВКИ также устанавливается связь1:М по столбцу И#. Таблицы ПОСТАВЩИК и ИЗДЕЛИЕ связываются отношение М:М через таблицу ПОСТАВКИ.

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

ПОСТАВЩИК ИЗДЕЛИЕ

П#. Имя поставщ. Город   И# Наименование Вес
П1 Восход Тула И1 Болт  
П2 Заря Самара И2 Гайка  
П3 Салют Тула И3 Гвоздь  
  И4 Винт  

ПОСТАВКИ

П# И# Количество
П1 И1  
П1 И2  
П1 И3  
П2 И1  
П2 И2  
П3 И4  

Таблицы реляционной модели строятся по определенным правилам. Некоторые из них таковы:

- в таблице не должно быть столбцов с одинаковыми именами;

- в каждом столбце содержатся данные одного и того же типа и одинакового смысла;

- в таблицах не должно быть повторяющихся строк;

Ряд других очень важных правил рассматривается ниже.

При соблюдении всех правил построения таблиц каждую из них можно рассматривать как математическое отношение (relation).В этом случае над таблицами можно выполнять математические операции реляционной алгебры и теории множеств. Именно эти операции положены в основу ЯМД реляционных СУБД.

Для реляционной модели используются термины, принятые в теории отношений.

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

Рассмотренная модель содержит три тернарных отношения (три таблицы с тремя столбцами).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: