Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 16.5.2024

2. ОСНОВНЫЕ МОДЕЛИ ДАННЫХ

2.1. Понятие модели данных

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

Модель данных – это комбинация трех составляющих:

1. Набора типов структур данных.

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

3. Набора общих правил целостности, которые прямо или косвенно определяют множество непротиворечивых состояний БД и/или множество изменений её состояния.

2.1.1. Типы структур данных

Структуризация данных базируется на использовании концепций "агрегации" и "обобщения". Первый вариант структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference on Data Systems Languages, CODASYL) (рис.2.1).

Рис.2.1. Композиция структур данных по версии CODASYL

Элемент данных – наименьшая поименованная единица данных, к которой СУБД может обращаться непосредственно и с помощью которой выполняется построение всех остальных структур. Для каждого элемента данных должен быть определён его тип.

Агрегат данных – поименованная совокупность элементов данных внутри записи, которую можно рассматривать как единое целое. Агрегат может быть простым (включающим только элементы данных, рис.2.2,а) и составным (включающим наряду с элементами данных и другие агрегаты, рис.2.2,б).

Рис.2.2. Примеры агрегатов: а) простой и б) составной агрегат

Запись – поименованная совокупность элементов данных или элементов данных и агрегатов. Запись – это агрегат, не входящий в состав никакого другого агрегата; она может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Различают тип записи (её структуру) и экземпляр записи, т.е. запись с конкретными значениями элементов данных. Одна запись описывает свойства одного объекта ПО (экземпляра).

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

Иногда термин "запись" заменяют термином "группа".

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

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

Рис. 2.3. Пример диаграммы Бахмана для фрагмента БД "Город"

Здесь запись типа ПОЛИКЛИНИКА является владельцем записей типа ЖИТЕЛЬ и они связаны групповым отношением диспансеризация. Запись типа ОРГАНИЗАЦИЯ также является владельцем записей типа ЖИТЕЛЬ и они связаны групповым отношением работают. Записи типа РЭУ и типа ЖИТЕЛЬ являются владельцами записей типа КВАРТИРА с отношениями соответственно обслуживают и проживают. Таким образом, запись одного и того же типа может быть членом одного отношения и владельцем другого.

База данных – поименованная совокупность экземпляров групп и групповых отношений.

2.1.2. Операции над данными

Модель данных определяет множество действий, которые допустимо производить над некоторой реализацией БД для её перевода из одного состояния в другое. Это множество соотносят с языком манипулирования данными (Data Manipulation Language, DML).

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

По типу производимых действий различают следующие операции:

  •  идентификация данных и нахождение их позиции в БД;
  •  выборка (чтение) данных из БД;
  •  включение (запись) данных в БД;
  •  удаление данных из БД;
  •  модификация (изменение) данных БД.

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

2.1.3. Ограничения целостности

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

Неявные ограничения определяются самой структурой данных. Например, тот факт, что записи типа СОТРУДНИК являются обязательными членами какого-либо экземпляра набора данных ПОДРАЗДЕЛЕНИЕ, служит, по существу, ограничением целостности, означающим, что каждый сотрудник организации непременно должен быть в штате некоторого подразделения.

Явные ограничения задаются в схеме базы данных с помощью средств языка описания данных (DDL, Data Definition Language). В качестве явных ограничений чаще всего выступают условия, накладываемые на значения данных. Например, заработная плата не может быть отрицательной, а дата приема сотрудника на работу обязательно будет меньше, чем дата его перевода на другую работу. За выполнением этих ограничений следит СУБД в процессе своего функционирования.

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

В настоящее время разработано много различных моделей данных. Основные – это сетевая, иерархическая и реляционная модели.

2.2. Сетевая модель данных (СМД)

Сетевая модель позволяет организовывать БД, структура которых представляется графом общего вида (пример СМД – на рис. 2.3). Организация данных в сетевой модели соответствует структуризации данных по версии CODASYL. Каждая вершина графа хранит экземпляры сущностей (записи) и сведения о групповых отношениях с сущностями других типов. Каждая запись может хранить произвольное количество значений атрибутов (элементов данных и агрегатов), соответствующих экземпляру сущности.

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

