Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Модели данных




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

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

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

Иерархическая модель данных представляет собой многоуровневую древовидную структуру БД. Пример схемы представлен на рис. 4.1.

 

Рис. 4.1. Древовидная структура данных

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

Узлы, связанные с узлами более высокого уровня называются порожденными. К каждому узлу дерева существует только один путь от корневого узла. Например, для узла D2 таким путем будет А1, ВЗ, С4.

К достоинствам иерархической модели относятся: логичность построения, большая информационная емкость, легкость формализованного описания.

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

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

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

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

Примером простой сетевой структуры является взаимосвязь между сегментами «Профессия», «Цех», «Личность» (рис.4.2.). Слева на рисунке изображены уровни структуры. Справа – экземпляр сетевой структуры.

 

Рис. 4.2. Простая сетевая структура данных

Из рис. 4.2. видно, что порожденный узел «Цех № 2» связан с двумя исходными узлами. Пример описывает случай, когда каждая личность работает только в одном цехе и имеет только одну профессию, в тоже время одна и та же профессия может соответствовать многим работающим одного и того же цеха.

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

Рис. 4.3. Сложная сетевая структура данных.

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

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

Реляционная таблица отражает некоторый объект, процесс или явление, то есть некоторую сущность. Она состоит из строк и столбцов и имеет имя, уникальное внутри БД, например СОТРУДНИКИ. Столбец в таблице представляет собой поле, а строка – это логическая запись. Записи с конкретными значениями полей являются экземплярами сущности. Реляционная таблица обладает следующими свойствами:

· каждый элемент таблицы - один элемент данных;

· все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, текстовый и т.д.) и длину;

· каждый столбец имеет уникальное имя – это имя поля;

· одинаковые строки в таблице отсутствуют;

· порядок следования строк и столбцов может быть произвольным.

Таблица 4.1 иллюстрирует пример реляционной таблицы.

Таблица 4.1 Реляционная таблица СОТРУДНИКИ

Табельный номер Фамилия Имя Отчество Дата рождения Код специальности Код цеха
Авдеев Сергей Егорович 12.03.1965
Бородин Олег Иванович 17.09.1980
Король Андрей Матвеевич 30.11.1975
Медведев Яков Петрович 06.08.1961
Семашко Алла Федоровна 04.07.1970

Структурные компоненты таблицы СОТРУДНИКИ:

· Названия столбцов – Табельный номер, Фамилия, Имя, Отчество, Дата рождения, Код специальности, Код цеха – являются именами полей.

· Каждый столбец – например, Табельный номер: 001, 002, 003, 004, 005– представляет отдельное поле.

· Множество допустимых значений конкретного поля называется доменом.

· Любая строка – это логическая запись, в дальнейшем – запись.

· Конкретная строка – 001, Ермольчик, Сергей, Викторович, 12.03.1965, 11, 1 – это экземпляр записи.

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

В приведенной выше таблице 4.1 простым первичным ключом может быть поле «Табельный номер», составным ключом – совокупность полей «Фамилия», «Имя», «Отчество».

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

 

Таблица 4.2 Реляционная таблица ЦЕХ

Код цеха Наименование цеха Вид Начальник цеха
Литейный Основной Кривцов А.А.
Механический Основной Заворотнюк Е.С.
Ремонтный Вспомогательный Воложин Ф.И.

 

В таблице ЦЕХ в качестве первичного ключа выбрано поле «Код цеха». Это поле при связи таблиц СОТРУДНИКИ и ЦЕХ выступает в роли внешнего ключа таблицы СОТРУДНИКИ.

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

В соответствии с терминологией реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы – атрибутами.

Отношения, являющиеся исходными для формирования нового отношения, называются отношениями-операндами.

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

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

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

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

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

Разность отношений – создание нового отношения, содержащего те кортежи первого отношения-операнда, которые отсутствуют во втором отношении-операнде.

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

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

Деление отношений – создание нового отношения, содержащего атрибуты первого отношения-операнда, отсутствующие во втором отношении-операнде, и кортежи первого отношения-операнда, которые совпали с кортежами второго отношения-операнда.


Поделиться:

Дата добавления: 2015-04-05; просмотров: 419; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты