Логические модели баз данных. Нормализация базы данных. О понятии «модель данных»

Ядром любой базы данных является модель данных.Модель данных – совокупность структур данных и операций их обработки.

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

Иерархическая модель позволяет строить базы данных с древо­видной структурой. В них каждый узел содержит свой тип данных (сущность). На верхнем уровне дерева в этой модели имеется один узел – «корень», на следующем уровне располагаются узлы, связан­ные с этим корнем, затем узлы, связанные с узлами предыдущего уровня и т. д., причем каждый узел может иметь только одного предка (рис. 1.).

Рисунок 1 Схема иерархической модели данных

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

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

Указанный недостаток снят всетевой модели, где, теоретически возможны связи «всех информационных объек­тов со всеми» (рис. 2). Пример – учебное заведение, где каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей.

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

Рисунок 2 Сетевая структура модели данных

требуются значительные ресурсы как дисковой, так и основной па­мяти ЭВМ. Недостаток основной памяти, конечно, снижает ско­рость обработки данных. Кроме того, для таких моделей характерна сложность реализации системы управления базами данных (СУБД).

Реляционная модель . Модель опирается на систему понятийреляционной алгебры, важнейшие из которых: таблица, строка, столбец, отношение и пер­вичный ключ, а все операции сводятся к манипуляциям с таблицами.

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

Таблица отражает объект реального мира – сущность, а каждая ее строка (запись) отражает один конкретный экземпляр объекта – экземпляр сущности. Каждый столбец таблицы имеет уникальное для своей таблицы имя. Столбцы расположены в таблице в соответ­ствии с порядком следования их имен при ее создании.

В отличие от столбцов строки не имеют имен, порядок их сле­дования в таблице не определен, а количество логически не ограни­чено. Так как строки в таблице не упорядочены, невозможно вы­брать строку по ее позиции. Хотя в файле у каждой строки имеется номер, он не характеризует строку. Его значение изменяется при удалении строк из таблицы. Логически среди строк не существует «первой» и «последней».

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

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

Лекция №2.

«Информационная модель данных, её состав и три типа логических моделей».

План.
1. Информационная модель данных, ее состав:
- концептуальная,
- логическая
- физическая модели

- иерархическая,
- сетевая,
- реляционная.
3. Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко мно-гим»

1. Информационная модель данных, ее состав.

Каждая информационная система в зависимости от ее назначе¬ния имеет дело с той или иной частью конкретного мира, которую принято называть предметной областью инфор-мационной системы.
Анализ предметной области является необходимым начальным эта¬пом разработки любой информационной системы. Именно на этом этапе определяются информационные потреб-ности всей совокупно¬сти пользователей будущей системы, которые, в свою очередь, пре¬допределяют содержание ее базы данных.
Предметная область дан¬ной информационной системы рассматривается прежде всего как некоторая совокупность реальных объектов, которые представляют интерес для ее поль-зователей.

Примерами объектов предметной об¬ласти могут служить персональные ЭВМ, программ-ные продукты, их пользователи. Каждый из них обладает определенным набором свойств (атрибутов).
Так, компьютер характеризуется
названием фирмы-производителя,
идентификатором модели,
типом микропро¬цессора,
объемом оперативной и внешней памяти,
типом графиче¬ской карты и т. д.

Информационный объект - это описание некоторой сущности предметной области - ре-ального объекта, процесса, явления или события.
Информационный объект (сущность) образуется совокуп¬ностью логически взаимосвязан-ных атрибутов (свойств), представ¬ляющих качественные и количественные характеристи-ки объекта (сущности).

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

В против¬ном случае связь является факультативной (необязательной).
Обязательная связь «ЗАМЕЩАЕТ» существует, например, меж¬ду двумя объектами СО-ТРУДНИК и ДОЛЖНОСТЬ в предметной области кадровой информационной системы.

Каждый принимае¬мый в организацию сотрудник зачисляется на какую-либо долж¬ность и не может быть сотрудника, не замещающего какой-либо должности.
В то же время связь «ЗАМЕЩАЕТСЯ» между типами объектов СОТРУДНИК и ДОЛЖ-НОСТЬ является факультативной, поскольку могут существовать вакантные должности.

Логическая модель отражает логические связи между атрибутами объектов вне зависимо-сти от их содержания и среды хранения и мо¬жет быть реляционной, иерархической или сетевой.

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

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

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

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

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

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