1. Способ упорядочения подчинённых записей.

Поддерживаются три способа упорядочения:

  •  Очередь – добавление в конец списка (FIFO – first input, first output).
  •  Стек – добавление в начало списка (LIFO – last input, first output).
  •  Сортировка по значению ключа. В этом случае задаётся ключевое поле (поля), и вновь поступившая запись добавляется в упорядоченный список в соответствии со значением этого поля (значением ключа).

2. Режим включения подчинённых записей.

Режим включения бывает автоматический и ручной.

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

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

3. Режим исключения подчинённых записей.

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

В СМД применяются следующие операции над данными:

  •  запомнить: внесение информации в БД;
  •  включить в групповое отношение: установление связей между данными;
  •  переключить: переход члена набора к другому владельцу;
  •  обновить: модификация данных;
  •  извлечь: чтение данных;
  •  удалить: физическое или логическое удаление данных;
  •  исключить из группового отношения: разрыв связей между данными.

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

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

  •  от текущего экземпляра записи определённого типа к другим экземплярам записи этого же типа;
  •  из текущей вершины в любую вершину, с которой текущая связана групповым отношением.

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

2.3. Иерархическая модель данных (ИМД)

Иерархическая модель позволяет строить БД с иерархической древовидной структурой. Структура ИМД описывается в терминах, аналогичных терминам сетевой модели данных.

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

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

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

В иерархических моделях данных используется ориентация древовидной структуры от корня к листьям. Графическая диаграмма схемы базы данных называется деревом определения. Пример иерархической базы данных приведён на рис.2.4.

Рис.2.4. Пример иерархической базы данных

Каждая некорневая вершина связана с родительской записью иерархическим групповым отношением. Каждая вершина дерева соответствует сущности ПО, которая характеризуется произвольным количеством атрибутов, связанных с ней отношением 1:1. Атрибуты, связанные с сущностью отношением 1:n, образуют отдельную сущность и переносятся на следующий уровень иерархии. Тип вершины определяется типом сущности и набором её атрибутов. Каждая вершина дерева хранит экземпляры сущностей – записи. Следствием внутренних ограничений иерархической модели является то, что каждому экземпляру зависимой группы в БД соответствует уникальное множество экземпляров родительских групп – по одному экземпляру каждого типа вершин вышестоящих уровней.

В ИМД также предусмотрены специальные способы навигации. Передвижение по дереву всегда начинается с корневой вершины, от которой можно прейти на конкретный экземпляр записи любой вершины следующего уровня. Эта вершина становится текущей вершиной, а экземпляр – текущим экземпляром (записью). От этой записи можно перейти к другой записи данной вершины, к экземпляру записи родительской вершины или к экземпляру записи подчиненной вершины.

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

Связи между записями в ИМД обычно выполнены в виде ссылок (т.е. хранятся адреса связанных записей). Подробнее об этом рассказано в разделе 5.5."Организация связей между хранимыми записями".

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

Если данные имеют естественную древовидную структуризацию, то использование иерархической модели данных не вызывает проблем. Но на практике часто требуется реализовать структуры данных, отличные от иерархической. Для решения этих задач конкретные СУБД, основанные на ИМД, включают дополнительные средства, облегчающие представление произвольно организованных данных.

2.4. Реляционная модель данных (РМД)

2.4.1. Понятие отношения

Реляционная модель данных была предложена математиком Э.Ф. Коддом (Codd E.F.) в 1970 г. РМД является наиболее широко распространенной моделью данных и единственной из трех основных моделей данных, для которой разработан теоретический базис с использованием теории множеств.

В основе РМД лежит понятие отношения, представляющего собой подмножество декартова произведения доменов. Домен – это множество значений, которое может принимать элемент (например, множество целых чисел, множество комбинаций символов длиной N и т.п.).

Пусть D1, D,…, Dk – произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:

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

Пример. Для доменов D1 = (1,2), D2 = (A,B,C) декартово произведение D будет таким:

D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.

Подмножество декартова произведения доменов называется отношением.

Элементы отношения называют кортежами. Элементы кортежа принято называть атрибутами. Количество атрибутов кортежа определяет арность отношения. Отношения арности 1 называют унарными, арности 2 – бинарными, арности n – n-арными.

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

