Одними из
основополагающих в концепции баз данных являются обобщенные категории «данные»
и «модель данных».
Понятие «данные»
в концепции баз данных — это набор конкретных значений, параметров, характеризующих
объект, условие, ситуацию или любые другие факторы. Примеры данных: Петров Николай
Степанович, $30 и т. д. Данные не обладают определенной структурой, данные становятся
информацией тогда, когда пользователь задает им определенную структуру, то есть
осознает их смысловое содержание. Поэтому центральным понятием в области баз
данных является понятие модели. Не существует однозначного определения этого
термина, у разных авторов эта абстракция определяется с некоторыми различиями,
но тем не менее можно выделить нечто общее в этих определениях.
На рис. 2.3
представлена классификация моделей данных.
В соответствии
с рассмотренной ранее трехуровневой архитектурой мы сталкиваемся с понятием
модели данных по отношению к каждому уровню. И действительно, физическая модель
данных оперирует категориями, касающимися организации внешней памяти и структур
хранения, используемых в данной операционной среде. В настоящий момент в качестве
физических моделей используются различные методы размещения данных, основанные
на файловых структурах: это организация файлов прямого и последовательного доступа,
индексных файлов и инвертированных файлов, файлов, использующих различные методы
хэширования, взаимосвязанных файлов. Кроме того, современные СУБД широко используют
страничную организацию данных. Физические модели
данных, основанные на страничной организации, являются наиболее перспективными.
Наибольший
интерес вызывают модели данных, используемые на концептуальном уровне. По отношению
к ним внешние модели называются подсхемами и используют те же абстрактные категории,
что и концептуальные модели данных.
Кроме трех рассмотренных уровней абстракции при проектировании БД существует еще один уровень, предшествующий им. Модель этого уровня должна выражать информацию о предметной области в виде, независимом от используемой СУБД. Эти модели называются инфологическими, или семантическими.
Модели, основанные
на языках разметки документов, связаны прежде всего со стандартным общим языком
разметки — SGML (Standart Generalised Markup Language),
который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен
для создания других языков разметки, он определяет допустимый набор тегов (ссылок),
их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования
тегов осуществляется при помощи специального набора правил, называемых DTD-описаниями,
которые используются программой клиента при разборе документа. Для каждого класса
документов определяется свой набор правил, описывающих грамматику соответствующего
языка разметки. С помощью SGML можно описывать структурированные данные, организовывать
информацию, содержащуюся в документах, представлять эту информацию в некотором
стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался
в основном для описания синтаксиса других языков (наиболее известным из которых
является HTML), и немногие приложения работали с SGML-документами напрямую.
Гораздо более
простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов
документа и имеет некий ограниченный набор инструкций — тегов, при помощи которых
осуществляется процесс разметки. Инструкции HTML в первую очередь предназначены
для управления процессом вывода содержимого документа на экране программы-клиента
и определяют этим самым способ представления документа, но не его структуру.
В качестве элемента гипертекстовой базы данных, описываемой HTML, используется
текстовый файл, который может легко передаваться по сети с использованием протокола
HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное
количество пользователей имеет возможность применять возможности этого языка
для оформления своих документов, безусловно, повлияли на рост популярности HTML
и сделали его сегодня главным механизмом представления информации в Интернете.
Однако HTML
сегодня уже не удовлетворяет в полной мере требованиям, предъявляемым современными
разработчиками к языкам подобного рода. И ему на смену был предложен новый язык
гипертекстовой разметки, мощный, гибкий и, одновременно с этим, удобный язык
XML. В чем же заключаются его достоинства?