Виды моделей данных

Архитектура БД

 

 

Схема КМД – это описание структуры модели данных с точки зрения администратора.

Схема ВМД – это описание внутренней или физической модели. Здесь хранится описание физического расположения данных на носителях. Схема хранит прямые указания на размещение данных в памяти (томах, дисках).

Схема КМД описывает структуру данных, записей и полей.

Все СУБД поддерживают три основных вида моделей данных:

1. Иерархическая модель. Она предполагает некоторую корневую запись. От корней идут ветви.

 

 

 

Не все объекты удобно описывать подобным образом. В иерархии нет связей и характерна большая избыточность информации.

2. Сетевая модель. Позволяет правильно отобразить все сложности взаимосвязей.

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

3. Реляционная модель. В основе лежит математический термин Relation – отношение, а попросту – таблица. Например, прямоугольная двухмерная.

Реляционная структура данных была разработана в конце 60-х годов рядом исследо­вателей, из которых наиболее значимый вклад внес сотрудник фирмы IBM Эдгар Кодд. При реляционном подходе данные представляются в виде двумерных таблиц – наи­более естественном для человека. В то же время, для обработки данных Кодд предло­жил использовать аппарат теории множеств – объединение, пересечение, разность, де­картово произведение.

Тип данных – это понятие имеет такой же смысл, как и в языках программирования (т.е. тип данных определяет внутреннее представление в памяти компьютера и способ хранения экземпляра данных, а также множество значений, которые может принимать экземпляр данных и множество допустимых операций над данными). Все существующие современные базы данных поддерживают специальные тины данных, предназначенные для хранения данных целого типа, дробного с плавающей точкой, сим­волов и строк, календарных дат. У многих серверов баз данных реализованы и другие типы, например, у сервера Interbase имеется специальный тип данных для хранения круп­ных массивов бинарной информации (BLOB).

Домен – это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определя­ется двумя элементами – типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр дан­ных принадлежит домену.

Отношение – это двумерная таблица особого вида, состоящая из заголовка и тела.

Заголовок – это фиксированное множество атрибутов, каждый из которых опреде­лен на каком-то домене, причем между атрибутами и определяющими доменами суще­ствует взаимно однозначное соответствие.

Каждый из ат­рибутов определен на своем домене. Домен представляет собой тип данных «це­лый», а логическое условие - n>0. Заголовок является неизменным во времени, в от­личие от тела отношения. Тело отношения – это совокупность кортежей, каждый из которых представляет собой пару «атрибут - значение».

Мощностью отношения называется число его кортежей, а степенью отношения – число атрибутов.

Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени. Мощность отношения еще называют кардинальным числом.

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

отношение – таблица;

атрибут- колонка или поле;

кортеж - запись или строка.

Таким образом, степень отношения – это число колонок в таблице, а кардинальное число - количество строк.

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

Ключ должен удовлетворять следующим требованиям:

· должен быть уникальным;

· должен быть минимальным, то есть удаление любого атрибута из ключа ведет к нарушению уникальности.

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

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

Описанные в данной главе основные понятия не относятся к какой-либо конкретной реализации базы данных, а являются общими для них всех. Таким образом, эти понятия являются основой определенной общей модели, которая называется реляционной мо­делью данных.

Основатель реляционного подхода Дейт установил, что реляционная модель состо­ит из трех частей:

· структурной;

· манипуляционной;

· целостной.

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

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

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

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

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

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

1. Стандартные операции: – пересечение, – объединение, \ – разность, X – декартово произведение.

2. Специфические: проекция, ограничение, соединение, деление.

Примеры:

a. Объединение.

ШД ШМ ЕИ НР

R1(шифр детали, шифр материала, единицы измерения, норма расхода)

R2(ШД, ШМ, ЕИ, НР)

 

 

Необходимо найти

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

b. Пересечение.

- выделение совпадающих строк.

Мрез = 1

c. Разность.

- исключение из R1 кортежей, совпадающих с R2.

d. Декартово произведение.

Здесь производится конкатенация кортежей .

 

Каждая строка одного множества конкатенирует с каждой строкой другого.

Даны два множества:

 

Декартово произведение имеет следующий вид:

 

В этом случае S-степень равна , а , т.е. получится 12 строк и 5 столбцов.