2.4.2. Свойства отношений

Отношение обладает двумя основными свойствами:

1. в отношении не должно быть одинаковых кортежей, т.к. это множество;

2. порядок кортежей в отношении несущественен.

Отношение удобно представлять как таблицу, где строка является кортежем, столбец соответствует домену (рис. 2.5, отношение СТУДЕНТЫ).

Группа

ФИО студента

Номер зачётной книжки

Год рождения

Стипендия

С–72

Волкова Елена Павловна

С-12298

1981

566.40

С–91

Белов Сергей Юрьевич

С-12299

1980

400.00

. . .

С–72

Фролов Юрий Вадимович

С-14407

1981

0

домен 1 . . . . . . . . домен 2 . . . . . . .. . . . . .домен 3 (ключ) .. .. . . . .домен 4 . . . . . . . .домен 5

Рис.2.5. Пример табличной формы представления отношения

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

Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефона). Домен задаётся типом данных и ограничениями целостности, например, оклад – это число больше нуля. Значение атрибута может быть не определено в момент внесения записи в БД. Для таких случаев предусмотрено специальное значение – null, которое можно интерпретировать как "неизвестное значение".

Ключ отношения – это атрибут, значения которого идентифицируют кортеж. Таким образом, ключ имеет уникальные в рамках отношения значения. (На рис. 2.5 ключ выделен полужирным шрифтом). Если ключ состоит из нескольких атрибутов, он называется составным. Ключей может быть несколько; основной ключ – первичный, его значения не могут обновляться. Другие ключи называются возможными или потенциальными ключами.

РМД не поддерживает групповые отношения. Для связей между отношениями используются внешние ключи. Внешний ключ – это атрибут подчиненного отношения, который является копией первичного (или уникального) ключа родительского отношения. (Пример – отношение ДЕТИ, связанное с отношением СТУДЕНТЫ по внешнему ключу Номер зачётной книжки, рис. 2.6). Фактически, внешние ключи логически связывают экземпляры сущностей разных типов между собой. Т.о., внешний ключ можно трактовать как ограничение целостности на две таблицы, в соответствии с которым множество значений внешнего ключа является подмножеством значений ключа родительской таблицы. Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).

Номер зачётной книжки

Имя, отчество ребенка

Дата рождения

С-12298

Антон Павлович

01.12.01

С-12298

Юлия Павловна

01.12.01

С-12299

Ольга Сергеевна

16.04.02

Рис.2.6. Связь отношений "Студенты" и "Дети" по внешнему ключу

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

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

  •  запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа);
  •  обновить: модификация данных – изменение значений отдельных атрибутов кортежей;
  •  извлечь: чтение данных;
  •  удалить: физическое или логическое удаление данных (кортежа или группы кортежей).

Структуризация данных в РМД существенно отличается от структуризации данных по версии CODASYL. В таблице 2.1. приведено соответствие этих двух вариантов структуризации.

Таблица 2.1. Сравнение структуризации данных в РМД и по версии CODASYL

Термины версии CODASYL

Термины (и синонимы) РМД

Элемент данных

Атрибут (поле)

Агрегат

-

Запись (группа)

Кортеж (запись, строка)

Совокупность записей одного типа

Отношение (таблица)

Набор (групповое отношение)

-

База данных

База данных

2.4.3. Достоинства и недостатки РМД

Широкое распространение РМД объясняется в первую очередь простотой представления и формирования БД, универсальностью и удобством обработки данных, которая осуществляется с помощью декларативного языка запросов SQL (Structured Query Language).

Существуют два стандарта SQL, определённые американским национальным институтом стандартов (ANSI): SQL-89 (SQL1) и SQL-92 (SQL2). В настоящее время в стадии разработки находится новый стандарт – SQL3. Большинство коммерческих систем управления базами данных (СУБД) поддерживают стандарт SQL2, который принят ISO (International Standards Organization) в качестве международного стандарта. (Подробнее об SQL рассказано в [10]).

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

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

В РМД нет понятий режим включения и класс членства, поэтому набор средств описания ограничений целостности очень мал. (Подробнее об этом рассказано в разделе 8.1."Обеспечение целостности данных").

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

