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

Презентация:



Advertisements
Похожие презентации
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Advertisements

Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
ВИДЫ МОДЕЛЕЙ ДАННЫХ. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Модуль 1. Математические основы баз данных и знаний.
Теория экономических информационных систем Семантические модели данных.
Технология хранения, поиска и сортировки информации в базах данных
Системы управления базами данных СУБД является универсальным программным средством предназначенным для создания и ведения(обслуживания) баз данных на внешних.
Базы данных Михайлова Елена Георгиевна, мат.-мех. ф-т, кафедра информатики, доцент.
Учебная дисциплина «Базы данных» для студентов специальности Бизнес-информатика (бакалавриат) ЛЕКЦИЯ 3 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос.
ТЕМА 3 Взаимосвязи в модели данных. При проектировании БД нам потребуется различать взаимосвязи: между объектами между атрибутами одного объекта и между.
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Вопрос I. Основные понятия. Вопрос 2. Проектирование баз данных.
Базы данных Реляционная база данных MS Access. Повторение База данных организованная совокупность данных из какой-либо предметной области, предназначенная.
Базы данных Access Вводная лекция. Определение базы данных Базы данных - это совокупность тем или иным способом структурированных данных и комплекса аппаратно-программных.
Базы данных и СУБД Точное понятие базы данных не существует. В разных ситуациях под этим термином подразумевают разные вещи. Мы попробуем дать следующее.
МОДЕЛИ И ТИПЫ ДАННЫХ Выполнил : Студент 311 группы Жарова Мария.
Архитектура и обеспечение систем базы данных. СУБД.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Что такое связи между таблицами В реляционной базе данных связи позволяют избежать избыточности данных. Например, в ходе создания базы данных, содержащей.
Транксрипт:

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

ТЕМА 2. МОДЕЛИ ДАННЫХ И КОНЦЕПТУАЛЬНОЕ МОДЕЛИРОВАНИЕ 2.1. Модель данных. Модель данных. Интегрированный набор понятий для описания и обработки данных, связей между ними и ограничений, накладываемых на данные в некоторой организации. Модель данных. Интегрированный набор понятий для описания и обработки данных, связей между ними и ограничений, накладываемых на данные в некоторой организации. Модель является представлениям "реального мира" объектов и событий, а также существующих между ними связей. Модель является представлениям "реального мира" объектов и событий, а также существующих между ними связей. Модель данных, то есть концептуальное описание предметной области самый абстрактный уровень проектирования баз данных. Модель данных, то есть концептуальное описание предметной области самый абстрактный уровень проектирования баз данных. Понятие модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом. Понятие модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом.

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

Цель построения модели данных заключается в представлении данных в понятном виде. Цель построения модели данных заключается в представлении данных в понятном виде. В литературе модели данных подразделяются на три категории: В литературе модели данных подразделяются на три категории: модели данных на основе записей (record-based); модели данных на основе записей (record-based); объектные (object-based) модели данных; объектные (object-based) модели данных; физические модели данных. физические модели данных. Первые две используются для описания данных на концептуальном и внешнем уровнях, а последняя на внутреннем уровне, которая может быть реализована с помощью разнообразных структур хранения. Первые две используются для описания данных на концептуальном и внешнем уровнях, а последняя на внутреннем уровне, которая может быть реализована с помощью разнообразных структур хранения.

Модели данных на основе записей Модели данных на основе записей В модели на основе записей база данных состоит из нескольких записей фиксированного формата, которые могут иметь разные типы. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фиксированную длину. Существуют три основных типа логических моделей данных на основе записей: иерархическая модель данных (hierarchical data model). иерархическая модель данных (hierarchical data model). сетевая модель данных (network data model) и сетевая модель данных (network data model) и реляционная модель данных (relational data model). реляционная модель данных (relational data model). Эти три модели различаются в основном способами представления взаимосвязей между объектами. Иерархическая и сетевая модели данных были созданы почти на десять лет раньше реляционной модели данных, потому их связь с концепциями традиционной обработки файлов более очевидна. Использование реляционной модели данных в системах управления базами данных было предложено в 1970 г. доктором Э. Ф. Коддом.

Иерархические модели данных базируются на использовании графовой и табличной форм представления данных. Иерархические модели данных базируются на использовании графовой и табличной форм представления данных. Основные внутренние ограничения иерархической модели данных : Основные внутренние ограничения иерархической модели данных : 1. все типы связей должны быть функциональными: 1:1 1:М М:М 2. структура связей должна быть древовидной (графовой) 3. Процесс структурирования данных в иерархической модели имеет особенности: древовидная структура или дерево – это связанный ориентированный граф, который не содержит цикла. Иерархическая древовидная структура строится из узлов и ветвей. Иерархическая древовидная структура строится из узлов и ветвей. Данные предметной области могут храниться в нескольких базах данных. Данные предметной области могут храниться в нескольких базах данных. Каждая база данных описывается иерархической древовидной моделью. Каждая база данных описывается иерархической древовидной моделью.

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

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

Иерархическая древовидная структура всегда удовлетворяет следующим условиям: Иерархическая древовидная структура всегда удовлетворяет следующим условиям: Иерархия неизменно начинается с корневого узла Иерархия неизменно начинается с корневого узла Каждый узел состоит из одного или нескольких атрибутов, которые описывают объект в данном узле Каждый узел состоит из одного или нескольких атрибутов, которые описывают объект в данном узле На низших уровнях могут находиться зависимые узлы. Узел, находящийся на предшествующем уровне, является исходным для новых зависимых узлов. Зависимые узлы могут добавляться как в вертикальном, так и в горизонтальном направлении без всяких ограничений (Исключение. На первом уровне может находиться только один узел, называемый корневым.) На низших уровнях могут находиться зависимые узлы. Узел, находящийся на предшествующем уровне, является исходным для новых зависимых узлов. Зависимые узлы могут добавляться как в вертикальном, так и в горизонтальном направлении без всяких ограничений (Исключение. На первом уровне может находиться только один узел, называемый корневым.) Каждый узел, находящийся на уровне 2, соединен с одним и только одним узлом на уровне 1. Каждый узел, находящийся на уровне 3, соединен с одним и только одним узлом, находящимся на уровне 2, и т. д. Поскольку между двумя узлами может существовать лишь одна дуга (соединение), дуги не нуждаются в метках. Каждый узел, находящийся на уровне 2, соединен с одним и только одним узлом на уровне 1. Каждый узел, находящийся на уровне 3, соединен с одним и только одним узлом, находящимся на уровне 2, и т. д. Поскольку между двумя узлами может существовать лишь одна дуга (соединение), дуги не нуждаются в метках.

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

ПРИМЕР: Корневой узел представляет объект ПАЦИЕНТ. Объекты ХИРУРГ, ОПЕРАЦИЯ и ПРЕПАРАТ объединены в порожденный узел.

Экземпляр записи базы данных для Петрова М.Л. (1111): Второй уровень - зависимый (порожденный) узел имеет два экземпляра, в которых содержатся сведения об операциях удаления камней из желчного пузыря и из почек. Иерархическая модель позволяет для каждого пациента представить сведения о нескольких операциях и нескольких хирургах.

Информация о ПАЦИЕНТЕ, ХИРУРГЕ, ПАЦИЕНТЕ-И-ХИРУРГЕ и ПРЕПАРАТЕ может быть представлена с помощью другой версии иерархической модели данных. Корневой узел соответствует объекту ХИРУРГ. Объект ХИРУРГ находится на более высоком уровне, чем узел ПАЦИЕНТ. Такая структура отражает намерение АБД реализовать между ХИРУРГОМ и ПАЦИЕНТОМ взаимосвязь "один ко многим".

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

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

