Модель данных - это некоторая абстракция, которая, будучи приложима к кон¬кретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимо¬связь между ними.
В соответствии с рассмотренной ранее трехуровневой архитектурой мы стал¬киваемся с понятием модели данных по отношению к каждому уровню. И дей¬ствительно, физическая модель данных оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной опе¬рационной среде. В настоящий момент в качестве физических моделей ис¬пользуются различные методы размещения данных, основанные на файловых структурах: это организация файлов прямого и последовательного доступа, ин¬дексных файлов и инвертированных файлов, файлов, использующих различные методы хэширования, взаимосвязанных файлов. Кроме того, современные СУБД широко используют страничную организацию данных. Физические модели данных, основанные на страничной организации, являются наиболее пер¬спективными.
Наибольший интерес вызывают модели данных, используемые на концептуальном уровне.
Кроме трех рассмотренных уровней абстракции при проектировании БД суще¬ствует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от исполь¬зуемой СУБД. Эти модели называются инфологическими, или семантическими, и отражают в естественной и удобной для разработчиков и других пользовате¬лей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимо¬связей.
Инфологические модели данных используются на ранних стадиях проектирова¬ния для описания структур данных в процессе разработки приложения, а даталогические модели уже поддерживаются конкретной СУБД.
Документальные модели данных соответствуют представлению о слабострукту-рированной информации, ориентированной в основном на свободные форматы документов, текстов на естественном языке.
Модели, основанные на языках разметки документов, связаны прежде всего со стандартным общим языком разметки - SGML (Standard Generalized Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру доку¬мента. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соот¬ветствующего языка разметки. С помощью SGML можно описывать структури¬рованные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описа¬ния синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.
Гораздо более простой и удобный, чем SGML, язык HTML позволяет опреде¬лять оформление элементов документа и имеет некий ограниченный набор инструкций - тегов, при помощи которых осуществляется процесс разметки. Инструкции HTML в первую очередь предназначены для управления процес¬сом вывода содержимого документа на экране программы-клиента и определя¬ют этим самым способ представления документа, но не его структуру. В качест¬ве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность приме¬нять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механиз¬мом представления информации в Интернете.
Однако HTML сегодня уже не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гиб¬кий и, одновременно с этим, удобный язык XML. В чем же заключаются его достоинства?
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в ка¬честве средства для описания грамматики других языков и контроля за пра¬вильностью составления документов. То есть сам по себе XML не содержит ни¬каких тегов, предназначенных для разметки, он просто определяет порядок их создания.
Тезаурусные модели основаны на принципе организации словарей, содержат опре-деленные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых переводчиках. Принцип хранения информации в этих системах и подчиняется тезаурусным моделям.
Дескрипторные модели - самые простые из документальных моделей, они ши-. роко использовались на ранних стадиях использования документальных баз данных. В этих моделях каждому документу соответствовал дескриптор - опи¬сатель. Этот дескриптор имел жесткую структуру и описывал документ в соответствии с теми характеристиками, которые требуются для работы с документа¬ми в разрабатываемой документальной БД. Например, для БД, содержащей описание патентов, дескриптор содержал название области, к которой относил¬ся патент, номер патента, дату выдачи патента и еще ряд ключевых параметров, которые заполнялись для каждого патента. Обработка информации в таких ба¬зах данных велась исключительно по дескрипторам, то есть по тем параметрам, которые характеризовали патент, а не по самому тексту патента.
Наибольший интерес для нас представляют даталогические модели, относящиеся к фактографическим. В ранних СУБД использовались теоретико - графовые модели данных, отражающие совокупность объектов реального мира в виде графа взаимосвязанных информационных объектов. К ним относятся иерархическая и сетевая модели данных. Реляционная модель является основой практически для всех современных коммерческих СУБД и наиболее распространена в наше время.
Объектно-ориентированная модель данных ( Object Data Model) - это модель данных, многочисленные разновидности которой получили широкое распространение в области программирования, баз данных и информационных систем. Основное понятие таких моделей - понятие объекта, т.е. сущности, обладающей состоянием и ведением. Состояние объекта определяется совокупностью его атрибутов, которые могут принимать значения предписанных типов. Поведение, в свою очередь, определяется совокупностью операций (методов), специфицированных для этого объекта. Для объектов поддерживается их индивидуальность, которая не изменяется при изменении состояния объекта. Принципиально важно, что различаются интерфейсы объектов и их реализации. Интерфейс определяет свойства объекта, видимые пользователю, - его свойства и сигнатуры операций. Реализация определяет внутренние свойства объекта, которые ин¬капсулируются интерфейсом и остаются скрытыми от пользователя. Объекты в объект¬ных моделях типизируются. Различаются встроенные типы объектов - объектов с пре¬допределенными свойствами, и типы объектов, определяемые пользователем. В ряде объектных моделей предусматривается возможность поддержки связей между типами объектов. Обычно предусматривается встроенная связь "тип-подтип", которая обеспечи¬вает наследование свойств типа объектами подтипа. Некоторые модели поддерживают типы связей, определяемые пользователями. Отметим также, что разработаны объект¬ные модели, которые наряду с атомарными типами объектов поддерживают сложные ти¬пы-контейнеры и типы-коллекции. На основе объектных моделей в конце 80-х - начале 90-х гг. возникло новое поколение СУБД, разработаны технологии неоднородных рас¬пределенных интероперабельных систем, новые методологии анализа и проектирования сложных программных и информационных систем.
Существуют также другие модели данных, например, объектно-реляционная модель данных (Object-Relation Data Model) - это гибридная модель данных, сочетающая возможности реляционных моделей с объектны¬ми свойствами данных.
Классификация моделей данных
Статьи по предмету «Web-программирование»