2.4.4. Операции реляционной алгебры

Операндами для операций реляционной алгебры являются реляционные отношения. Результатом выполнения операций реляционной алгебры также является отношение. Использование реляционной алгебры накладывает на отношения два ограничения: порядок столбцов (полей) в отношении фиксирован; отношения конечны.

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

1. Проекция (projection, обозначается "π") – это унарная операция (выполняемая над одним отношением), служащая для выбора подмножества атрибутов из отношения R. Она уменьшает арность отношения и может уменьшить его мощность, исключая одинаковые кортежи.

2. Селекция (selection, обозначается "σ") – это унарная операция, результатом которой является подмножество кортежей исходного отношения, удовлетворяющих условиям, которые накладываются на значения определённых атрибутов.

3. Декартово произведение (cartesian product, обозначается "×") соответствует определению декартова произведения для РМД.

4. Объединение (union, обозначается " U") – это бинарная операция над односхемными отношениями R и S, результатом которой является отношение, включающее все кортежи обоих отношений без повторов.

5. Разность (set difference, обозначается "–") – это бинарная операция над односхемными отношениями (R–S), результатом которой является множество кортежей отношения R, не принадлежащих отношению S.

6. Пересечение (intersection, обозначается "∩") – это бинарная операция над односхемными отношениями R и S, результатом которой является подмножество кортежей, принадлежащих обоим исходным отношениям.

7. Соединение (join, обозначается "") – это бинарная операция над разносхемными отношениями R и S. Кортежи результирующего отношения содержат все атрибуты обоих отношений (возможно, за исключением повторов). В общем случае соединение происходит по условию, которое определяет соотношение между значениями атрибутов из разных отношений. Если этим условием является равенство значений атрибутов, такое соединение называется эквисоединением. Естественным называется эквисоединение, построенное по условию равенства значений одинаковых атрибутов кортежей исходных отношений.

Фактически, соединение является подмножеством декартова произведения, для которого выполняется некоторое условие.

8. Деление (division, обозначается "/") – это бинарная операция над разносхемными отношениями R и S. Пусть отношение R содержит атрибуты {r1,r2,...,ri,...,rn}, а отношение S – атрибуты {r1,r2,...,ri}. Результирующее отношение содержит атрибуты {ri+1,...,rn}. Кортеж включается в результирующее отношение, если его декартово произведение с отношением S входит в R.

2.4.5. Преобразования операций реляционной алгебры

Операндами операций реляционной алгебры являются отношения, поэтому для их выполнения необходимо просмотреть все кортежи исходного отношения (или отношений). Следствием этого является большая размерность реляционных операций. Уменьшения размерности операций можно достичь, изменяя последовательность выполняемых операций. В качестве примера приведём отношения R1 и R2, содержащие по 1000 кортежей, причём только 10 кортежей в каждом отношении удовлетворяют условию F. Если выполнять следующую последовательность операций:

sF (R1 U R2),

то после выполнения объединения получится 2000 кортежей (если отношения не содержат одинаковых кортежей), а после селекции останется 20 записей. Если изменить последовательность выполнения операций:

sF (R1) U sF (R2),

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

Оптимизация выполнения запросов реляционной алгебры основана на понятии эквивалентности реляционных выражений. Операндами выражений являются переменные-отношения Ri и константы. Каждое выражение реляционной алгебры определяет отображение кортежей переменных-отношений Ri (i=1,…,n) в кортежи единственного отношения, которое получается в результате подстановки кортежей каждого Ri и выполнения всех определяемых выражением вычислений.

Два выражения реляционной алгебры считаются эквивалентными, если они описывают одно и то же отображение.

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

  1.  Закон коммутативности для декартовых произведений:

R1 ´ R2 = R2 ´ R1

  1.  Закон коммутативности для соединений (F – условие соединения):

R1 ><F R2 = R2 ><F R1

  1.  Закон ассоциативности для декартовых произведений:

(R1´ R2 ) ´ R3 = R1 ´ (R2 ´ R3)

  1.  Закон ассоциативности для соединений (F1,F2 – условия):

