Классика баз данных - статьи

       

Качество как отношение.


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

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

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

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

    Следует отметить, что примитивные типы (int, char и т.п.) используемые в современных объектных системах в качестве базовых, полностью соответствуют этому утверждению, поскольку их можно представить в виде отношения с арностью равной единице. Схема отношения в этом случае состоит из одного атрибута, множество же возможных значений данного типа образует тело отношение. Например, в случае целочисленного типа базовое отношение можно проиллюстрировать следующим образом:

    int

    Value
    ...
    -2
    -1
    0
    1
    2
    ...
    Модель "объект-качество" подразумевает, что точно так же в качестве базового типа в объектных системах можно использовать отношение с арностью большей, чем 1.


    Содержание раздела