Включение и удаление данных Включение и удаление данных Включение данных Включение данных В иерархической модели исходным узлом является ПАЦИЕНТ, а порожденным, в котором хранятся сведения о лечении пациента, - ХИРУРГ. Если один хирург оперирует более одного пациента, то сведения о хирурге дублируются для каждого пациента. В иерархической модели исходным узлом является ПАЦИЕНТ, а порожденным, в котором хранятся сведения о лечении пациента, - ХИРУРГ. Если один хирург оперирует более одного пациента, то сведения о хирурге дублируются для каждого пациента. Экземпляр порожденного узла не может существовать в отсутствие экземпляра исходного узла. Если иерархическая модель хранения данных подобна представленной, то в такую базу данных невозможно включить сведения о хирурге, который не оперировал ни одного пациента. Экземпляр порожденного узла не может существовать в отсутствие экземпляра исходного узла. Если иерархическая модель хранения данных подобна представленной, то в такую базу данных невозможно включить сведения о хирурге, который не оперировал ни одного пациента. Удаление данных Удаление данных При удалении экземпляра исходного узла также удаляются и все экземпляры порожденных узлов. Например, при удалении экземпляра узла ХИРУРГ одновременно удаляются и все экземпляры узлов, содержащих сведения о пациентах, прооперированных данным хирургом. Это приводит к потере информации о прооперированных пациентах. При удалении экземпляра исходного узла также удаляются и все экземпляры порожденных узлов. Например, при удалении экземпляра узла ХИРУРГ одновременно удаляются и все экземпляры узлов, содержащих сведения о пациентах, прооперированных данным хирургом. Это приводит к потере информации о прооперированных пациентах. Аномалии запоминания и удаления связаны с тем, что в иерархической модели данных взаимосвязи "многие ко многим" непосредственно не поддерживаются, а реализуется только взаимосвязь "один ко многим". Эти аномалии могут быть частично устранены за счет введения двух иерархических моделей, связанных между собой: Аномалии запоминания и удаления связаны с тем, что в иерархической модели данных взаимосвязи "многие ко многим" непосредственно не поддерживаются, а реализуется только взаимосвязь "один ко многим". Эти аномалии могут быть частично устранены за счет введения двух иерархических моделей, связанных между собой:

В 1-й модели данных корневым узлом является ПАЦИЕНТ, а на 2-ом уровне расположен узел ОПЕРАЦИЯ. Во 2-й модели данных корневой узел - ХИРУРГ, а узел ОПЕРАЦИЯ находится на 2- ом уровне. Узел ОПЕРАЦИЯ 2-го уровня 1-й модели связывается с корневым узлом ХИРУРГ 2- й модели. Узел ОПЕРАЦИЯ 2-го уровня 2-й модели связывается с корневым узлом ПАЦИЕНТ 1-ой модели. В подобной "комбинированной" иерархической модели данных информация о дате операции и об ОПЕРАЦИИ хранится с избыточностью, однако таким путем удается устранить аномалии включения и удаления сведений о ПАЦИЕНТЕ и об ОПЕРАЦИИ.

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

Сетевая модель хранения данных Сетевая модель хранения данных База данных состоит из нескольких областей. Область содержит записи. В свою очередь запись состоит из полей. Набор, который объединяет записи, может размещаться в одной или нескольких областях.

Основные компоненты сетевой модели данных: записи и наборы. В сетевой модели данных объекты предметной области объединяются в "сеть". Основные компоненты сетевой модели данных: записи и наборы. В сетевой модели данных объекты предметной области объединяются в "сеть".

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

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

два типа записи: ПАЦИЕНТ и ОПЕРАЦИЯ

два экземпляра набора, в которых владельцами являются пациенты Петров М.Л. и Иванов А.О. и имеется один и тот же экземпляр записи- члена - удаление камней из желчного пузыря.

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

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

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

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

Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице не должно быть строк, имеющих одно и то же значение в столбце «primary key». Если таблица удовлетворяет этому требованию, она называется отношением (relation). В таблице не должно быть строк, имеющих одно и то же значение в столбце «primary key». Если таблица удовлетворяет этому требованию, она называется отношением (relation). Каждое отношение можно разделить на две части заголовок и тело. Тело отношения состоит из кортежей, в то время как заголовок не имеет более мелких компонентов структуры. Каждое отношение можно разделить на две части заголовок и тело. Тело отношения состоит из кортежей, в то время как заголовок не имеет более мелких компонентов структуры.

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

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. В современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. В современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Необходимо четко различать эти два понятия. Тип данных это физическая концепция, а домен логическая. Необходимо четко различать эти два понятия. Тип данных это физическая концепция, а домен логическая. Например, «целое число» это тип данных, а «возраст» это домен. Например, «целое число» это тип данных, а «возраст» это домен.

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

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

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