Наши знания о реальном мире складываются из множества информационных моделей. Это сведения о свойствах разнообразных объектов и их взаимодействии между собой. С развитием производства и общества поток информации непрестанно растет. Все труднее становится найти в этом мощном потоке те сведения, которые интересуют нас в данный момент. Чтобы ориентироваться в таком обилии и разнообразии данных, мы стремимся их систематизировать. Это особенно актуально в тех случаях, когда нужно описать совокупность объектов, у которых можно выделить общие свойства, например книг в библиотеке или пациентов поликлиники. Традиционно такую информацию в виде таблиц.
Наиболее простой способ организации данных в компьютере — реляционный, когда информационная модель объекта представлена в виде знакомой нам таблицы, состоящей из столбцов и строк. Число столбцов определяется количеством параметров (признаков) объекта, по которым строится его информационная модель. Каждый столбец имеет имя, непосредственно указывающее на его содержимое. Число строк соответствует количеству описываемых объектов. Каждая строка содержит информацию об одном объекте по множеству параметров. По терминологии баз данных столбцы называются полями, строки — записями.
Таблицы – одна из основных и наиболее распространённых форм представления информации, в том числе и в случае, когда информация обрабатывается при помощи персонального компьютера. Широко известно табличное представление математических функций, статистических данных, расписаний поездов и самолетов, уроков и так далее.
Известно, что информация лучше воспринимается человеком, если она представлена в наглядной форме. В очень большой степени это касается числовой информации, которая обычно и обрабатывается при помощи электронных таблиц. Данные в таких таблицах представлены в виде перечня однотипных объектов или свойств размещен в первом столбце (или строке) таблицы, а значения их свойств размещаются в следующих столбцах (или строках) таблицы.
Часто соотношения между числовыми величинами удобнее показать в графической форме, чем просто в виде столбцов (строк) чисел. Диаграммы являются эффективным средством наглядного представления числовых значений и соотношений между ними в электронных таблицах. Построение диаграмм является одной из составляющих современных электронных таблиц.
Идею электронных таблиц впервые сформулировал американский ученый Ричард Маттессич, опубликовав в 1961 г. исследование под названием Budgeting Models and System Simulation. Концепцию дополнили в 1970 г. Пардо и Ландау, подавшие заявку на соответствующий патент (U.S. Patent no. 4,398,249). Патентное ведомство отклонило заявку, но авторы через суд добились отмены этого решения.
Общепризнанным родоначальником электронных таблиц как отдельного класса ПО является Дэн Бриклин, совместно с Бобом Фрэнкстоном разработавший легендарную программу VisiCalc в 1979 г. Этот табличный редактор для компьютера Apple II стал "убойным приложением", превратившим персональный компьютер из экзотической игрушки для технофилов в массовый инструмент для бизнеса.
Впоследствии на рынке появились многочисленные продукты этого класса - SuperCalc, Microsoft MultiPlan, Quattro Pro, Lotus 1-2-3, Microsoft Excel, OpenOffice.org Calc, таблицы AppleWorks и gnumeric.
Информационное моделирование.
Основные типы информационных моделей (табличные, иерархические, сетевые).
Табличные модели. Одним из наиболее часто используемых
типов информационных моделей является таблица, которая состоит из строк и
столбцов.
Построим, например, табличную информационную модель,
отражающую стоимость отдельных устройств компьютера (табл. 1). Пусть в первом
столбце таблицы содержится перечень объектов (устройств), входящих в состав
компьютера, а во втором — их цена.
Таблица 1
Наименование
устройства |
Цена, у.е. |
Системная плата |
80 |
Процессор |
70 |
Память |
60 |
Жесткий диск |
45 |
Дисковод 3,5 |
5 |
Видеоплата |
130 |
Монитор |
114 |
DVD привод |
30 |
Корус |
140 |
Клавиатура |
10 |
С помощью таблиц создаются информационные модели в
различных предметных областях. Широко известно табличное представление
математических функций, статистических данных, расписаний поездов и самолетов,
уроков и т. д.
Табличные информационные модели проще всего
формировать и исследовать на компьютере посредством электронных таблиц и систем
управления базами данных.
Реляционная модель появилась в
1970 г. (Е.Kodd).
Более ранними и основными, используемыми в СУБД для
универсальных ЭВМ являются сетевая и иерархическая модели данных. В
настоящее время определения этих моделей базируются на терминологии,
предложенной спец. профессиональной организацией КОДАСИЛ CODASYL
Conference on Data System Languages
(Ассоциация по языкам систем обработки данных) В ряде отчетов этой организации,
опубликованных в 1970 г.
Агрегат
1). типа вектор: каждая
компонента - простой элемент данных.
Пример: зарплата за год, 12 элементов месячная зарплата
2). типа повторяющаяся
группа, более общая конструкция
Пример: агрегат “заказ” повтор. группа
“партия товара” состоит из элементов: ... товара, количество, цена.
Запись - именованная совокупность элементов данных и агрегатов. Агрегат - не
входящий в состав другого агрегата.
Набор - именованная совокупность записей, образующих 2-х уровневую иерархическую структуру (2 типа записей). Запись верхнего
уровня - “запись-владелец” (1 экземпляр); запись нижнего уровня “запись-член”
(0, или несколько экземпляров).
Назначение набора - представлено связью между записями.
БД наименования совокуп. экземпляров записей разного
типа, содержащая ссылки между записями, представленных экземплярами наборов.
Рассмотренные типы структур позволяют использовать различные формы
представления схемы данных, включая текстовое описание, описание на специальном
языке описания данных (ЯОД), графическое представление.
При графовой форме представления (записи агрегаты
атрибутов), представляющей сущности изображаются вершинами графа, а связи между
ними - дугами.
В сетевой модели основным
внутренним ограничением является требование функциональности связей, т. е.
непосредственно могут использоваться только связи 1:1, 1:М, М:1 (функциональной
будет обратная связь). Это означает, что каждый экземпляр записи не может быть
членом более чем одного экземпляра набора каждого типа. И у каждой записи члена
в данном наборе только одна - запись-владелец набора.
Пример: (очевидный, тривиальный) группа студент
номер группы - владелец набора; запись студента - член набора.
При этом непосредственное представление связей M:N (студент - преподаватель)
невозможно: для представления этих связей вводятся вспомогательные типы записей
и две функциональные связи типа 1:M.
На связи между именами данных могут быть наложены явные ограничения, выражения,
зависящие и не зависящие от времени свойства связей. Они задаются типом
членства в наборе.
Фиксированное членство. Запись нельзя разъединить с владельцем или перевести в
единственный способ исключения из набора - удаление
университет - дисплейные классы.
Обязательное членство. Можно переводить из набора в набор. Персонал дисплейного
класса (дежурные инженеры).
Необязательное членство. Запись можно исключить из набора в произвольный момент
времени и без включения в другой набор.
Варианты включения в набор:
- автоматический тип членства в наборе;
- ручной тип членства в наборе (явное управление пользователем).
Сетевая модель:отношения
"один:много" иерархической модели иногда
приводит к дублированию объектов, которые имеют связи типа "многие ко
многим". Модель данных, реализующая такой тип связей - это ациклический
граф.
Организация данных определяется в терминах:
элемент данных агрегат данных - совокупность элементов или других агрегатов;
пример: адрес = город, улица, дом, квартира.
Запись - агрегат, не входящий в состав других агрегатов, основная единица
обработки.
Ключ - некоторая совокупность элементов, идентифицирующих запись.
Групповое отношение (набор) - иерархическое отношение между записями двух
типов, записи одного типа - владельцы отношения, записи второго - члены
отношения или подчиненные.
Жительство в групповом отношении может быть обязательным и необязательным,
(т.е. запись может или не может существовать без владельца.) Обязательное
членство может быть фиксированным (автор - книга), или возможен переход к
другому владельцу (смена места работы).
Иерархическая модель для
объектов, связанных иерархическими отношениями часть - целое, род - вид,
начальник - подчиненный. Объекты, связанные иерархическими
отношениями, образуют дерево (ориентированный связный граф), у которого одна
вершина не имеет входящих дуг (корень дерева), а все остальные вершины имеют по
одной входящей дуге. Вершина дерева - это объекты, а дуги - это связи между
ними. Тип связи в этой модели один-ко-много
(1:М).
Иерархическая структура должна удовлетворять условиям:
1. существует только один корневой узел;
2. узел содержит один или несколько атрибутов, описывающих объект в данном
узле;
3. доступ к порожденным узлам возможен только через исходный узел (существует
только один путь доступа к каждому узлу).
В БД может быть несколько деревьев, порожденных различными корневыми записями.
Корневая запись должна содержать ключ. Ключи некорневых записей должны быть
уникальны только в пределах своего уровня иерархии того дерева, которому они
принадлежат. Каждая запись идентифицируется полным
сцепленным ключем, под которым понимается
совокупность ключей всех записей от корневой по иерархическому пути, ведущему к
данной записи.
Для реализации связь типа М:N необходимо дублирование данных, т.к. эта связь
непосредственно не поддерживается. Пример: преподаватель - предмет, студент -
предмет. Один из вариантов: корневой узел - студент, объекты преподаватель и
предмет объединяются в порожденный узел предмет + преподаватель. Экземпляр
записи так организованной базы данных.
Основная единица обработки - запись.
Операции:
Запомнить - новая запись в БД;
Обновить - изменить значения данных предварительно извлеченной записи;
Удалить - исключает из БД некоторую запись и все ей подчиненные;
Извлечь - начинается с корневой записи (по ее уникальному ключу), затем извлечь
следующий в контексте левостороннего обхода дерева.
Реляционная модель - табличная форма представления данных. Связи отсутствуют,
точнее для представления связей вводятся новые типы записей. Таблица состоит из
нескольких одноименных записей. Каждая запись состоит из нескольких полей
(атрибутов). В теории по реляционным моделям данных существует своя специальная
терминология:
домен - некоторое множество элементов (множество допустимых значений атрибута);
кортеж - элемент декартова произведения доменов (запись);
отношение - на доменах Di,...,Dk
- подмножество декартова произведения D1,*...*Dk
(таблица). Элементы отношения кортежи, т.к. отношение - это множество, то в нем
не должны встречаться одинаковые кортежи и порядок кортежей в
отношении не существенен.