Архитектура систем с базами данных. Понятие модели данных

Информация и данные

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

Соответственно двум этим понятиям — «информация» и «данные» — в системе с базой данных при ее разработке различают два аспекта ее рассмотрения: инф алогический и датологический.

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

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

Уровни представления данных

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

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

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

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

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

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

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

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

Трехуровневая архитектура информационной системы с базой данных

Рис. 3.1. Трехуровневая архитектура информационной системы с базой данных

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

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

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

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

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

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

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

Понятие модели данных

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

Появление в начале 1970-х годов термина «модель данных» в приложении к базам данных связано с именем американского математика Е. Ф. Кодда (Е. Е. Соскі), внесшего большой вклад в теорию и развитие информационных систем с базами данных.

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

Опираясь на это определение, в дальнейшем, говоря о той или иной модели данных, мы будем иметь в виду и будем рассматривать такие три компоненты модели:

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

Тема 4

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >