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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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


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

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

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

Рис. 1

В сетевой модели связям между объектами присваиваются имена, отражающие смысл каждой из связей. Поименованная связь представляет собой связь определенного типа, т.е. в сетевой модели, кроме понятия тип объекта существует понятие тип связи. В рассмотренной модели установлены 5 типов связей: Ученики, Учителя, Лектор, Читаемый предмет, Изучаемый предмет.

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

Основной конструктивной единицей сетевой модели является тип набора. При описании типа набора один из типов записи определяется как владелец набора, а запись другого типа определяется как член набора. Между владельцем и членом набора устанавливается связь определенного типа. Имя связи рассматривается как имя набора. В рассмотренной модели представлены 5 типов наборов. Набор Ученики (владелец набора - запись типа ПРЕПОДАВАТЕЛЬ, член набора - запись типа СТУДЕНТ), Набор Учителя (владелец набора - запись типа СТУДЕНТ, член набора - запись типа ПРЕПОДАВАТЕЛЬ), набор Читаемый предмет (владелец набора - запись типа ПРЕПОДАВАТЕЛЬ, член набора - запись типа ПРЕДМЕТ), набор Лектор (владелец набора - запись типа ПРЕДМЕТ, член набора - запись типа ПРЕПОДАВАТЕЛЬ) и набор Изучаемый предмет (владелец набора - запись типа СТУДЕНТ, член набора - запись типа ПРЕДМЕТ).

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

СТУДЕНТ (№ зачетной книжки, ФИО, Группа, Средний балл);

ПРЕПОДАВАТЕЛЬ (ФИО_П, Должность);

ПРЕДМЕТ (Наименование, Часы, Отчетность).

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

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

В каждом экземпляре набора определенного типа содержится единственный экземпляр записи - владельца набора и множество экземпляров записей - членов набора, т.е. между владельцем набора и членами набора существует связь 1:М

С учетом принятых сокращений изобразим фрагмент экземпляра схемы БД, в котором отображены связи типа Ученики и Читаемый предмет для нескольких экземпляров записей типа ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ и СТУДЕНТ. У Преподавателя 1 учениками являются Студент 1, Студент 3 и Студент 4, этот преподаватель читает Предмет 1 и Предмет 3. Преподаватель 2 читает Предмет 2, его учениками являются Студент 2, Студент 3 и Студент 5.

Данный фрагмент содержит 2 экземпляра набора типа Читаемый предмет и 2 экземпляра набора типа Ученики (владельцы - Преподаватель 1 и Преподаватель 2).

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


2. Иерархическая модель данных

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

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

Сеть приводится к виду дерева введением избыточности. При этом все вершины сети неоднократно повторяются в тех деревьях, которыми заменяют сеть.

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

Преобразуем сложную сеть к виду простой сети, а затем к виду дерева.

На рис. цифрой 1 обозначена вершина, содержащая запись об объекте ПРЕПОДАВАТЕЛЬ, цифрой 2 - вершина СТУДЕНТ, цифрой 3 - вершина ПРЕДМЕТ.

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

Разместив в вершинах экземпляры записей, изобразим фрагмент экземпляра схемы. На рисунке изображены два экземпляра дерева первого типа.

В БД будет содержаться множество экземпляров деревьев каждого типа: количество экземпляров деревьев первого типа равно числу студентов, количество экземпляров деревьев второго типа равно числу преподавателей.

Иерархическая модель данных обладает избыточностью. Экземпляры записей неоднократно повторяются в экземплярах деревьев.

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

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

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

Представим объекты рассматриваемой предметной области в табличной форме.

                        СТУДЕНТ                                 ПРЕПОДАВАТЕЛЬ

№ зач. кн.

 ФИО

Группа

Ср. балл

ФИО_П

Должность

213456

Кошкин К.К.

337

4.3

Лосев Л.Л.

Доцент

214365

Мышкин М.М.

435

3.9

Волков В.В.

Профессор

235467

Шишкин Н.Н.

338

4.8

Львов Л.Л.

Доцент

324476

Попов П.П.

233

4.5

ПРЕДМЕТ

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

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

Для установления связи 1:М в таблицу, находящуюся на стороне М, вводятся дополнительные столбцы из таблицы, находящейся на стороне 1.Для установления связи М:М приходится создавать дополнительную связующую таблицу, содержащую столбцы из связываемых таблиц. Между каждой из связываемых таблиц и вновь созданной таблицей устанавливается связь 1:М. Если между таблицами существует связь 1:1, то их можно объединить в одну.