Иерархическая модель позволяет строить базы данных с древо¬видной структурой. В них каждый узел содержит свой тип данных (сущность). На верхнем уровне дерева в этой мо-дели имеется один узел - «корень», на следующем уровне располагаются узлы, связан¬ные с этим корнем, затем узлы, связанные с узлами предыдущего уровня и т. д., причем каждый узел может иметь только одного предка (рис. 1.2).
Организация поиска данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня на другой пока не будет достигнут искомый уровень.
Перемещения по системе от од¬ной записи к другой осуществляются с помощью ссылок.
Основные достоинства иерархической модели - простота опи¬сания иерархических струк-тур реального мира и быстрое выполне¬ние запросов, соответствующих структуре данных, однако, они час¬то содержат избыточные данные.

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

Указанный недостаток снят в сетевой модели, где, по крайней мере, теоретически возмож-ны связи «всех информационных объек¬тов со всеми».

В примере учебного заведения на рис. 1.3 каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей.
Поскольку на практике это, естественно, невоз¬можно, приходится прибегать к некоторым ограничениям.

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

Недостаток основной памяти, конечно, снижает ско¬рость обработки данных. Кроме того, для таких моделей характерна сложность реализации системы управления базами данных (СУБД).

Реляционная модель (от англ, relation - отношение) была разра¬ботана в начале 70-х го-дов Коддом. Простота и гибкость модели привлекли к ней внимание разработчиков.
В 80-х годах она получи¬ла широкое распространение, и реляционные СУБД оказались про¬мышленным стандартом.

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

Таблица отражает объект реального мира - сущность, а каждая ее строка (запись) отра-жает один конкретный экземпляр объекта - экземпляр сущности.

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

Логически среди строк не существует «первой» и «последней».

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

Этот столбец или их совокуп¬ность и называется первичным ключом таблицы (рис. 1.4).
Таблица 1. СОТРУДНИК
Название таблицы
№ пропуска
Фамилия
Должность
Название отдела Y
Телефон

\
Первичный ключ таблицы 1
Внешний ключ таблицы 1
Таблица 2. ОТДЕЛ
Название таблицы
Название отдела
Расположение отдела
Назначение отдела

Первичный ключ таблицы 2
Рис. 1.4. Организация ссылки от одной таблицы к другой

Если таблица удовлетворяет требованию уникальности первично¬го ключа, она называется отношением.

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

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

Говорят, что отношение, в котором определен внешний ключ, ссылается на соответст-вующее отношение, в котором та же сово¬купность столбцов является первичным ключом.

В приведенном примере на рис. 1.4 отношение «СОТРУДНИК» ссылается на отношение «ОТДЕЛ» через название отдела.

Схема реляционной таблицы (отношения)
представляет собой со¬вокупность имен полей, образующих запись таблицы:
НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2, ..., Поле N).

Например, для таблиц на рис. 1.4 имеем следующие схемы таблиц:

СОТРУДНИК (№ пропуска, Фамилия. Должность, Название отдела, Телефон);
ОТДЕЛ (Название отдела, Расположение отдела, Назначение отдела).

Курсивом в схемах таблиц показаны первичные ключи.

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

Доминирование реляционной модели в современных СУБД оп¬ределяется:
1) наличием развитой теории (реляционной алгебры);
2) наличием аппарата сведения других моделей данных к реля¬ционной модели;
3) наличием специальных средств ускоренного доступа к ин¬формации;
4) наличием стандартизированного высокоуровневого языка за¬просов к БД, позволяющего манипулировать ими без знания кон¬кретной физической организации БД во внешней па-мяти.

3. Типы взаимосвязей в модели:
«один к одному», «один ко многим», «многие ко многим»

На практике часто используются связи, устанавливающие раз¬личные виды соответствия между объектами «связанных» типов, - «один к одному» (1:1), «один ко многим» (1:М), «многие ко мно¬гим» (М:М).

Связь «один к одному» означает, что каждому экземпляру пер¬вого объекта (А) соответст-вует только один экземпляр второго объ¬екта (В) и наоборот, каждому экземпляру второго объекта (В) соот¬ветствует только один экземпляр первого объекта (А).

Связь «один ко многим» характеризуется тем, что каждому эк¬земпляру одного объекта (А) может соответствовать несколько эк¬земпляров другого объекта (В), а каждому экземпляру второго объ¬екта (В) может соответствовать только один экземпляр первого объ¬екта (А).
Связь «многие ко многим» означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземп-ляру второго объек¬та (В) могут соответствовать тоже несколько экземпляров первого объ-екта (А).
Пример 1.1. Рассмотрим совокупность следующих информаци¬онных объектов:

СТУДЕНТ (Номер студента, Фамилия И.О., Дата рождения. Номер группы);
СТИПЕНДИЯ (Номер студента. Размер стипендии);
ГРУППА (Номер группы, Специальность);
ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность).

Информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением «один к од-ному», так как каждый студент может иметь только одну стипендию, и каждая стипендия может быть назначена только одному студенту.
Информационные объекты ГРУППА и СТУДЕНТ связаны от¬ношением «один ко многим», так как одна группа может включать много студентов, и в то же время каждый студент может обучаться только в одной группе.
Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаны отношением «многие ко многим», так как один студент мо¬жет обучаться у многих преподавателей, и один пре-подаватель мо¬жет обучать многих студентов.

ЛЕКЦИЯ

Логические модели данных.

Иерархические, сетевые, реляционные модели данных.

Принципы построения.

Преимущества и недостатки

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

11.1. О понятии «модель данных»

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

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

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

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

Итак, модель данных – модель логического уровня проектирования БД. Ее можно рассматривать как сочетание трех компонентов (слайд 2 ):

1. Структурный компонент, т.е. набор правил, по которым может быть построена БД.

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

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

С точки зрения структурного компонента выделяют модели на основе записей. В модели на основе записей структуру данных составляет совокупность нескольких типов записей фиксированного формата. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фикси рованную длину.
Существуют три основных типа логических моделей данных на основе записей ( слайд 3 ):
- реляционная модель данных ( relational data model );
- сетевая мо дель данных (network data model );
- иерархическая модель данных ( hierarchical data model ).
Иерархическая и сетевая модели данных были созданы почти на десять лет раньше реляционной модели данных, потому их связь с концепциями традиционной обработки файлов более очевидна.

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

Реляционная модель данных основана на понятии математических отношений. В реляционной модели данные и связи представлены в виде таблиц, каждая из которых имеет несколько столбцов с уникальными именами. На слайде (слайд 4 ) показан пример реляционной схемы, содержащей сведения о кафедрах ВУЗа и кадровом составе. Например, из таблицы «Кадровый состав» видно, что сотрудник Иванов И.И. работает в должности заведующего кафедрой 22, которая, согласно данным из таблицы «Структура», расположена в корпусе А, в комнате 322. Здесь важно отметить, что между отношениями «Кадровый состав» и «Структура» существует следующая связь: сотрудник работает на кафедре. Однако между этими двумя отношениями нет явно заданной связи: ее существование можно заметить, только зная, что атрибут Каф в отношении «Кадровый состав» эквивалентен атрибуту Каф в отношении «Структура».

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

На слайдах (слайды 5, 6 ) представлена реляционная модель данных для ПрО «сотрудники-проекты-детали-поставщики».

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

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

Самой популярной сетевой СУБД является система IDMS / R фирмы Computer Associates .

На слайдах (слайды 8, 9 ) представлены варианты сетевой модели данных для ПрО «сотрудники-проекты-детали-поставщики».

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

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

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

На слайдах (слайды 11, 12 ) представлена варианты иерархической модели данных для ПрО «сотрудники-проекты-детали-поставщики».

11.5. Преимущества и недостатки моделей

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

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

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

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

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

Многомерные модели, коммерческие реализации которых появились в начале 90-х годов для поддержки технологий OLAP представляют собой некоторое расширение модели универсальных отношений новыми операционными возможностями, обеспечивающими, в частности, необходимые для OLAP функции агрегирования данных. Таким образом, многомерные модели представляют собой особую разновидность реляционной модели.

11.6. Документальные системы и интеграция моделей

Приведенные выше положения разрабатывались и действительно широко используются для баз данных хорошо структурированной информации. Однако уже сегодня одной из важнейших проблем становится обеспечение интеграции неоднородных информационных ресурсов, и в частности слабоструктурированных данных. Необходимость ее решения связывается со стремлением к полноценной интеграции систем баз данных в среду Web-технологий. При этом уже недостаточно простого обеспечения доступа к базе данных традиционным способом “из-под” HTML-форм. Нужна интеграция на модельном уровне. И в этом случае проблема семантической интероперабельности информационных ресурсов сводится к задаче разработки средств и технологий, предусматривающих явную спецификацию метаданных для ресурсов слабоструктурированных данных на основе традиционных технологий моделирования из области баз данных.

