Иерархическая модель данных
БАЗЫ ДАННЫХ
Объекты, атрибуты, связи
Одной из важнейших областей применения компьютеров является переработка и хранение больших объемов информации в различных сферах деятельности человека: в экономике, банковском деле, торговле, транспорте, медицине, науке и т. д.
Существующие современные информационные системы характеризуются огромными объемами хранимых и обрабатываемых данных, сложной организацией, необходимостью удовлетворять разнообразным требованиям многочисленных пользователей.
Информационная система– это система, которая реализует автоматизированный сбор, обработку и манипулирование данными и включает технические средства обработки данных, программное обеспечение и обслуживающий персонал.
Цель любой информационной системы – обработка данных об объектах реального мира с учетом связей между объектами. Основой информационной системы является база данных.
В широком смысле слова база данных (БД) – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления его объектами и, в конечном счете, автоматизации (например, предприятие, банк, вуз и т. д.).
База данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Поэтому очень важно осознание того, что базы данных существуют реально и содержащаяся в них информация имеет общественную ценность.
В качестве примера баз данных, существующих в бумажном виде, можно привести библиотечный каталог и данные о пациентах в регистратуре больницы. Эти базы данных содержат информацию об однотипных объектах – книгах и пациентах. Практически во всех регионах России имеются базы данных ГИБДД, телефонные базы данных, базы данных паспортных столов и т.п. На любом предприятии есть база данных о сотрудниках, в любом вузе есть база данных о студентах.
Модели данных
База данных – это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств. С помощью модели данные могут быть представлены объекты предметной области и связи между ними.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро производить выборку с произвольным сочетанием признаков. При этом очень важно выбрать правильную модель данных. Модель данных – это формализованное представление основных категорий восприятия реального мира, представленных его объектами, связями, свойствами, а также их взаимодействиями.
Различают три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая модель организации данных представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое по структуре дерево (граф).
К основным понятиям иерархической структуры относятся уровень, узел и связь. Узел – это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину, не подчиненную никакой другой вершине и находящуюся на самом верхнем – первом (корневом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Исходные элементы порождают другие элементы, эти элементы в свою очередь порождают следующие элеменьы и т.д. Каждый элемент может быть порожденным только в одной связи, следовательно, ему соответствует только один исходный элемент. Однако каждый элемент может быть исходным во многих связях. Корневой элемент может быть только исходнымй.
Рис. 7.2.1.1. Иерархическая модель данных
Данные в иерархической БД упорядочены в определенной последовательности, как ступеньки лестницы, и поиск данных может осуществляться лишь последовательным «спуском» со ступеньки на ступеньку. Поиск какого-либо элемента в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней.
Классификация животного мира, структура почтовых адресов, файловая структура диска являются примерами иерархической модели баз данных.
На рис. 7.2.1.2 и рис. 7.2.1.3 представлены типичные иерархические структуры, в которых исходные элементы порождают другие элементы, прием эти элементы, в свою очередь, порождают следующие элементы и т.д. Существенно то, что каждый порожденный элемент имеет только одного «родителя».
Рис. 7.2.1.2. Принцип построения иерархической модели организации БД
Рис. 7.2.1.3.Иерархическая модель БД – файловая структура диска.
Сетевая модель данных
В сетевой модели при тех же основных понятиях (уровень, узел, связь) каждый порожденный элемент может быть иметь более одного порождающего элемента.
Рис. 7.2.2.1. Сетевая модель данных
Сетевая модель отличается большей гибкостью, чем иерархическая, так как в ней существует возможность устанавливать дополнительно к вертикальным иерархическим связям горизонтальные связи. Это облегчает процесс поиска требуемых элементов данных, так как уже не требуется обязательное прохождение всех предшествующих ступеней.
Примером сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС.
Рис. 7.2.2.2. Принцип построения сетевой модели организации БД.
Реляционная модель данных
Можно доказать, что и иерархическую, и сетевую структуры данных можно преобразовать в двумерную таблицу. Такое представление является наиболее удобным и для пользователя, и для компьютера, – подавляющее большинство современных информационных систем работает именно с такими таблицами. Базы данных, которые состоят из двумерных таблиц, называют реляционными.
Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде двумерной таблицы или, как говорят, нормализовать структуру. Нормализация – это процесс прохода по веткам иерархического дерева с целью разместить листочки» со всеми их узлами и ветками в отдельных строках таблицы.
Основы теории реляционных БД разработал в 70-х годах XX века Э.Кодд (США).
Основными понятиями реляционной модели данных являются сущность, отношение, атрибут и кортеж.
Сущность – это конкретный объект реального мира в какой-либо предметной области. т.е. объектом можно назвать то «нечто», для которого существуют название и способ отличить один подобный объект от другого. Например, каждый ВУЗ – это объект. Объектами также являются человек, фирма, сплав, химическое соединение и т. д. Объектами могут быть не только материальные предметы, но и более абстрактные понятия, отражающие реальный мир, например, события, произведения искусства, правовые нормы, научные теории и пр.
Группы всех подобных объектов образует набор объектов. Например, наборами объектов могут быть факультеты ВУЗа, товары на складе, люди, работающие на предприятии. Конкретный объект в такой группе называют экземпляром объекта.
Данные о сущности хранятся в двумерных таблицах, которые называются реляционными. Формальное построение таблиц связано с фундаментальным понятием отношение (от английского слова relation – отношение).
Каждая строка таблицы представляет собой одну запись файла данных, каждый столбец – одно поле.
Рис. 7.2.3.1. Структура табоицы базы данных
Атрибут (или данное) – это некоторый показатель, который характеризует некий объект и принимает для конкретного экземпляра объекта некоторое числовое, текстовое или иное значение. Например, возьмем в качестве набора объектов группы факультета. Число студентов в группе – это атрибут, который принимает числовые значения (у одной группы 25, у другой 18). Название группы – это атрибут, который принимает текстовые значения (у одной – ФК-11, у другой – ЭКО-12 и т.д.).
Очень часто в современных информационных системах используются «качественные» данные об объектах, например рейтинг (фильма, спортсмена, политика), увлечения человека, его темперамент.
Атрибут некоторого набора объектов сам может быть набором объектов, имеющим собственные атрибуты. Например, атрибутом человека (как экземпляра набора объектов «Люди») является ВУЗ, который этот человек окончил (МГУ, МарГТУ и т.п.). С другой стороны, конкретный ВУЗ – это экземпляр набора объектов «Вузы» и характеризуется множеством данных: фамилия ректора, адресом, специализацией, количеством студентов и т.д. Наконец, ректор, в свою очередь – это экземпляр набора объектов «Люди». Таким образом, возникает возможность установления связи между экземплярами объектов из разных наборов.
Списки возможных значений атрибутов называются классификаторами (справочниками, словарями). Например, страна, гражданином которой является конкретное лицо, служит атрибутом этого лица. Список всех стран планеты – это и есть классификатор, из которого выбирают значение атрибута для конкретного лица.
Иногда для конкретного объекта один и тот же атрибут может принимать несколько значений. Например, одна фирма изготавливает разные виды продукции, один человек может иметь несколько увлечений и т. п. Такие данные образуют так называемые повторяющиеся группы.
Значения некоторых данных постоянны у конкретных объектов (например, год рождения человека); значения других могут меняться с течением времени (например, образование человека, его должность, число работающих на предприятии и т.п.).
Кортеж –это элемент отношения , строка таблицы; упорядоченный набор из N элементов.
Хотя любое отношение можно изобразить в виде таблицы, нужно четко понимать, что отношения не являются таблицами. Это близкие, но не совпадающие понятия. Термины, которыми оперирует реляционная модель данных, имеют соответствующие «табличные» синонимы:
Таблица 7.2.3.1
Рис. 7.2.3.2. Основные понятия баз данных
Свойства отношений:
1. В отношении нет одинаковых кортежей.
2. Кортежи не упорядочены (сверху вниз).
3. Все атрибуты содержат однородные по типу данные.
4. Имена атрибутов должны быть уникальны в пределах отношения.
5. Атрибуты не упорядочены (слева направо).