17223

ОРГАНИЗАЦИЯ СЕТЕВЫХ И ИЕРАРХИЧЕСКИХ МОДЕЛЕЙ ДАННЫХ

Лекция

Информатика, кибернетика и программирование

Лекция №2 Организация сетевых и иерархических моделей данных Практика построения БД выделяет три основных модели данных: иерархическую сетевую и реляционную. Основное отличие формирование моделей данных заключается в выборе типа отношения R и соответственно оп

Русский

2013-06-30

96.5 KB

0 чел.

Лекция №2

Организация сетевых и иерархических моделей данных

Практика построения БД выделяет три основных модели данных: иерархическую, сетевую и реляционную. Основное отличие формирование моделей данных заключается в выборе типа отношения R и соответственно операционной спецификации O. Для иерархических и сетевых моделей используется представление данных в виде упорядоченных пар или другими словами дерева (для иерархической модели) или графа (для сетевой модели).

Организация данных в моделях сетевого и иерархического типа определяется в терминах: элемент данных, запись (агрегат), групповое отношение, база данных. 

  •  Атрибут (элемент данных) - наименьшая единица структуры данных. Каждому элементу при описании БД присваивается уникальное имя.
  •  Запись - именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов.
  •  Групповое отношение - иерархическое отношение между записями двух типов. Владелец группового отношения называется исходной записью, а члены группового отношения - подчиненными.
  •  База данных – совокупность записей и групповых отношений, связанных ассоциациями (связями) различного вида.

Например.

Для описания данных используются либо структуры данных разработанные рабочими группами по языкам БД, такими как CODASYL (сетевые структуры) или IMS (иерархические структуры). На современном этапе развития языков программирования можно использовать такие структуры как записи, наследование в объектно-ориентированной технологии программирования, технология описания данных XML и др.

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

Недостатки – сложность реализации, индивидуальный подход для каждой структуры БД.

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

Устно. В конце 60-х годов появились работы, в которых обсуждались возможности применения различных табличных моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Наиболее значительной из них была статья сотрудника фирмы IBM д-ра Э.Кодда где, вероятно, впервые был применен термин "реляционная модель данных" (РМД). 

В статье автора РМД (Е.Ф.Кодд) утверждается, что "реляционная модель предоставляет средства описания данных на основе их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для машинного представления". Другими словами, представление данных в РМД не зависит от способа их физической организации. Это обеспечивается за счет использования теории множеств и отношений (само название "реляционная" происходит от английского relation - "отношение").

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

Декартово произведение: Для заданных конечных множеств (не обязательно различных) декартовым произведением называется множество произведений вида: , где

Пример: если даны два множества A={a1,a2,a3} и B={b1,b2}, их декартово произведение будет иметь вид С=AB={<a1,b1>, <a2,b1>, <a3,b1>, <a1,b2>,< a2,b2>,< a3,b2>} 

Отношение: Отношением R, определенным на множествах  называется подмножество декартова произведения ,

то есть R  D1D2Dn.

Пример: на множестве С из предыдущего примера могут быть определены отношения R1= {<a1,b1>,<a3,b2>} или R2 = {<a1,b1>, <a2,b1>, <a1,b2>).

Множества  называются доменами. Домен это множество однотипных семантически однозначных (одинаковых по смыслу) значений элемента данных.

Элементы декартова произведения называются кортежами, число n определяет степень отношения (n=1 - унарное, n=2 - бинарное, ..., n-арное), количество кортежей определяет мощностью отношения.

Пусть a = {a1,…,an} – множество имен доменов, тогда если задать отображение вида

dom : ai  Di,

то пары Ai = <ai, dom ai> называют атрибутами отношения, где dom ai – сокращенная запись dom : a  D.

Схемой отношения R будем называть выражение (A1,…An) в котором все атрибуты Ai различны. При этом экземпляр отношения определяется, как подмножество декартова произведения доменов

ri  dom ai  dom an

Отношений ri со схемой Ri будем обозначать как Ri(ri) (для простоты обозначений в дальнейшем отношений будем обозначать Ri). Отмети, что перестановка атрибутов в схеме не порождает нового состояния БД. Таким образом, множество атрибутов {A1,…,An} задает тип отношения и определяет его свойства.

Схему БД будем обозначать как множество схем отношений

U = {R1,…, Rn}

где Ri  R и все Ri различны. Соответственно экземпляр БД будем обозначать множество экземпляров отношений U(r1,…,rn).

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

Объекты определённого типа обладают вполне определённым набором свойств (задаётся схемой отношения), а свойства имеют вполне определённые наборы возможных значений (задаётся отображением dom).

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

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

Ключи отношений

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

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

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

  1.  Свойством уникальности - в отношении не может быть двух различных кортежей, с одинаковым значением .
  2.  Свойством неизбыточности (минимальности) - никакое подмножество в  не обладает свойством уникальности.

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

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

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

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

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

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

Табельный номер

Фамилия

Зарплата

1

Иванов

1000

2

Петров

2000

3

Сидоров

3000

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

Попробуем представить это отношение в другом виде, изменив наименования атрибутов:

A

B

C

1

Иванов

1000

2

Петров

2000

3

Сидоров

3000

Очевидно, что невозможно судить, не понимая смысла данных, может или не может в этом отношении появиться, например, кортеж (1, Петров, 3000). Если бы, такой кортеж появился (что, на первый взгляд, вполне возможно, т.к. не нарушается уникальность кортежей), то мы точно смогли бы сказать, что не является альтернативным ключом - ни один из атрибутов по отдельности.

Целостность данных

Требование целостности отношений заключается в следующем:

каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).

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

Поддержка целостности отношений обеспечивается средствами СУБД.

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

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

Требование ссылочной целостности заключается в следующем:

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

Дадим точное определение.

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

  1.  Существует отношение ( и не обязательно различны) с потенциальным ключом .
  2.  Каждое значение в отношении  всегда совпадает со значением для некоторого кортежа из , либо является null-значением.

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

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

Если внешний ключ все-таки обладает свойством уникальности, то связь между отношениями имеет тип "один-к-одному". Чаще всего такие отношения объединяются в одно отношение.

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

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

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

Контроль за правильностью заполнения значений внешнего ключа возлагается на СУБД.


 

А также другие работы, которые могут Вас заинтересовать

14997. Информация және информатика 79 KB
  Информация және информатика 1.1. Информация Біз бәріміз бала кезімізден бастап информация алмасу процесіне қатысамыз. Кітап газет және журнал оқығанда радио тыңдап теледидар көргенде мұғаліммен атааналармен достарымызбен әңгімелескенде әртүрлі информаци...
14998. Ахмет Байтұрсынұлының шығармалары 55.5 KB
  Ахмет Байтұрсынұлының шығармалары Қалайда халықты ояту оның санасына жүрегіне сезіміне әсер ету жолдарын іздеген ақын айналып келгенде ұлы Абай тапқан соқпақ орыс әдебиеті үлгілерін пайдалану аударма жасау дәстүріне мойынсынады. Бұрынғы ескіертегі химия үлгіл...
14999. Абай жолы романындағы тарихи шындық эволюциясы 57.5 KB
  УДК 63.3 АБАЙ ЖОЛЫ РОМАНЫНДАҒЫ ТАРИХИ ШЫНДЫҚ ЭВОЛЮЦИЯСЫ Н.Қ.Сманова Б.Д.Тажикова Керімбай атындағы №12 орта мектептреусрстық орталығы Тараз қ. Абай эпопеясы творчестваның Тылсым сырына өмір мен өлеңнің өза...
15000. Абай Құнанбаевтың Евгений Онегиннен аудармасы 75 KB
  Абайдың романы Онегин мен Әбдірахман бейнелерінің ұқсастықтары екеуінің ұқсамайтын тұстарынан әлдеқайда басым. Тек Онегиннің ішінің қалтарысы көптеу. Эпистолярлық романда Татьянаның Шығыс әулетіне туыстас қасиеті басым. €œДосың ақпын €œтағдыр араз€ бәрін €
15001. Абай шығармаларындағы нәзирагөйлік дәстүрдің зерттелу жайы 71 KB
  УДК 828.215.121.22 АБАЙ ШЫҒАРМАЛАРЫНДАҒЫ НАЗИРАГӨЙЛІК ДӘСТҮРДІҢ ЗЕРТТЕЛУ ЖАЙЫ Зкирова Бағылан 10 бсынып оқушысы Ы.Алтынсарин атындағы дарынды балаларға арналған облыстық мамандандырылған қазақ гимназияинтернаты Павлодар қаласы Әлемдік әдебиеттердің ө
15002. Абайдың әдеби ортасы және ақындық мектебі 320.5 KB
  Әр қаламгерді оның әдеби ортасынан жеке-дара алып қарау, тану біржақты болмақ. Ақын, немесе жазушы өз ортасында өсіп, содан сусындап, шыңдалып қана қоймай
15003. Абайша сүйіп, Абайша күйіп жүрміз бе 135 KB
  АБАЙША СҮЙІП АБАЙША КҮЙІП ЖҮРМІЗ БЕ Атады таң батады күн толады ай. Ауысады күнде саба толағай. Бірі барда бірі болмай жоқты аңсап Неге пенде болды сонша қомағай Нәпсі сол ғой ныспы адам болғасын Тәркі өмір талқы тартыс додадай. Ақын ақын болмас еді а
15004. Азаттық жырының ақтаңгері (Дулат Бабатайұлы шығармашылығы) 50.5 KB
  Серікзат Дүйсенғазин Л.Н.Гумилев атындағы Еуразия ұлттық университетінің доценті филология ғылымдарының кандидаты АЗАТТЫҚ ЖЫРЫНЫҢ АҚТАҢГЕРІ Дулат Бабатайұлы шығармашылығындағы дәстүр мен жаңашылдық хақында Қазақтың ұлттық Ренессансының басы Аб...
15005. Айқап журналындағы оқу-тәрбие мәселелері 43 KB
  Айқап журналындағы оқутәрбие туралы ойларды зерделеу. XX ғасырдың бас кезінде яғни 1911 жылдың қаңтарынан бастап 1915 жылдың қыркүйек айына дейін Тройцкі қаласындағы Энергия баспахансында қазақ тілінде үзбей шығып тұрған Айқап журналы халқымыздың әлеуметтік с...