Database Programming & Design




Практическая схема специальных значений


Во введении я выражал желание увидеть схему с двузначной логикой

и значениями по умолчанию, понятность и простота которой

уравновешивала бы уменьшение выразительной мощности. Поскольку

Дейт не дал нам такую схему, я кратко обрисую ее сам.

Прежде всего, я согласен с Дейтом в том, что по возможности нам

стоит устранить в своих базах данных атрибуты, допускающие

неопределенные значения. С некоторыми оговорками (которые здесь

не буду разъяснять) я согласен и с тем, что хорошим подходом

является расщепление типа сущности с подобным атрибутом на два

подтипа. В первом подтипе атрибут не сможет содержать

неопределенные значения, а во втором не будет самого этого

атрибута.

Во-вторых, я полагаю, что для идентификации специальных значений

следует зарезервировать одно или несколько значений из обычного

домена атрибута. Все что требуется, это одно значение, которое

означает, что "реальное значение отсутствует". Возможно,

потребуется различать случаи неприменимости, неизвестности и "то

или другое, не знаю точно что". В ответ на часто используемый

Дейтом аргумент, что имеется произвольное число различных типов

неопределенных значений и, следовательно, потребуется MVL с

произвольным числом истинностных значений, я заметил бы, что мне

кажется наивным полагать необходимость наличия формально

отличаемого вида неопределенных значений для каждого способа

формулировки условия отсутствия значения на естественном языке. В

книге Atzeni и DeAntonellis "Relational Database Theory"

(Benjamin/Cummings, 1993) показано, что любое такое условие можно

свести к одному из упомянутых выше.

При возможности, следует ввести бизнес-правила, гарантирующие,

что выбираемое значение не будет омонимом (т.е. не будет

использоваться в разном смысле). Например, если на предприятии

действует правило, что размер счета не может быть нулевым, то

можно использовать нули в атрибуте размера счета для индикации

отсутствия реального значения.

Однако иногда это невозможно.


Содержание  Назад  Вперед