- •Реляционная модель данных.
- •Реляционное отношение.
- •Атрибут схемы реляционного отношения.
- •Семантика значений элементов атрибутов.
- •Экземпляр реляционного отношения.
- •Два взгляда на экземпляр реляционного отношения.
- •Традиционные файловые системы.
- •Системы с базами данных.
- •Метаданные простой реляционной базы данных.
- •IsLaw UsrId ExmId SchId MetaN
- •Некоторые операции с метаданными.
Атрибут схемы реляционного отношения.
“Старайся присоединить к красоте прочные качества” Эзоп, VIв. до н.э.

Атрибут в схеме реляционного отношения понимается в смысле описания общих свойств значений элементов столбца в экземплярах реляционных отношений. Каждый атрибут определён на некотором домене, который есть множество его допустимых значений. Один домен может быть общим для многих атрибутов (естественно, что они будут одного типа данных). Атрибуты в экземплярах (т.е. значения в столбце атрибута) могут повторяться. Их домен содержит только уникальные значения и связан функциональными зависимостями (типа “один ко многим”) с использоваем данных значений в столбце атрибута. Тип данных j-ого элемента (и всех остальных) в i-ом атрибуте aij заданной схемы есть соглашение о знаковой форме хранения его значения. Для типа строго определены конкретные функции (как методы класса типа данных).
Каждому атрибуту однозначно соответствует его домен, а последнему – его тип данных. Обратные утверждения в общем случае не верны: множество атрибутов может быть задано на общем домене, а множество доменов иметь общий тип данных. Если тип данных – соглашение о хранении информации в знаковой системе и некоторая постоянная группа операций со значениями (т.е. семантика типа данных этим исчерпывается), то домен отражает возможности семантики. Например, смысл типа данных «целое без знака» отличается от типа «целое без знака в диапазоне 0-255» и становится совсем иным для типа «char».
Возникает вопрос, насколько полно мы можем описать смысл значений в реляционной модели данных? Только частично. Дело в том, что полностью смысл определяется всеми возможными использованиями данных. Очевидно, что они нам недоступны. Но на уровне базы данных (мы определим это понятие далее) существует специальный механизм ограничения общности, настройка которого позволяет избежать в большенстве случаев хранения противоречивой информации.
Относительно просто изменять значения данных, но мы не можем так же просто описать изменения их семантики. Она определяется априорно (до использования) и обычно постоянная, т.к. семантические правила для типа данных поддерживаются в описаниях функций, использующие эти значения. Будем внимательными в описании функций, использующих данные. В них семантические неточности в трактовке типов приводят к грубейшим логическим ошибкам!
Семантика значений элементов атрибутов.
“Если Вы не ожидаете неожиданного, то не найдете сокровенного…”
Гераклит Эфесткий, VIв. до н.э.

Семантика есть смысл, который может априорно переноситься используемой знаковой системой на уровне соглашения о трактовке типа данных элемента атрибута. Как правило, это достаточно общее определение, своего рода базовый язык на котором можно записать значения звданного типа. На уровне домена общность может быть ограничена. Но это не полная семантика значения элемента данных в атрибуте!
Выделим в наблюдаемом нами мире некоторую часть, которую желаем описать в виде реляционного отношения. Если мы построили для неё схему реляционного отношения, то все её значения элементов атрибутов могут быть связаны между собой. Эти связи, которые определяют особенности представления данной предметной области, и есть содержательная семантика, свойственная заданной схеме. Полагается, что все значения элементов атрибутов имеют общую полную семантику. Следовательно, связи между ними можно описать как функциональные зависимости между именами атрибутов.
В результате анализа понятия «реляционное отношение» мы получили интересные результаты, связанные со смыслом (семантикой) значений в клетках таблицы. Во-первых, на уровне их типов данных мы имеем общее соглашение о представлении информационных «атомов», т.е. как минимум можем их создавать, копировать, манипулировать и удалять. Содержательно это соглашение определяется на этапе проектирования программного обеспечения, поддерживающего реляционную модель данных. Во вторых, на уровне доменов мы получаем набор параметризированных правил, параметры которых можно определять при настройке на предметную область для сужения смысла типов данных.
Обратите особое внимание, что полная семантика выделенных объектов (значений элементов атрибутов) одного класса (атрибута) получается не только в результате анализа его структуры, а прежде всего вне объектов, при их использовании.
Схема предметной области и её экземпляры.
“Думаю, затем действую.” Биант, 590-530гг. до н.э.

Важной особенностью РМД выступает возможность её самописания, т.е. мы можем представить любую заданную схему как таблицу. Она в свою очередь имеет свою схему, в дальнейшем называемую нами схемой схем, которая так же представляется таблицей. Допустим, понятие атрибута предполагает определение значений:
IdenAtr - идентификатора атрибута;
DomAtr - идентификатора домена атрибута;
TypeAtr - кода типа атрибута.
Тогда связь между любым экземпляром реляционного отношения и его схемой можно описать в видетаблицы указанных идентификаторов с общей схемой
RSS = { IdenAtr, DomAtr, TypeAtr }.
Принято считать, что схема (заголовок таблицы) есть описание (но не трактовка, это делается программами среды поддержки) экземпляра реляционного отношения (таблицы). Короче, схема есть метаописание её экземпляра. Ясно, что это метаописание должно восприниматься программной средой поддержки РМД, и позволять динамически настраивать её на любую предметную область. Множество допустимых типов и правила задания доменов (в том числе с параметрами настройки) определяется в общесистемной части. Динамическая настойка на предметную область предполагает:
определение количества атрибутов в схеме, их идентификаторов и параметров;
определение количества доменов в схеме, их идентификаторов и параметров;
назначение каждому атрибуту единственного домена;
назначение каждому домену единственного типа данных.
Каждая тройка значений в строке таблицы схемы есть описание атрибута, который используется в экземпляре представления предметной области, где для простоты не описывается определение параметров атрибутов и доменов (они слишком специфичны).
Схема схем.
“Самое трудное – познать самого себя…” Фалес, 625-547гг. до н.э.

Если субъект рассматривем множество предметных областей, то их схемы образуют своеобразную предметную метаобласть (субъект часть реального мира). Очевидно, что если не меняется методика их наблюдения и описания, все схемы предметных областей будут иметь одинаковую схему (это и есть схема схем). Если схема – метаописание предметной области (уровень М1), то схема схем – метаметаописание (или уровень М2). В современных программных комплексах могут использоваться и более высокие уровни иерархии определения понятий. Отметим, что экземпляр схемы схем обладает свойством самоописания.
Аналогом свойства самоописания реляционной модели данных можно считать рефлексию, например содержащуюся в вопросе: «Что я думаю о том, как я думаю?». Теория баз данных, как одна из идеологий информационной индустрии, возникла в результате процесса последовательного ответа на вопрос: «Что такое данные и как представить наблюдаемые факты в виде данных». Аналогия с процессом самопознания человека очевидна.
В естественном языке (например, русском) семантическим атомом (термом) можно считать слово (даже из одного символа). Гибкость языка настолько велика, что он позволяет описать и самого себя (грамматику, синтаксис, морфологию и т.д.). Но он не использует строгие правила логической типизации информации в правилах её организации в знаковой форме. Более того, в естественном языке принято использовать подтекст (скрытый смысл), поэзию, образность и выразительность языка на основе его многозначности.
В РМД семантическим атомом выбрано реляционное отношение, но не содержащие целиком описание предметной области (это частный теоретический случай), а более общее, которое мы введем далее. Как и слово естественного языка, реляционное отношение имеет структуру и значение, но значительно более простые. Поэтому формально строгое определение РМД можно свести к трем слоям понятий: множеству экземпляров, их множеству метаописаний (схем) и единственному метаметаописанию (схеме схем).
На рисунке в заголовке показан экземпляр реляционной схемы схем rss(RSS). Теперь мы можем описать схему универсального отношения предметной области сетей Петри в виде экземпляра схемы отношения petry(RSS), значение которого приводится ниже.
petry(RSS) AtrIden DomIden TypeIden
SN SNDm iden
SM SMDm unsigned
TN SNDm iden
TD TDDm timedelay
TI TIDm unsigned
TO TODm unsigned
TM TMDm time
TK TKDm time
