Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных (Курс лекций).doc
Скачиваний:
2
Добавлен:
04.05.2019
Размер:
724.99 Кб
Скачать

3.2. Сетевая модель данных

Сетевая модель также как и иерархическая обладает выразительными свойствами.

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

Достоинство сетевых МД: данные имеют четкую структуру.

Недостатком СМД является большое количество дополнительной информации о связи.

Пример:

3.3. Модель данных “сущность - связь”

Модель данных “сущность-связь” (ER-модель) данных является теоретическим развитием иерархических и сетевых моделей. В соответствии с ER-моделью выделяют сущности и связи между сущностями.

При анализе предметной области ER-модель нацеливает на то, что существительные играют роль сущностей, а глаголы - роль связей. Говорят, что сущность представляется в виде Е - отношения, а связи - в виде R - отношений.

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

3.4. Бинарная модель данных

Предметная область описывается с помощью совокупности бинарных отношений :

объект - атрибут - значение.

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

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

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

  1. Единственная структура данных, используемая в реляционных БД, - нормализованное n-арное отношение.

  2. Механизмами манипулирования данными являются реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка.

3. Целостность сущности и ссылок

4. Проектирование реляционных баз данных

4.1. Основные понятия

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

Тип данных

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных временных данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и "деньги".

Домен

Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена.

Домен - допустимое потенциальное множество значений данного типа.

Пример:

Д обозначим домен.

Д1- множество целых чисел;

Д2 - множество символьных строк длиной не более 6 символов;

Д3 - множество символьных строк определенной структуры

ц1 ц2 - ц3 ц4- ц5 ц6, где

ц1 {0, 1, 2, 3}

ц2 {0, 1, ..., 9}01  ц1 ц2  31

ц3 {0, 1}

ц4 {0, 1, 2} 01  ц3 ц4  12

ц5 , ц6{0, 1, ..., 9}/

Тогда мы получаем множество дат вида - 21-12-99.

Кортеж, отношение

 Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Попросту говоря, кортеж - это набор именованных значений заданного типа (строка в отношении).

 Отношение R, определенное на доменах Д1 , Д2 , ... , ДК есть множество кортежей арности К следующего вида:

R = { < d1i, d2i , ... , dKi > }, i= 1, 2, ... N таких, что

d1i  Д1 , ... , dKi  ДК и R является подмножеством декартова произведения доменов

R  Д1 х Д2 х ... х ДN .

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

Обычным представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Для описания структур данных отношения используются в двух аспектах:

- для представления набора объектов:

- для представления связей между данными.

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

Пример: Отношение “Датчик”

Имя_датчика

Параметр

Тип

Д5

P1

давление

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

Пример: Принадлежность датчика определенному коммутатору

Отметим, что каждому коммутатору принадлежит по три датчика. Следовательно можно сформировать отношение “Принадлежность”:

Имя_К

Имя_1_Дат

Имя_2_Дат

Имя_3_Дат

К1

Д1

Д2

Д3

К2

Д4

Д5

Д6

Таким образом, отношение описывает и объект и выражает связи.

 Столбцы отношений называются атрибутами и каждый атрибут выражается своим именем.

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

Для отношения r схемой отношения R является множество{A1,...,AK}, Ai - имя атрибута и r (R)  r{A1 , ... , AK}.

Для отношения можно привести следующие аналогии

- схема отношения - формат записи;

- кортеж в отношении - экземпляр записи;

- отношение - файл записей, формат которого соответствует схеме отношений.

Схема отношения, схема базы данных, реляционная база данных

 Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}. Степень или "арность" схемы отношения - мощность этого множества.

 Схема базы данных (в структурном смысле) - это набор именованных схем отношений.

Логической схемой БД будем называть совокупность схем отношений

R1 [A11 , ... , A1K]

. . .

Rm [Am1 , ... , AmK]

ЛС = {

Реляционной БД называют набор экземпляров конечных отношений, построенных в соответствии с логической схемой БД.

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