4.2 Модели данных
Модель данныхпредставляет собой образ БД, отражающий множество структур данных и связей между ними.
Известны следующие модели данных: иерархические, сетевые, реляционные, постреляционные, объектно-ориентированные, объектно-реляционные, многомерные.
Иерархическая модель данных
Иерархическая модель данных представляет собой многоуровневую древовидную структуру БД. Пример схемы представлен на рис. 4.1.
Рис. 4.1.Древовидная структура данных
Основной компонентой в древовидной структуре данных является узел. Любой узел может отображать массивы, логические записи, сегменты и поля в зависимости от уровня древовидной структуры. На самом верхнем уровне иерархии расположен только один узел, называемый корнемдерева. Корень дерева имеет связи только с узлами нижестоящего уровня. Любой другой узел дерева связан только с одним узлом более высокого уровня и с одним или несколькими узлами более низкого уровня иерархии.
Узлы, связанные с узлами более высокого уровня называются порожденными. К каждому узлу дерева существует только один путь от корневого узла. Например, для узла D2 таким путем будет А1, ВЗ, С4.
К достоинствам иерархической модели относятся: логичность построения, большая информационная емкость, легкость формализованного описания.
Основным недостатком модели является слабая гибкость структуры из-за установленного порядка следования узлов. Кроме того, модель плохо приспособлена к информационному поиску данных по любому произвольному сочетанию признаков их группировки.
Сетевая модель данных
Сетевая модель данных допускает не иерархические отношения. В сетевой структуре порожденный узел может быть связан более, чем с одним исходным узлом.
В сетевой структуре данных между порожденными и исходными узлами могут существовать простые и сложные связи.
Примером простой сетевой структуры является взаимосвязь между сегментами «Профессия», «Цех», «Личность» (рис.4.2.). Слева на рисунке изображены уровни структуры. Справа – экземпляр сетевой структуры.
Рис. 4.2.Простая сетевая структура данных
Из рис. 4.2. видно, что порожденный узел «Цех № 2» связан с двумя исходными узлами. Пример описывает случай, когда каждая личность работает только в одном цехе и имеет только одну профессию, в тоже время одна и та же профессия может соответствовать многим работающим одного и того же цеха.
Примером сложной сетевой структуры может служить модель, отражающая отношения между предприятиями, заказчиками, изделиями и материалами. Предположим, что несколько предприятий поставляют заказчикам некоторые изделия, изготовленные из разного вида материалов. При условии, что любое предприятие может поставлять разные изделия любому заказчику и каждое изделие может быть изготовлено из разного материала, приходим к трехуровневой сложной сетевой структуре, изображенной на рис. 4.3.
Рис. 4.3. Сложная сетевая структура данных.
Реляционная модель данных
Реляционные модели данных получили свое название от английского слова relation, которое переводится как отношение (соотношение, связь). Отношением в реляционных БД называют таблицы с данными. Табличное представление данных является принципиальной особенностью реляционных моделей.
Реляционная таблица отражает некоторый объект, процесс или явление, то есть некоторую сущность. Она состоит из строк и столбцов и имеет имя, уникальное внутри БД, например СОТРУДНИКИ. Столбец в таблице представляет собой поле, а строка – это логическая запись. Записи с конкретными значениями полей являются экземплярами сущности. Реляционная таблица обладает следующими свойствами:
каждый элемент таблицы - один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, текстовый и т.д.) и длину;
каждый столбец имеет уникальное имя – это имя поля;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Таблица 4.1 иллюстрирует пример реляционной таблицы.
Таблица 4.1 Реляционная таблица СОТРУДНИКИ
Табельный номер | Фамилия | Имя | Отчество | Дата рождения | Код специальности | Код цеха |
001 | Авдеев | Сергей | Егорович | 12.03.1965 | 11 | 1 |
002 | Бородин | Олег | Иванович | 17.09.1980 | 05 | 2 |
003 | Король | Андрей | Матвеевич | 30.11.1975 | 01 | 2 |
004 | Медведев | Яков | Петрович | 06.08.1961 | 05 | 1 |
005 | Семашко | Алла | Федоровна | 04.07.1970 | 02 | 1 |
Структурные компоненты таблицы СОТРУДНИКИ:
Названия столбцов – Табельный номер, Фамилия, Имя, Отчество, Дата рождения, Код специальности, Код цеха– являютсяименами полей.
Каждый столбец – например, Табельный номер: 001, 002, 003, 004, 005– представляет отдельноеполе.
Множество допустимых значений конкретного поля называется доменом.
Любая строка – это логическая запись, в дальнейшем – запись.
Конкретная строка – 001, Ермольчик, Сергей, Викторович, 12.03.1965, 11, 1– этоэкземпляр записи.
Реляционные таблицы в БД связаны между собой с помощью ключевых полей. Ключевое поле– это столбец, который однозначно идентифицирует каждую строку таблицы, то есть значения элементов данных в этом столбце не повторяются, они уникальны. Ключевое поле называют такжепервичным ключом, если речь идет о главной таблице из двух связанных между собой таблиц. Ключ (ключевое поле) являетсяпростым, если записи однозначно определяются значениями одного столбца. Если ключ содержит несколько столбцов (полей), то он называется составным ключом.
В приведенной выше таблице 4.1 простым первичным ключом может быть поле «Табельный номер», составным ключом – совокупность полей «Фамилия», «Имя», «Отчество».
Связи поддерживаются внешними ключами. Внешний ключ– это ключ второй таблицы. Он однозначно характеризует значения первичного ключа первой таблицы. Чтобы связать две реляционные таблицы, необходимо ввести в структуру первой таблицы внешний ключ. Для понимания внешнего ключа возьмем вторую таблицу 4.2.
Таблица 4.2 Реляционная таблица ЦЕХ
Код цеха | Наименование цеха | Вид | Начальник цеха |
1 | Литейный | Основной | Кривцов А.А. |
2 | Механический | Основной | Заворотнюк Е.С. |
3 | Ремонтный | Вспомогательный | Воложин Ф.И. |
В таблице ЦЕХ в качестве первичного ключа выбрано поле «Код цеха». Это поле при связи таблиц СОТРУДНИКИ и ЦЕХ выступает в роли внешнего ключа таблицы СОТРУДНИКИ.
Инструментом для удобной работы с таблицами служит реляционная алгебра. Для использования математического аппарата реляционной алгебры все таблицы должны быть преобразованы в отношения. Таблица является отношением, если она удовлетворяет требованию уникальности первичного ключа.
В соответствии с терминологией реляционной алгебры отношение рассматривается как множество, строки таблицы называютсякортежами, столбцы –атрибутами.
Отношения, являющиеся исходными для формирования нового отношения, называются отношениями-операндами.
Над отношениями выполняются традиционные операции теории множеств: объединение, пересечение, выборка, проекция, разность, соединение, произведение, деление.
Объединение отношений – это создание нового отношения, содержащего все кортежи отношений-операндов. При этом операнды должны иметь одинаковые атрибуты.
Пересечение отношений – создание нового отношения, содержащего кортежи, общие для сравниваемых отношений-операндов. При этом операнды должны иметь одинаковые атрибуты.
Ограничение отношения (выборка) – создание нового отношения отбором в него кортежей отношения-операнда, которые удовлетворяют условию ограничения.
Проекция отношения – создание нового отношения отбором в него определенных атрибутов отношения-операнда.
Разность отношений – создание нового отношения, содержащего те кортежи первого отношения-операнда, которые отсутствуют во втором отношении-операнде.
Соединение отношений – создание нового отношения, кортеж которого является результатом сцепления кортежей отношений-операндов. Условием для соединения отношений является наличие в них общего атрибута.
Произведение отношений – создание нового отношения, в котором имеются все атрибуты отношений-операндов, а кортежи нового отношения получены путем попарного сцепления кортежей отношений операндов.
Деление отношений – создание нового отношения, содержащего атрибуты первого отношения-операнда, отсутствующие во втором отношении-операнде, и кортежи первого отношения-операнда, которые совпали с кортежами второго отношения-операнда.
Объектно-ориентированная модель
Объектно-ориентированные модели позволяют организовать хранение данных, не раскладывая их по таблицам.
Основными понятиями объектно-ориентированных моделей являются класс, объект, поле, свойство и метод.
Классом(объектным типом) называется особый тип записи, который может иметь в своем составе поля, методы и свойства.Пример класса – Предприятия города
Объект (экземпляр класса)– это переменная объектного типа.Пример объектов внутри класса:
Поля объектааналогичны полям записи (в реляционной таблице). Это данные, уникальные для каждого объекта.Примеры полей: адрес предприятия, расчетный счет в банке.
Методы– это процедуры и функции, описанные внутри класса и предназначенные для операций над полями. В отличие от полей, методы у двух объектов одного класса общие.
Свойство можно определить как специфическое поле, имеющее тип данных – класс (для сравнения - в реляционной таблице типы данных: текстовый, числовой и др). Это значит, что такого рода поле само является объектом и принадлежит к определенному классу.Пример свойства – продукция.
В состав класса входит указатель на специальную таблицу, где содержится вся информация, нужная для вызова методов. От обычных процедур и функций методы отличаются тем, что им при вызове передается (неявно) указатель на тот объект, который их вызвал.
Постреляционная модель
Постреляционные модели обеспечивают хранение данных в виде таблиц, как и реляционные модели. Однако каждый элемент таблицы не обязательно представляет собой один элемент данных и имеет одинаковую длину. Данные могут иметь сложную структуру: содержать вложенные структуры, динамически изменяемые размеры, произвольные структуры, задаваемые пользователем (например, мультимедиа).
Пространственная модель
Пространственная модель (dimensional model) - это модель, в которой данные организованы не по третьей нормальной форме, а в виде тематических таблиц, каждая из которых содержит характеристику отдельных категорий информации (dimensions). Основная цель пространственной модели - минимизировать время выполнения запроса, поэтому допускается денормализация данных.
Объектно-реляционная модель
Объектно-реляционные модели представляют данные как объекты. Все данные по-прежнему хранятся в виде таблиц. Этот подход позволяет плавно перейти от технологии хранилища таблиц к технологии хранилища объектов. Основным недостатком объектно-реляционных моделей является необходимость при работе с базой данных разбирать объекты для размещения их в таблицах и собирать их для передачи пользователю из таблиц.
Многомерная модель
Многомерные модели предполагают хранение информация в форме логически упорядоченных многомерных массивов – гиперкубов. Основные понятия многомерной модели – измерение и значение (ячейка).Измерение– это множество, образующее одну из трех граней гиперкуба (аналог домена в реляционной модели). Измерения играют роль индексов, используемых для идентификации конкретных значений в ячейках гиперкуба.Значения– это подвергаемые анализу количественные или качественные данные, которые находятся в ячейках гиперкуба.
В многомерных системах используется обычно два варианта организации данных: гиперкубическая и поликубическая.
В гиперкубической организации данных все показатели определяются одним и тем же набором измерений. А при наличии нескольких гиперкубов все они имеют одинаковую размерность и совпадающие измерения. При поликубической организации данных может быть несколько гиперкубов с различной размерностью и с различными измерениями в качестве граней.
В многомерной модели вводятся следующие основные операции манипулирования измерениями: 1) сечение; 2) вращение; 3) детализация; 4) свертка.
При выполнении операции сечения формируется подмножество гиперкуба, в котором значение одного или более измерений фиксировано. Например, если зафиксировать значение измерения «Время» равным «IVквартал года», то мы получим двумерную таблицу с информацией о значениях всех параметров для всех субъектов хозяйствования в IV квартале года.
Операция вращенияизменяет порядок представления измерений. Она обычно применяется к двумерным таблицам, обеспечивая представление их в более удобной для восприятия форме. Если в исходной таблице по горизонтали были расположены хозяйственные субъекты, а по вертикали параметры социально-экономической сферы, то после операции вращения параметры будут размещены по горизонтали, а названия субъектов – по вертикали.
Для выполнения операций свертки и детализациидолжна существовать иерархия значений измерения, то есть некоторая подчиненность одних значений другим. Например, 12 месяцев образуют год. При выполнении операции свертки одно из значений измерения заменяется значением более высокого уровня иерархии. Операция детализация – это операция, обратная свертке. Она обеспечивает переход от обобщенных данных к детализированным данным.
У многомерных моделей есть недостатки, сдерживающие их применение:
по сравнению с реляционными моделями они неэффективно используют память;
в многомерных моделях заранее резервируется место для всех значений, даже если часть из них заведомо будет отсутствовать;
выбор высокого уровня детализации при реализации гиперкуба может очень сильно увеличить размер многомерной БД.
- Основы информационных технологий
- Оглавление
- Предисловие
- Современные информационные технологии
- 1.1 История, современное состояние и перспективы развития вычислительной техники
- 1.2 Элементная база, архитектура, сетевая компоновка, производительность
- 1.3 Понятие информации. Классификация и виды информационных технологий
- Основные свойства информационных технологий.
- 1 .4 Операционные системы
- 2 Основные программные средства информационных технологий
- 2.1. Программное обеспечение. Текстовые редакторы, их возможности и назначение
- 2.2. Графические редакторы
- 2.3. Электронные таблицы
- 2.4. Сервисные инструментальные программные средства
- 2.5. Системы математических вычислений MatLab
- 2.6 Система подготовки презентаций
- 3 Сетевые технологии и интернет
- 3.1 Классификация компьютерных сетей
- 3.2 Семиуровневая модель структуры протоколов связи
- 2.3. Взаимодействие компьютеров в сети
- 3.3 Организационная структура Internet
- 3.4 Инструментальные средства создания web-сайтов. Основы web-дизайна
- 3.5 Языки разметки гипертекста html и xml
- 3.6 Скриптовые языки программирования
- 4 Системы управления базами данных
- 4.1. Классификация систем управления базами данных
- 4.2 Модели данных
- 4.3 Моделирование баз данных
- 4.4 Архитектура и функциональные возможности субд. Языковые и программные средства субд
- 4.5 Общая характеристика субд ms Access
- 4.6 Основные объекты ms Access
- 4.7 Основы языка sql
- Контрольные вопросы
- 5 Защита информации при использовании информационных технологий
- 5.1 Основы информационной безопасности
- 5.2. Методы и средства защиты информации
- 5.3 Защита от несанкционированного доступа к данным
- 5.4 Классы безопасности компьютерных систем
- 5.5 Основные аспекты построения системы информационной безопасности
- 6 Математическое моделирование и численные методы
- 6.1 Математические модели и численные методы решения задач в различных предметных областях
- 6.2 Численное дифференцирование и интегрирование
- 6.2.1 Особенность задачи численного дифференцирования
- 6.2.2 Интерполяционная формула Лагранжа для равноотстоящих узлов
- 6.2.3 Численное дифференцирование на основе интерполяционной формулы Лагранжа
- 6.2.4 Численное дифференцирование на основе интерполяционной формулы Ньютона
- 6.2.5 Постановка задачи численного интегрирования
- 6.2.6 Квадратурные формулы Ньютона-Котеса
- 6.2.7 Формула трапеций
- 6.2.8 Формула Симпсона
- 6.2.9 Оценка точности квадратурных формул
- 6.3 Методы решения обыкновенных дифференциальных уравнений
- 6.3.1 Задача Коши и краевая задача
- 6.3.1.1 Классификация уравнений
- 6.3.1.2 Задача Коши
- 6.3.2 Одношаговые методы решения задачи Коши
- 6.3.2.1 Метод Эйлера
- 6.3.2.2 Модифицированный метод Эйлера
- 6.3.2.3 Метод Рунге-Кутта четвертого порядка
- 6.3.2.4 Погрешность решения и выбор шага
- 6.3.3 Многошаговые методы решения задачи Коши
- 6.3.3.1 Многошаговые методы
- 6.3.3.2 Метод Адамса
- 6.3.3.3 Методы прогноза и коррекции (предиктор-корректор)
- 6.3.3.4 Общая характеристика многошаговых методов
- 6.3.4 Краевая задача и метод стрельбы
- 6.3.4.1 Краевая задача
- 6.3.4.2 Метод стрельбы
- 6.3.4.3 Метод стрельбы для линейного дифференциального уравнения
- 6.4 Решение дифференциальных уравнений в чстных производных
- 6.4.1 Краткие теоретические сведения
- 6.4.2 Классификация уравнений по математической форме
- 6.4.3 Основы метода конечных разностей
- 6.4.3.1 Построение сетки
- 6.4.3.2 Аппроксимация уравнения эллиптического типа
- 6.4.3.3 Аппроксимация уравнения гиперболического типа
- 6.4.3.4 Аппроксимация уравнения параболического типа
- 6.4.3.5 Погрешность решения
- 6.4.4 Основы метода конечных элементов
- 6.4.4.1. Формирование сетки
- 6.4.4.2 Конечно-элементная аппроксимация
- 6.4.4.3 Построение решения
- 6.6 Элементы математической статистики
- 6.6.1 Генеральная совокупность. Выборка. Статистические ряды
- 6.6.2 Графическое изображение вариационных рядов. Эмпирическое распределение
- 6.6.3 Средние величины и показатели вариации
- 6.6.4 Средняя арифметическая и ее свойства
- 6.6.5 Дисперсия и ее свойства. Среднее квадратическое отклонение
- 6.6.6 Коэффициент вариации
- 6.6.7 Структурные средние
- 6.6.8 Законы распределения случайных величин
- 6.6.9 Статистические гипотезы
- 7 Методы оптимизации и системы поддержки принятия решений
- 7.1 Характеристика методов решения задач оптимизации
- 7.1.1 Численные методы безусловной оптимизации нулевого порядка
- 7.1.1.1 Основные определения
- 7.1.1.2 Классификация методов
- 7.1.1.3 Общая характеристика методов нулевого порядка
- 7.1.1.4 Метод прямого поиска (метод Хука-Дживса)
- 7.1.1.5 Метод деформируемого многогранника (метод Нелдера—Мида)
- 7.1.1.6 Метод вращающихся координат (метод Розенброка)
- 7.1.1.7 Метод параллельных касательных (метод Пауэлла)
- 7.1.2 Численные методы безусловной оптимизации первого порядка
- 7.1.2.1 Минимизация функций многих переменных. Основные положения
- 7.1.2.2 Метод наискорейшего спуска
- 7.1.2.3 Метод сопряженных градиентов
- 7.1.3 Численные методы безусловной оптимизации второго порядка
- 7.1.3.1 Особенности методов второго порядка
- 7.1.3.2 Метод Ньютона
- 7.2 Линейное программирование
- 7.2.1 Транспортная задача линейного программирования
- 7.2.1.1 Постановка задачи
- 7.2.1.2 Венгерский метод
- 7.2.1.3 Метод потенциалов
- 7.3 Прямые методы условной оптимизации
- 7.3.1 Основные определения
- 7.3.2 Метод проекции градиента
- 7.3.3 Комплексный метод Бокса
- 7.4 Методы штрафных функций
- 7.4.1 Основные определения
- 7.4.2 Методы внутренних штрафных функций
- 7.4.3 Методы внешних штрафных функций
- 7.4.4 Комбинированные алгоритмы штрафных функций
- 7.5 Информационные технологии поддержки принятия решений
- 7.6 Информационные технологии экспертных систем Характеристика и назначение
- Список литературы