Понятие данных и модели данных
Обобщенные категории «данные» и «модель данных» являются одними из основополагающих в концепции баз данных.
Данные (применимо к базам данных) – это набор конкретных значений, параметров, которые характеризуют ситуацию, условие, объект или другие факторы.
Например, данными является объект Иванов Иван Иванович, условие женат/не женат и т.д.
Данные сами по себе не имеют определенной структуры. Они становятся информацией в том случае, когда пользователь им задаст определенную структуру, т.е. осознает их смысловое содержание. Таким образом, центральным понятием в базах данных является модель. Однозначно определить этот термин невозможно. Каждый автор определяет это понятие с некоторыми различиями. Выделим общее в этих определениях.
Модель данных – это некоторая абстракция, которая, если ее приложить к конкретным данным, предоставляет возможность пользователям и разработчикам понимать их уже как информацию, т.е. сведения, которые содержат данные и взаимосвязь между ними.
Классификация моделей данных
При трехуровневой архитектуре понятие модели данных относится к каждому уровню. Физическая модель данных использует категории, которые касаются организации внешней памяти и структур хранения в данной операционной среде. Сегодня в качестве физических моделей используют разные методы размещения данных, которые основаны на файловых структурах: файлы прямого и последовательного доступа, индексные файлы и инвертированные файлы, файлы, использующие разные методы хеширования, взаимосвязанные файлы. Также в современных СУБД широко используется страничная организация данных. Физические модели данных, которые основаны на страничной организации, признаны наиболее перспективными.
Модели данных, которые используются на концептуальном уровне, вызывают наибольший интерес. Внешние модели по отношению к ним называют подсхемами и ими используются те же абстрактные категории, что и в концептуальных моделях данных.
При проектировании баз данных имеет место еще один уровень, который им предшествует.
Модель этого уровня выражает информацию о предметной области в таком виде, который не зависит от используемой СУБД. Такие модели называются инфологическими (семантическими).
Инфологические модели данных используют на ранних стадиях проектирования с целью описать структуры данных при разработке приложения, а даталогические модели уже поддерживает конкретная СУБД.
Документальные модели данных представляют собой слабо структурированную организацию информации, которая ориентирована зачастую на свободные форматы текстов на естественном языке и документов.
Модели, которые основаны на языках разметки документов, прежде всего связаны со стандартным общим языком разметки – SGML (Standard Generalized Markup Language), утвержденным ISO как стандарт еще в 1980-х гг. Язык SGML применяется для создания других языков разметки, им определяется допустимый набор тегов (ссылок), их атрибуты и внутренняя структура документа. Контроль правильности использования тегов выполняется с помощью DTD-описаний (специальный набор правил). Из-за сложности SGML используется в основном для описания синтаксиса других языков (наиболее известный из них HTML) и напрямую с SGML-документами работали немногие приложения.
Язык HTML, более простой и удобный, предоставляет возможность определить оформление элементов документа и содержит набор инструкций – тегов, с помощью которых выполняется разметка. Команды HTML прежде всего предназначены для управления выводом содержимого документа на экран программы-клиента.
Более мощным, гибким и удобным языком гипертекстовой разметки является XML.
XML (Extensible Markup Language) является языком разметки, который описывает целый класс объектов данных – XML-документов. Его используют для описания грамматики других языков и как средство контроля правильности составления документов. Т.е. XML не содержит никаких тегов, а просто определяет порядок их создания.
Основой тезаурусных моделей является принцип организации словарей, которые содержат определенные языковые конструкции и правила их взаимодействия в определенной грамматике.
Такие модели эффективно используют в системах-переводчиках, особенно многоязыковых.
Дескрипторные модели являются самыми простыми из документальных моделей. Их широко применяли на ранних стадиях использования документальных БД. Каждому документу соответствовал дескриптор – описатель, который обладал жесткой структурой и описывал документ соответственно тем характеристикам, которые необходимы для работы с документами.
Данные, которые хранятся в БД, описываются моделью данных, которая поддерживается СУБД. К классическим относятся модели данных:
- иерархическая;
- сетевая;
- реляционная.
В последнее время разработаны и активно внедряются модели данных:
- постреляционная;
- многомерная;
- объектно-ориентированная.
Ведется разработка всевозможных систем, основанных на других моделях данных, которые расширяют известные модели. К ним можно отнести ориентированные, концептуальные, семантические, дедуктивно-объектно-ориентированные и объектно-реляционные модели.