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

       

Весьма настоятельные ОО-предложения


  1. Следует поддерживать некоторую форму наследования типов (см. ОО-предписания 2 и 3). В соответствии с этим предложением не следует допускать включения в D: a) концепции неявного преобразования типов; b) концепции, предусматривающей, что функции имеют специальный "отмеченный" (distinguished) параметр или параметр-"получатель" (receiver).

    Комментарии:

    • Неявные преобразования типов противоречили бы достижению цели замещаемости; помеченные параметры вводили бы искусственную и не необходимую степень асимметрии. Обе эти проблемы более подробно анализируются в готовящемся к выходу приложении относительно наследования, упомянутом в ОО-предписании 2.
  2. Следует поддерживать конструкторы типов-"коллекций", такие как LIST (список), ARRAY (массив) и SET (множество), подобно тому, как это сделано в языках, поддерживающих развитые системы типов. (См. также РМ-предписание 7.)
  3. Пусть С – конструктор типа “коллекции”, отличный от RELATION. Тогда следует обеспечивать функцию преобразования, скажем C2R, для конвертирования значений типа C в отношения, а также обратная функция, скажем R2C, такие, что:

    1. C2R(R2C(r)) = r для каждого отношения r, выразимого в D;
    2. R2C(C2R(c)) = c для каждого выразимого в D значения c типа C.
  4. DD следует основывать на модели "одноуровневого хранения", как это описано, например, в [15]. Другими словами, в этой модели не должно производиться какое-либо логическое различие между ситуациями, когда порция данных располагается в основной памяти или во вторичной или третичной (tertiary) памяти и т.д.



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