Книга: Базы данных: конспект лекций
4. Виртуальные атрибуты
4. Виртуальные атрибуты
Все атрибуты в системах управления базами данных делятся (по абсолютной аналогии с отношениями) на базовые и виртуальные. Так называемые базовые атрибуты – это хранимые атрибуты, которые необходимо использовать не один раз, а следовательно, целесообразно сохранить. А, в свою очередь, виртуальные атрибуты – это не хранимые, а вычисляемые атрибуты. Что это значит? Это значит, что значения так называемых виртуальных атрибутов реально не хранятся, а вычисляются через базовые атрибуты на ходу посредством задаваемых формул. При этом домены вычисляемых виртуальных атрибутов определяются автоматически.
Приведем пример таблицы, задающей отношение, в которой два атрибута – обычные, базовые, а третий атрибут – виртуальный. Он будет вычисляться по специально введенной формуле.
![4. Виртуальные атрибуты](https://img-lib.wm-help.net/4291814739/i_057.png)
Итак, мы видим, что атрибуты «Вес Кг» и «Цена Руб за Кг» – базовые атрибуты, потому что они имеют обыкновенные значения и хранятся в нашей базе данных. А вот атрибут «Стоимость» – виртуальный атрибут, потому что он задан формулой своего вычисления и реально в базе данных храниться не будет.
Интересно заметить, что в силу своей природы, виртуальные атрибуты не могут принимать значения по умолчанию, да и вообще, само понятие значения по умолчанию для виртуального атрибута лишено смысла, а следовательно, не применяется.
И еще необходимо знать, что, несмотря на то что домены виртуальных атрибутов определяются автоматически, тип вычисляемых значений иногда нужно заменить с имеющегося на какой-нибудь другой. Для этого в языке систем управления базами данных имеется специальный предикат Convert, с помощью которого и может быть переопределен тип вычисляемого выражения. Convert – это так называемая функция явного преобразования типов. Записывается она следующим образом:
Convert (тип данных, выражение);
Выражение, стоящее вторым аргументом функции Convert, посчитается и выведется в виде таких данных, тип которых указан первым аргументом функции.
Рассмотрим пример. Пусть нам необходимо посчитать значение выражения «2*2», но вывести это нужно не в виде целого числа «4», а строкой символов. Для выполнения этого задания запишем следующую функцию Convert:
Convert (Char (1), 2 * 2).
Таким образом, можно увидеть, что данная запись функции Convert в точности даст необходимый нам результат.
- Рис. 49. Атрибуты файла.
- Директивы, атрибуты и коды операций CIL
- Атрибуты уровня компоновочного блока (и уровня модуля)
- Атрибуты
- 1.3.5. Методы и атрибуты
- 2. Домены и атрибуты
- Глава 2 Виртуальные машины Virtual PC 2004
- Глава 3 Виртуальные машины VMware Workstation
- Глава 4 Виртуальные машины Parallels Workstation
- У файла и каталога есть атрибуты (например: Скрытый, Только чтение). Как ими управлять из командной строки?
- 20.2.1. Атрибуты cookie: срок хранения и область видимости
- Виртуальные сетевые компоненты