[Содержание_документа] [Конец_документа]

[Выше] [Начало_этой_части] [Конец_этой_части] [Далее]

===========================================

Глава 5 – Типы данных

Глава содержит следующие темы:

 Библиотека основных типов данных

 Операции

 Перечисляемые атрибуты (Enumerated Attributes)

 Cache поддерживает ряд типов данных для переменных, причем каждый тип данных – самостоятельный класс. Типы данных – также известные как Расширенные типы данных или ADT (Advanced Data Types) – являются классами, которые управляют поведением литеральных атрибутов объектов. Они также управляют поведением полей, когда классы представлены как реляционные таблицы. Одна из наиболее мощных особенностей Cache – возможность создавать пользовательские типы данных.

Классы-типы_данных (Data Type classes) обеспечивают следующие возможности:

 Они управляют преобразованием литеральных данных для сохранения их на диске, в памяти и для представления на устройства ввода/вывода.

 Они обеспечивают проверку правильности литеральных данных, которые можно расширять или настраивать, используя параметры класса типа данных.

 Они интегрируют SQL, ODBC, ActiveX и Java, обеспечивая логическое взамодействие с SQL, ClientDataType и представление данных в корректном виде.

Классы-типы_данных отличаются от других классов:

 Они не могут явно существовать самостоятельно или независимо сохранены в базе данных.

 Они не могут иметь свойств.

 Они поддерживают специфический набор методов (интерфейс типа данных), который описан ниже.

В Cache имеется библиотека наиболее общих типов данных, включая %String, %Integer, %Float, %Date и %Time.

Библиотека основных типов данных

В Cache имеются следующие классы-типы_данных:

 %Binary – представляет двоичные данные

 %Boolean – представляет булево значение

 %Date – представляет дату

 %Float – представляет значение с плавающей запятой

 %Integer – представляет целое число

 %List – представляет данные в формате $List

 %LongString – представляет данные для ODBC в формате LongString

 %Name – представляет имя в форме "Lastname,Firstname"

 %Status – представляет код ошибки

 %String – представляет строку

 %Time – представляет значение времени

 %TimeStamp – представляет значение времени и даты

 

Операции

Этот раздел описывает основные особенности и функциональные возможности типов данных Cache.

Форматы данных и методы преобразования (Translation Methods)

При обработке данных Cache в зависимости от местоположения данных использует ряд различных форматов. Каждый из них имеет различное назначение и выполняет различную роль:

Display

Формат, в котором данные могут быть введены и отображены.

Logical

Формат данных в оперативной памяти. Это – формат операции выполнения.

Storage

Дисковый формат данных. Это – формат, в котором данные сохраняются в базе данных.

ODBC

Формат, в котором данные могут быть представлены через ODBC. Этот формат используется, когда данные представляются для ODBC/SQL. Форматы соответствуют определенным для ODBC.

Если выбрать любой системный тип данных, он автоматически включает группу методов для преобразования между этими форматами:

 

 

Системные методы типа данных включают:

DisplayToLogical()

Преобразует дисплейные значения в соответствующие логические значения.

LogicalToDisplay()

Преобразует логическое значение в значение дисплея.

LogicalToIndex()

Преобразует логическое значение в значение, которое может использоваться индексом (опционально).

LogicalToOdbc()

Преобразует логическое значение в значение ODBC (опционально).

LogicalToStorage()

Преобразует логическое значение в значение хранения в памяти (опционально).

OdbcToLogical()

Преобразует значение в формате ODBC, указанном параметром ODBCTYPE типа данных, в логическое значение (опционально).

StorageToLogical()

Преобразует значение, хранящееся в базе данных, в логическое значение (опционально).

Например, если класс Person содержит свойство DOB (дата рождения), основанное на классе типа данных %Date, то класс Person включает метод DOBIsValidDT(), который проверяет правильность значения даты рождения.

Все классы-типы_данных должны иметь модификаторы:

CLIENTDATATYPE

Определяет тип Java или ActiveX, используемые, когда к типу данных обращаются через приложения клиента. См. "Тип данных клиента (ClientDataType)" о значениях по умолчанию для каждого типа данных.

ODBCTYPE

Определяет тип ODBC используемый, когда к типу данных обращаются через ODBC. См. "Методы SQL и ODBC" о значениях по умолчанию для типа данных.

SQLCATEGORY

Определяет SQL Category, чтобы использовать для типа данных, когда Cache SQL исполняет эту операцию. См. "Методы SQL и ODBC" о значениях по умолчанию для типа данных.

 

Методы проверки (Validation Methods)

Каждый класс-тип_данных включает метод IsValidDT(), который проверяет принадлежность значения типу данных. Метод возвращает 1, если значение правильно (допустимо), иначе – 0. Когда допускается проверка правильности, метод IsValidDT() вызывается автоматически.

Тип данных клиента (ClientData Type)

Чтобы использовать данные Cache другим средством разработки (например, Java или ActiveX), данные должны быть в форме, которую конкретное приложение может понимать. Чтобы выполнить это, в Cache имеется модификатор ClientDataType, который дает информацию, необходимую для преобразования данных для клиента через Сервер объектов Cache (Cache Object Server). Атрибут, определенный типом данных, использует модификатор ClientDataType, чтобы сделать данные, доступными для клиента Java и ActiveX.

Следующие значения ClientDataType используются в Cache системными классами:

Тип данных Cache

Значение

%Binary

BINARY

%Boolean

INTEGER

%Date

DATE

%Float

DOUBLE

%Integer

INTEGER

%List

LIST

%Name

VARCHAR

%String

VARCHAR

%Time

TIME

%TimeStamp

TIMESTAMP

Методы SQL и ODBC

Классы-типы_данных включают ряд методов и модификаторов класса, предназначенных для взаимодействия с реляционными базами Cache SQL и другими реляционными базами данных.

Методы OdbcToLogical() и LogicalToOdbc()

Эти методы преобразуют логические значения данных в значения, используемые интерфейсом Cache SQL ODBC. Метод OdbcToLogical() преобразовует значение ODBC в логическое значение типа данных. Метод LogicalToOdbc() преобразует логическое значение типа данных в значение ODBC. Значение ODBC должно соответствовать типу ODBC, указанному в классе типа данных модификатором класса ODBCTYPE.

Модификатор класса ODBCTYPE

Модификатор класса ODBCTYPE определяет тип данных ODBC, используемый, когда атрибут данного типа данных выставлен для ODBC. Это значение определяется классом-типом_данных. Отмена этого модификатора может вызвать неверную работу класса с ODBC.

Следующие значения ODBCTYPE используются в Cache системными классами:

Тип данных Cache

Значение

%Binary

BINARY

%Boolean

INTEGER

%Date

DATE

%Float

DOUBLE

%Integer

INTEGER

%List

LIST

%Name

VARCHAR

%String

VARCHAR

%Time

TIME

%TimeStamp

TIMESTAMP

 

Модификатор класса SQLCATEGORY

Модификатор класса SQLCATEGORY определяет, какую категорию SQL (SQL Category) следует использовать Cache SQL, чтобы выполнить операции с данными этого типа данных. Действия, управляемые SQLCATEGORY – это операции сравнения (большего чем, меньше чем или равно); модификатор также можно использовать для других операций. Эти операции определяются классом типа данных. Отмена этого модификатора может вызвать неверную работу класса с SQL.

Следующие значения SQLCATEGORY используются для системных классов Cache:

Тип данных Cache

Значение

%Binary

BINARY

%Boolean

INTEGER

%Date

DATE

%Float

DOUBLE

%Integer

INTEGER

%List

LIST

%Name

VARCHAR

%String

VARCHAR

%Time

TIME

%TimeStamp

TIMESTAMP

 

Перечисляемые атрибуты (Enumerated Attributes)

 Обычно, атрибуты данных могут поддерживать множественные значения. Это реализовано посредством двух параметров класса типа данных: VALUELIST и DISPLAYLIST.

VALUELIST – список логических значений, отделяемых друг от друга разделителем, где разделитель – первый символ.

Например:

Список Разделитель

",красный,зеленый,синий" Запятая

" красный зеленый синий" Пробел

Свойство ограничено значениями списка, а код (программа) проверки правильности типа данных просто выясняет находится ли значение в списке. Если списка нет, нет никаких специальных ограничений на значения.

DISPLAYLIST – дополнительный список, задающий соответствующие значения дисплея, которые будут возвращены методом LogicalToDisplay().

Эти функциональные возможности работают по соглашению; методы LogicalToDisplay() и IsValidDT() класса типа данных должны сначала проверить наличие параметров класса и включить код (программу) обработки списков.

===========================================

[Содержание_документа] [Конец_документа]

[Выше] [Начало_этой_части] [Конец_этой_части] [Далее]

===========================================

По вопросам поддержки любых продуктов InterSystems Corporation обращайтесь:

Россия 121019, Москва, Волхонка, 6, #14

Тел.: +7 095 203-4649

Факс: +7 095 956-8268

info@intsys.dol.ru

http://www.intersystems.ru

 

Copyright © 1999, InterSystems Corporation. Все права защищены.