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

       

Операции над объектами.


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

Все компоненты допускают операцию чтения. Компоненты, не имеющие параметров (т.е. атрибуты), допускают также операцию присваивания. Естественно, что значение, присваиваемое атрибуту, должно иметь тип этого компонента. Для атрибутов-множеств возможны так же операции, изменяющие число кортежей (INSERT, DELETE) и операции, изменяющие состояние существующих кортежей (UPDATE).

Замечание. Мы осознаем трудности, которые могут возникнуть при реализации операций, явно изменяющих значение атрибута, в случае, когда эти атрибуты реализованы как вычисляемые. Отметим, что существующие СУБД позволят решать такие проблемы (например, с помощью триггеров).

Замечание. Допуская для всех без исключения атрибутов операцию присваивания, НРМ не утверждает, что эта операция должна обязательно изменять значение этого атрибута. Это замечание относится к вычисляемым атрибутам. Например, атрибут, содержащий информацию об остатках на складе, вычисляется исходя из цифр поставок и отгрузок. Исходя из этого, система не должна, говоря образно, обращать внимание на попытки явного присваивания значений этому атрибуту - если, конечно, иное не определяется реализацией.

Замечание. Говоря о соответствии типов операндов в операции присваивания, мы опускаем существующие во многих языках возможности по неявному приведению типов (например, арифметических), считая их возможными и полезными.

Методы, изменяющие состояние объекта, представляют собой последовательность вышеописанных операций, выполняемых над компонентами, определенными в объектном типе, а также над видимыми в теле метода переменными (к которым относятся описываемые далее глобальные R-переменные). Методы могут иметь локальные переменные значимых типов.

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