Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium / REV1_ИЗМ.DOC
Скачиваний:
49
Добавлен:
19.04.2013
Размер:
122.37 Кб
Скачать

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

Развитие теории и практики проекти­рования и эксплуатации баз данных сопровождается интенсивным разви­тием моделей данных (МД). Ранее рассматривались модели предметной области.

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

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

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

  1. идентифицируют типы логических структур данных, которые можно представить в МД. Две структуры следует рассматривать как структуры различного типа, если они имеют различные признаки, правила композиции или правила их обработки (правила манипулирования) процедурными операторами;

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

Все это полностью относится и к МД любой программной системы обработки данных и, в частности, к МД поддерживаемой конкретной СУБД. С позиций прикладного программиста можно рассматривать СУБД как некоторый алгоритмический язык, на котором программируются подлежащие решению задачи. Отли­чие от алгоритмического языка заключается в том, что операторы описания и процедурные операторы разделены и оформлены в виде самостоятельных языков: языка описания данных и языка мани­пулирования данными. Однако в логическом плане это не меняет ситуации, поэтому совокупность операторов ЯОД и ЯМД опре­деляет модель данных, поддерживаемую конкретной рассматри­ваемой СУБД и понимаемую как совокупность структур данных и операций над этими структурами, для определения логической структуры БД и динамического моделирования состояний ПО.

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

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

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

Соседние файлы в папке Kolokvium