Третий манифест Кристофера Дейта и Хью Дарвена



         

Положительные RM-утверждения - часть 6


Объявленный тип этой переменной кортежа есть TUPLE {H}. Атрибутами переменной кортежа являются атрибуты H, соответствующие типы - объявленные типы этих атрибутов, степень переменной кортежа - степень H. В языке D должны иметься доступные для пользователей средства определения переменных кортежей. При определении переменной кортежа должна производиться инициализация переменной некоторым значением - явно указанным в операции определения переменной или не указываемым явно, определенным в реализации.

  • Переменная отношения (для краткости - relvar) типа RELATION {H} - это переменная, допустимыми значениями которой являются отношения, соответствующие указанному заголовку отношения H. Объявленный тип этой relvar есть RELATION {H}. Атрибутами relvar являются атрибуты H, соответствующие типы - объявленные типы этих атрибутов, степень relvar - степень H. В языке D должны иметься доступные для пользователей средства определения и уничтожения relvars базы данных (для тех relvar, которые принадлежат базе данных, а не приложению - см. RM-утверждение 16). Должны также поддерживаться возможности определять relvar на уровне приложений.

  • Relvars базы данных могут быть реальными или виртуальными. Виртуальная relvar - это relvar базы данных, значением которой в любой момент времени является результат вычисления некоторого реляционного выражения, указываемого при определении relvar. Реальная relvar - это не виртуальная relvar базы данных. При определении реальной relvar должна производиться ее инициализация пустым отношением (отношением мощности нуль).

  • По определению у каждой relvar имеется по меньшей мере один возможный ключ. По меньшей мере один такой ключ должен быть определен при определении relvar, и не должно быть возможно ликвидировать все возможные ключи данной relvar (кроме как ликвидировав саму relvar).

  • База данных - это именованный контейнер relvars; содержимой базы данных в любой момент времени - это набор relvars базы данных. Требуемые операции для определения и ликвидации баз данных не должны являться частью языка D.




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