(R1 ><F R2 ) >< F R3 = R1 ><F (R2 >< F R3)

  1.  Комбинация селекций (каскад селекций):

sF1 (sF2 (R)) = s F1/\F2(R)

  1.  Комбинация проекций (каскад проекций):

p A1,A2,...,Am (p B1,B2,...,Bn(R)) = p A1,A2,...,Am (R)

где {Am} Ì {Bn}.

  1.  Перестановка селекции и проекции:

sF (p A1,A2,...,Am (R)) = p A1,A2,...,Am (sF (R))

  1.  Перестановка селекции с объединением:

sF (R1 U R2)=sF (R1) U sF (R2)

  1.  Перестановка селекции с разностью:

sF (R1 - R2)=sF (R1) - sF (R2)

  1.  Перестановка проекции с декартовым произведением:

p A1,A2,...,Am ( R1 ´ R2 ) = p C1,C2,...,Cn(R1) ´ p B1,B2,...,Bk(R2)

где {Cn} Ì {Am}, {Bk} Ì {Am} и атрибуты Cn представлены в отношении R1, а атрибуты Bk - в отношении R2.

  1.  Перестановка проекции с объединением:

p A1,A2,...,Am ( R1 U R2 ) = p A1,A2,...,Am (R1) U pA1,A2,...,Am (R2)

  1.  Перестановка селекции с декартовым произведением:
    •  sF (R1 ´ R2) = sF (R1) ´ R2

если F содержит атрибуты, присутствующие только в R1;

sF (R1 ´ R2) = R1 ´ sF (R2)

если F содержит атрибуты, присутствующие только в R2;

sF (R1 ´ R2) = sF1(R1) ´ sF2 (R2)

если F=F1/\F2, и F1 содержит атрибуты, присутствующие только в R1, а F2 содержит атрибуты, присутствующие только в R2;

sF ( R1 ´ R2 ) = sF2 ( sF1( R1) ´ R2 )

если F=F1/\F2, и F1 содержит атрибуты, присутствующие только в R1, а F2 содержит атрибуты, присутствующие и в R1, и в R2.

2.5. Другие модели данных

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

2.5.1. Объектно-реляционные модели данных

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

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

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

2.5.2. Объектно-ориентированные модели данных

Ещё один подход к построению БД – использование объектно-ориентированных моделей данных (ООМД). Моделирование данных в ООМД базируется на понятии объекта. Для ООМД, как и в случае с ОРМД, не существует общепризнанной модели данных.

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

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

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

В 1997 г. рабочая группа ODMG (Object Database Management Group), образованная фирмами–производителями ООСУБД, выпустила стандарт ODMG 2.0 для ООСУБД, в котором описана объектная модель, язык определения запросов, язык объектных запросов и связующие языки С++, Smalltalk и Java.




1. Экономика свободной торговли и таможенной защиты (протекционизма)
2. Баночка румян Скандал длился уже добрых три четверти часа
3. Краткие теоретические сведения Тестирование программного обеспечения охватывает целый ряд видо
4. практикум СанктПетербург 2004 Филатов
5. Современное состояние экономики России и тенденции и перспективы ее развития во время мирового финансового кризиса
6. Системы обеспечения функционирования организованных рынков
7. Символика и её роль в поэме АА Блока Двенадцать
8. ВАРИАНТ 1 1 С территории какого современного государства на Британские острова пришли кельтские племена
9. Лишь очень немногие проблемы имеют только одно решение
10. по теме- ldquo;Бизнесплан разработкиrdquo;
11. методическим советом в качестве учебного пособия для студентов СГА МЕТОДИЧЕСКОЕ ПОСОБИЕ ПО КУР
12. Льюис и Тренч и старый мистер Тревис
13. реферат дисертації на здобуття наукового ступеня кандидата економічних наук Харків 20
14. Управление качеством3
15. ТЕМА 5- ОРГАНИЗАЦИЯ КАК ФУНКЦИЯ УПРАВЛЕНИЯ.
16. Средневековая европейская философия
17. Местное самоуправление XVIII-XX вв
18. В. заместитель директора Бюро по координации борьбы с организованной преступностью полковник милиции ка
19. Молодіжна субкультура
20. Предпосылки возникновения инновационного менеджмента