Пояснения

Слайд 47. Правила области значений

 

 

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

Правила области значений выражают условия вхождения некоторого экземпляра в область экземпляров сущности. В рамках сущности могут задаваться несколько таких правил. Каждое правило представляет собой одно из условий. Условием выполнения правила является присутствующее в правиле выражение, которое дает в результате либо значение логического типа данных, т.е. FALSE (ложь), TRUE (истина) или UNKNOWN (неопределенность), либо неопределенное значение «?». Правило не нарушается, если выражение дало в результате любое значение, кроме FALSE. В выражении правила обязательно должны присутствовать ссылки на ключевое слово SELF, выражающие проверяемый экземпляр сущности, и/или ссылки на атрибуты сущности, выражающие значения атрибутов проверяемого экземпляра сущности. Экземпляр входит в область экземпляров сущности, если не нарушено ни одно из правил области значений, т.е. ни одно из правил не дало в результате FALSE.

Все правила области значений сущности задаются в единой конструкции WHERE. На приведенном примере у сущности «citizen» определено правило области значений, задающее условие, по которому значения атрибута «age» для всех экземпляров сущности должны быть больше либо равны 16. Правило содержит необязательную метку «wr1», а также выражение для проверки правила - «age>=16». Правило области значений может одновременно затрагивать несколько атрибутов сущности.