СТРУКТУРА РЕЛЯЦИОННЫХ ДАННЫХ

МОДЕЛИ ДАННЫХ

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

аспект структуры (методы описания типов и логических структур данных),

аспект манипуляции (операции манипулирования данными),

аспект целостности (методы описания и поддержки целостности базы данных).

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

Модели данных, которые поддерживают СУБД, делят: на иерархические, сетевые, реляционные, постреляционные, многомерные и объектно-ориентированные. Каждая СУБД поддерживает одну, но иногда и одновременно несколько моделей данных. Для ранних СУБД были характерны сетевая модель и ее частный случай – иерархическая модель. Сетевые СУБД используют модель представления данных в виде произвольного графа, а иерархические – в виде древовидной структуры. Большинство СУБД, представленные сейчас на рынке, являются СУБД реляционного или объектно-реляционного типа. Однако в связи с ограниченностью реляционной модели и невозможностью ее использования во всех областях деятельности человека применяют и постреляционные СУБД

 

В начало


 

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ

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

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

К основным операциям манипулирования иерархически организованными данными относятся:

• поиск указанного экземпляра;

• переход от одного дерева к другому;

• переход от одной записи к другой внутри дерева;

• вставка новой записи в указанную позицию;

• удаление текущей записи и т.д.

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

К достоинствам иерархической модели данных относятся эффективное использование памяти компьютера и неплохие показатели времени выполнения основных операций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией. Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя. На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы “Ока”, “ИНЭС” и “МИРИС”.

 

В начало


 

СЕТЕВАЯ МОДЕЛЬ

Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных . Наиболее полно концепция сетевых БД впервые была изложена в предложениях группы “КОДАСИЛ” (СODASYL). Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных запись-потомок может иметь произвольное число записей-предков (сводных родителей).

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

• поиск записи в БД;

• переход от предка к первому потомку;

• переход от потомка к предку;

• создание новой записи;

• удаление текущей записи;

• обновление текущей записи;

• включение записи в связь;

• исключение записи из связи;

• изменение связей и т.д.

Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей. Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполнения обработки информации в БД обычным пользователем. Кроме того, в сетевой модели данных ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями. Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются IDMS, db Vistalll, “СЕТЬ”, “СЕТОР” и “КОМПАС”.

РЕЛЯЦИОННАЯ МОДЕЛЬ

Реляционная модель данных (от английского relation— отношение) базируется на математическом аппарате теории множеств и математической логики. Это чрезвычайно мощная и, в отличие от рассмотренных ранее моделей, повсеместно применяемая на практике модель данных. Эта модель, где база данных представлена набором n-арных отношений, была предложена Коддом в 1970 г. и за разработку этой модели автор был удостоен премии Тьюринга. Напомним основные понятия и определения, которыми мы будем оперировать в дальнейшем.

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

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

В начало


 

СТРУКТУРА РЕЛЯЦИОННЫХ ДАННЫХ

 

Концепция реляционной модели (Relation Data Model) была предложена в 70-е гг. XX в. сотрудником фирмы IBM Эдгаром Коддом. В ее основе лежит понятие отношения (relation). Отношение представляется в виде двумерной таблицы при соблюдении определенных ограничивающих условий. Такой набор таблиц, как показал Кода, может быть использован для хранения сведений об объектах реального мира и моделирования связей между ними. В дальнейшем будем использовать слова “отношение” и “таблица” как синонимы. Каждая таблица (отношение) имеет имя и состоит из множества строк и столбцов. Столбцы также имеют имена. Имена столбцов – это атрибуты отношения. Список атрибутов отношения называют схемой отношения. Например, схема отношения Студент имеет вид: Студент (ФИО, Дата рождения, Курс, Специальность), а само отношение в определенный момент времени может иметь вид, показанный в табл. 1.

 

Таблица 1

Отношение Студент

ФИО Дата рождения Курс Специальность
Жук Ф.А. 01.09.95 ИСИТ
Лис П.П. 09.12.96 ПОИТ
Заяц С.С. 07.10.97 ИСИТ
Соловей С.С. 07.10.95 ПОИТ

 

Физическое размещение данных в реляционных базах на внешних носителях легко осуществляется с помощью обычных файлов. Достоинство реляционной модели данных заключается в простоте, понятности и удобстве физической реализации. Наиболее известны реляционные СУБД Paradox и Dbasefor Windows, Visual FoxPro, Access, Clarion, Oracle.

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

 

В начало

 


 

6 ОТНОШЕНИЯ : ОПРЕДЕЛЕНИЕ, СВОЙСТВА

Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.

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

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

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

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

3) однозначные и многозначные. Атрибуты могут иметь соответственно одно или много значений для каждого экземпляра сущности;

4) основные и производные. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов (например, возраст человека вычисляется на основе даты его рождения и текущей даты).

Спецификация атрибута состоит из его названия, указания типа данных и описания ограничений целостности – множества значений (или домена), которые может принимать данный атрибут.

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

Схема отношения (заголовок отношения) представляет собой список имен атрибутов с указанием имен доменов.

Кортеж, соответствующий данной схеме отношения, представляет собой множество пар (имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута. Аргумент “значение” является допустимым значением домена данного атрибута.

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

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

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

 

В начало