Установим связи между таблицами. Для установления связей Читаемый предмет и Лектор можно создать связующую таблицу ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ, содержащую столбцы ФИО_П и Наименование. Каждая из записей этой таблицы будет содержать фамилию преподавателя и наименование читаемого им предмета. Таблицу ПРЕПОДАВАТЕЛЬ можно связать с таблицей ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ по столбцу ФИО_П связью 1:М (связь Читаемый предмет). Каждой записи таблицы ПРЕПОДАВАТЕЛЬ (с определенной фамилией преподавателя) в таблице ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ будет соответствовать несколько записей (по числу читаемых этим преподавателем предметов). Таблицу ПРЕДМЕТ также можно связать с таблицей ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ по столбцу Наименование связью 1:М (связь Лектор).

Для создания связей Учителя и Ученики можно создать связующую таблицу СТУДЕНТ_ПРЕПОДАВАТЕЛЬ, состоящую из столбцов ФИО_П и ФИО. Эта таблица связывается с таблицей СТУДЕНТ по столбцу ФИО, а с таблицей ПРЕПОДАВАТЕЛЬ - по столбцу ФИО_П.

Для данной схемы связь Изучаемый предмет будет установлена между таблицами СТУДЕНТ и ПРЕДМЕТ через таблицы СТУДЕНТ_ПРЕПОДАВАТЕЛЬ и ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ.

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

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

Таблицы реляционной модели строятся по определенным правилам. Некоторые из них таковы:

в таблице не должно быть столбцов с одинаковыми именами;

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

в таблицах не должно быть повторяющихся строк;

каждое значение, содержащееся на пересечении строки и столбца, должно быть атомарным (логически неделимым);

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

Эти и другие правила построения таблиц будут обсуждаться ниже.

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

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

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

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

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

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

установку указателя текущей позиции в БД,

выборку,

включение,

удаление,

корректировку.

Действия могут выполняться над экземплярами записей, над свойствами объектов и над связями между объектами. Последнее действие применимо к графовым моделям.

Селекция может осуществляться посредством:

указателя текущей позиции в БД,

значений данных,

связей между данными.

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

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

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

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

Каждая СУБД располагает средствами для выполнения навигационных и спецификационных операций над данными.

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

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

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

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


Заключение

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

Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств. В качестве таких средств могут выступать текстовые описания предметной области, наборы должностных инструкций, правила ведения дел в компании и т.п. Опыт показывает, что текстовый способ представления модели предметной области крайне неэффективен. Гораздо более информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций. Имеется большое количество методик описания предметной области. Из наиболее известных можно назвать методику структурного анализа SADT и основанную на нем IDEF0, диаграммы потоков данных Гейна-Сарсона, методику объектно-ориентированного анализа UML, и др. Модель предметной области описывает скорее процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.

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


Список литературы

1. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение / Москва, Питер, Киев, 2003

. Мейер, М. Теория реляционных баз данных / М. Мейер - М.: Мир, 2008

. Хаббард, Дж. Автоматизированное проектирование баз данных / Хаббард Дж. - М.: Мир, 2005

. Бойко, В.В. Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М. - М.: Финансы и статистика, 2007

. Бакаревич, Ю.Б. Самоучитель Microsoft Access 2002 / Бакаревич Ю.Б., Пушкина Н.В. - СПб.: БХВ-Петербург, 2002




1. а не занимающиеся бизнесом однако располагающие доходами осуществляющие расходы и имеющие склонность к сб
2. Вариант 1 Российская компания ООО Швейный цех в соответствии с соответствующим соглашением с Koren Sewing
3. методические рекомендации по темам курса для студентов экономических специальностей всех форм обучения
4. Tem Best Проект the Best
5. 001 Гостиничное дело Основные службы гостиничного предприятия
6.  Описание системы- а определение цели системного анализа; б определение целей назначения и функци
7. двойник По роману Ф
8. Інтелектуальна власність у господарський діяльності
9. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ ПРЕДДИПЛОМНОЙ ПРАКТИКИ СТУДЕНТОВ ЮРИДИЧЕСКОГО ФАКУЛЬТЕТА
10. Загальні вимоги до фінансової звітності І
11. Homo spiens деген пікір нені к~рсетедіСаналы адам Адам ~о~амытаби~ат ж~йесіндегі ~арым~атынасты зерттейт.
12. Проектирование базы данных Библиотека
13. реферат дисертації на здобуття наукового ступеня кандидата архітектури Л
14. Почему Ислам и что такое Ислам Часть первая Вся Хвала Аллаху Господу мировМир и благословение Аллаха наш
15. 1920х годов ~ 2 Михаил Афанасьевич Булгаков В кафе Кафе в тыловом городе
16. ПРАВОВОЕ ГОСУДАРСТВО СУЩНОСТЬ И ОСНОВНЫЕ ЧЕРТЫ
17. ЕП та СТВ є праця в її соціальнотрудовому вимірі та соціальнотрудові відносини як взаємодія між учасникам
18. Проектирование двухзеркальной антенны по схеме Кассегрена
19. тема главных органов
20. 1 Аналіз виробничої діяльності та характеристика підприємства