Именно на достижение этой цели направлены интенсивные разработки WWW -консорциумом языка XML и его инфраструктуры (фактически, новой модели данных для этой среды), объектной модели документов и других средств, которые, как можно ожидать, в близкое время станут основой технологий управления информационными ресурсами. Это направление связано с другой глобальной проблемой - организацией распределенных неоднородных информационных систем на основе построения репозиториев метаданных (этому понятию в классических работах по проектированию баз данных соответствует понятие словарь данных), обеспечивающих возможность семантического отождествления ресурсов и, таким образом, возможность их целенаправленного повторного использования.

Любой объект, описанный в форматах пространственных данных, имеет атрибутику, жестко-привязанную к пространственным данным и хранящуюся в таблицах БД. Поля и строки атрибут данных подлежат корректировки, исправлению, дополнению. Такая организация данных ГИС позволяет получить мгновенную информацию об атрибутах пространственных объектов. Эта информация получается путем включения коммуникационных структур, которые создаются на основании запросов, написанных на специальном языке SQL - structured query language - язык структурированных запросов. Структурирование данных в базах данных называется логической моделью построения баз и банков данных.

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

  • 1. Иерархические
  • 2. Сетевые модели
  • 3. Относительные модели.
  • 4. Объектно-ориентированные.

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

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

Достоинства иерархической модели данных:

  • 1. Легкая для понимания.
  • 2. Обеспечивается быстрый доступ к данным с помощью ключа объекта. Наилучший эффект от использования иерархической модели данных достигается при кодировании объектов на следующих иерархических структурах административного устройства.

Недостатки:

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

В отличие от иерархических моделей, сетевые модели используют разные типы взаимоотношений между объектами БД. Наряду со стандартным отношением: 1:М - один к множеству, используется M:N - множество к множеству. В этом случае дочерний объект может принадлежать множеству материнских БД, а также множество дочерних объектов может быть взаимосвязано с множеством материнских БД.

Достоинства:

Гибкость модели, способность быстро перестраиваться при изменении данных.

Недостатки:

Сложность при перестроении, при уничтожении какого-либо объекта БД.

Уничтожение объекта влечет за собой пересмотр всех дочерних и материнских БД, имеющих сетевые связи с данным объектом, поэтому более всего применяется следующий вид:

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

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

Обычно пространственные данные в этих БД представлены в виде векторных моделей.

Объектно-ориентированные БД включают три класса БД:

  • 1. Класс структурно объектно -ориентированные модели данных.
  • 2. Относительно объектно-ориентированные модели данных.
  • 3. Полные объектно-ориентированные модели данных.

Разница состоит в гибкости.

В структурно-ориентированных моделях данных элементарная частица информации рассматривается, как объект в банке данных.

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

Достоинства объектно-ориентировочной модели:

  • 1. Объект является оптимальным образом для записей моделей реального мира.
  • 2. Является достаточно гибким для хранения информации о собственном образе жизни и развития.

Недостатки:

Такие модели требуют больших затрат времени и занимают огромный объем памяти.

Ядром любой базы данных является модель данных. Модель данных - это совокупность структур данных и операций их обработки.

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

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

При этом каждый узел может иметь только одного предка (рис. 1.2).

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

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

Указанный недостаток снят в сетевой модели, где (по крайней мере, теоретически) возможны связи всех информационных объектов со всеми.

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

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



Реляционная модель (от англ. relation - отношение) была разработана в начале 70-х годов XX в. Коддом. Простота и гибкость этой модели привлекли к ней внимание разработчиков, и уже 80-х годах XX в. она получила широкое распространение. Таким образом реляционные СУБД оказались промышленным стандартом.

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

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

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

Рис. 1.2. Иерархическая древовидная структура модели БД

Рис. 1.3. Сетевая структура модели БД

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

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

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

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

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

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

В приведенном на рис. 1.4 примере отношение СОТРУДНИК ссылается на отношение ОТДЕЛ через название отдела.

Схема реляционной таблицы (отношения) представляет собой совокупность имен полей, образующих ее запись:

НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2.....Поле п).

Например, для таблиц, показанных на рис. 1.4, имеем следующие схемы (курсивом выделены первичные ключи):

СОТРУДНИК (Номер пропуска, ФИО, Должность, Название отдела, Телефон);

ОТДЕЛ (Название отдела. Расположение отдела, Назначение отдела).

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

Доминирование реляционной модели в современных СУБД определяется:

наличием развитой теории (реляционной алгебры);

наличием аппарата сведения других моделей данных к реляционной модели;

наличием специальных средств ускоренного доступа к информации;

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