![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Представление классовСтр 1 из 4Следующая ⇒
Лекция 9 БД. Использование SQL 1. БД-настройка 2. Расширение Caché SQL 3. Встроенный SQL 4. Динамический SQL
БД-настройка Вся информация(данные и программы) в базах данных Caché хранятся в глобалах-хранимых многомерных массивах данных. База данных в Caché –это бинарный файл с фиксированным именем CACHE.DAT, в котором хранятся глобалы. Для каждой новой БД необходимо определить директорию для хранения файла CACHE.DAT. БД могут работать под управлением различных серверов Caché. Область-это логическая карта, на которой указаны имена глобалов а также имена БД Caché, в которой они хранятся. При работе с глобалами и программами используется имя области. СУБД Caché поддерживает горизонтальную фрагментацию данных, когда одна область может описывает множество глобалов и программ., что позволяет создавать многоуровневые и распределенные системы. Для смены области в Терминале мб использована команда ZN, а также утилита: %CD и основное меню. Для создания БД в Портале выбираем Конфигурация-Области-создать новую область. Далее указываем имя БД из списка, ассоциированной с создаваемой областью либо создаем новую БД. Подключаем флаг «Создать CSP приложение». Размер рекомендуется изменить на предполагаемый максимальный и указать ресурс БД. Рассмотрим настройку ODBC/JBDC драйвера, который входит в стандартную поставку. Для работы через этот драйвер необходимо определить учетную запись с помощью утилиты ODBC Data Source Administrator и добавить новый источник System DSN для драйвера INTER System Caché ODBC/ Имя: NICK Узел: 127.0.0.1 Порт: 56773 Область Caché: NICK Метод аут: пароль Имя пользователя: _system Пароль: **** Проверка соединения---- Представление классов Каждый сохраненный класс, который наследуется от класса %%Persistent, может хранить свои экземпляры в базе данных, используя один или несколько узлов многомерных данных (глобалов). При создании класса компилятором автоматически создаются определения двух глобалов: данных и индексов. При этом справедливо следующее: Данные хранятся в глобале, имя которого начинается с полного имя класса, то есть пакет.класс, при этом справа к имя глобала данных добавляется буква " D", к имени глобала индекса добавляется буква " I". - Данные каждого экземпляра хранятся внутри единственного узла глобала данных, при этом значения свойств размещаются в списковых структурах. - Данные каждого индекса хранятся внутри единственного узла глобала данных, при этом значения свойств размещаются в массивах. - Каждый узел глобала данных имеет объектный идентификатор ID. По умолчанию, значение ID - это целые числа, значения которых обеспечиваются вызовом функции $Increment. При этом для работы с объектами можно использовать или объектный доступ, или чрезвычайно эффективный прямой доступ с помощью глобалов. Например, допустим, мы определили простой сохраненный класс MyApp.Person с двумя литеральными свойствами:
Class MyApp.Person Extends %Persistent [ClassType = persistent] { Property Name As %String; Property Age As %Integer; }
Если мы создадим и сохраним два экземпляра этого класса, будет создан следующий глобал данных: ^MyApp.Person = 2 // номер последнего узла данного уровня (счетчик узлов) ^MyApp.Person (1) = $LB (" ", 19, " Иванов") ^MyApp.Person (2) = $LB (" ", 20, " Петров")
Заметим, что первый элемент списка - пуст. Это место зарезервировано для имени подкласса. Если определить подклассы класса Person, этот элемент будет содержать имя подкласса. Метод %%OpenId, обеспечиваемый классом %%Persistent, использует эту информацию для полиморфного открытия корректного типа объекта, когда несколько объектов хранятся внутри подобных экстентов.
|