ПСУБД ЛР №1 (4 часа)
.pdfКлассы типов данных (литералы).
Классы объектов (объекты).
Классы типов данных определяют допустимые значения констант (литералов) и позволяют их контролировать. Литерал не может существовать независимо от своего значения, в то время как объекты имеют уникальную идентификацию.
Рисунок 2 – Объектная модель Cache'
Различают два подтипа классов объектов - зарегистрированные и незарегистрированные. Зарегистрированные классы обладают предопределенным поведением, т.е. набором методов, наследуемых из системного класса %RegisteredObject и отвечающих за создание новых объектов и за управление размещением объектов в памяти. Незарегистрированные классы не обладают предопределенным поведением, разработка функций (методов) класса целиком и полностью возлагается на разработчика.
Зарегистрированные классы могут быть двух типов - встраиваемые и хранимые. Встраиваемые классы наследуют свое поведение от системного класса %SerialObject. Основной особенностью хранения встраиваемого класса является то, что объекты встраиваемых классов существуют в памяти как независимые экземпляры, однако могут быть сохранены в базе данных, только будучи встроены в другой класс.
Основным преимуществом использования встроенных классов является минимум издержек, связанных с возможным в будущем изменением набора одинаковых свойств классов, представленных в виде встраиваемого объекта.
Хранимые классы наследуют свое поведение от системного класса %Persistent. %Persistent предоставляет обширный набор функций своим наследникам, включающий: создание объекта, подкачку объекта из БД в память, удаление объекта и т.п. Каждый экземпляр хранимого класса имеет 2 уникальных идентификатора - OID и OREF. OID (object ID) характеризует объект, записанный в БД, т.е. на физическом носителе, а OREF (object
reference) характеризует объект, который был подкачен из БД и находится в памяти.
Хранимые классы
Хранимый класс наследуется от %Library.Persistent. %Library.Persistent наследуется от %Library.RegisteredObject.
Хранимый класс предоставляет методы для открытия и сохранения объектов.
Для сохранения объекта используйте метод %Save(), для открытия - %OpenId().
Хранимый класс характеризуется флажком Persistent.
Встраиваемые классы
Встраиваемые классы хранятся внутри хранимых классов.
Несколько хранимых классов могут хранить один и тот же встраиваемый класс.
Caché сохраняет данные объекта встраиваемого класса тогда, когда сохраняется соответствующий хранимый объект.
Встраиваемый класс наследуется от %Library.SerialObject
%Library.SerialObject наследуется от %Library.RegisteredObject.
Встраиваемый объект не имеет метода %Save().
Встраиваемый объект может быть сохранен только будучи встроенным в хранимый объект.
Встраиваемый объект характеризуется флажком Embedded.
В стандартной поставке системы разработчику предлагается два средства администрирования Cache':
Configuration Manager
Control Panel.
С помощью Configuration Manager можно выполнить следующие функции администрирования:
Создать новую БД, удалить или изменить настройки существующей БД. С точки зрения физического хранения, БД Cache' – это бинарный файл Cache'.DAT. Для каждой БД создается свой файл Cache'.DAT в отдельной директории.
Определить область (Namespace) для существующей БД, под которой в Cache' понимается логическая карта, на которой указаны имена многомерных массивов – глобалей и программ файла Cache'.DAT, включая имена каталога-директории и сервера данных для этого файла. При обращении к глобалям используется имя области.
Определить CSP-приложение. Для использования CSP-приложений необходимо определить виртуальную директорию на web-сервере, физическую директорию хранения CSP-приложений, а также несколько специфических для CSP настроек, таких как, к примеру, класс-предок для CSP приложений (по умолчанию принимается системный класс %CSP.Page).
Определить сетевое окружение Cache'. В Cache' реализован собственный протокол работы с сетью распределенного окружения БД,
носящий название DCP (Distributed Cache' Protocol). С помощью интерфейсов Configuration Manager можно определить источники данных в сети, а также определить связи между различными компонентами сети.
Настройка системы Cache'. Разработчику предоставляется возможность конфигурирования различных компонент Cache', таких как параметры журналирования, настройки теневых серверов, параметры сервера лицензий, параметры Cache'-процессов и другие.
Утилита Control Panel предоставляет схожий набор функций администрирования и добавляет следующие новые:
Управление процессами Cache'.
Настройка параметров защиты глобалей, таких как разрешение на редактирование/создание/чтение глобалей различными группами пользователей.
Определение пользователей системы с присваиванием им имени пользователя, пароля и определение параметров доступа.
Просмотр файлов журнала. Журналирование в Cache' выполняется на уровне глобалей.
Определение теневых серверов системы.
Создание резервных копий баз данных.
Создание области и базы данных
Откройте «Портал управления системой» (Меню пуск->Cache) введите логин и пароль (рисунок 1), чтобы войти в систему, затем выберите
Администрирование системы-Конфигурация-Конфигурация системыОбласти (рисунок 2).
Рисунок 1 – Вход в систему
Рисунок 2 – Портал управления системой(Конфигурация)
Нажмите кнопку «Создать область» (рисунок 3).
Рисунок 3 – Создание области
В поле имя области введите название и выберите «Создать новую БД» (рисунок 4).
Рисунок 4 – Настройка области
Имя базы может совпадать с именем области. Также необходимо указать каталог для хранения этой БД (рисунок 5).
Рисунок 5 – Мастер баз данных
Сохранить внесенные изменения. После всего в списке областей появится созданная область (рисунок 6).
Рисунок 6 – Результат создания области
Далее при запуске Cache Studio можно будет выбрать созданную вами область.
Настройка веб-приложений
В «Портале управления системой» выберите Администрирование системы-Безопасность-Приложения-Веб-приложения (рисунок 7).
Рисунок 7 – Портал управления системой(Безопасность)
Из общего списка нажимаем по названию созданной ранее области (рисунок 8) и изменяем физический путь для CSP-страниц (рисунок 9).
Рисунок 8 – Общий список веб-приложений
Рисунок 9 – Настройка веб-приложения
Также можно добавлять/изменять роли для приложений. Из списка доступных ролей можно выбрать необходимые (рисунок 10).
Рисунок 10 – Назначение ролей
Пример
Вкачестве примера создадим область и базу данных «Аптека». Определим для нее:
а) кто будет работать с системой (определите роли пользователей; не менее двух ролей);
б) в зависимости от роли, какие действия пользователь может выполнять при работе с системой;
в) какая информация будет храниться в базе данных.
База данных хранит информацию о лекарствах и их ингредиентах, постоянных клиентах, выписываемых рецептах, заказах и др. Для данной системы пользователями будут администратор (доступны все функции), работник аптеки с ограничением привилегий, бухгалтер с ограничением привилегий.
Администратору доступны все действия связанные с изменением структуры самой базы данных. Работник аптеки имеет доступ к рецептам, спискам лекарств и их составляющих, а также обновляет списки ингредиентов. Бухгалтер следит за количеством медикаментов на складе, оформляет заказы, добавляет данные в бд.
Всозданной ранее области создадим пакет классов: Файл-Создать- Класс Cache и указать название пакета (рисунок 11). Остальные классы будут по умолчанию добавляться в этот пакет, если не указать другой.
Рисунок 11 – Создание пакета классов
Далее выберем тип создаваемого класса как на рисунке 12.
Рисунок 12 – Выбор типа класса
Далее добавим в каждый класс свойства, запрос и индекс. Создадим так 4 класса (рисунок 13).
Рисунок 13 – Созданные классы
Также для каждого из классов создадим веб-приложения.
Практическая часть
Содержание задания:
1Установите Cachè. Ознакомьтесь с утилитами Cachè. Ознакомьтесь с Документацией. Найдите документ «Using Cachè Studio», познакомьтесь с ним. Изучите часть 2 документации «Building a Simple Application with Studio». Откройте Studio. Выберите область «User».
2В заданной предметной области (тема курсовой работы по дисциплине «Базы данных») продумайте, кому и для чего может быть необходима предложенная для разработки система. Создайте текстовый документ, в котором сформулируйте функциональные требования к системе, т.е. определите:
а) кто будет работать с системой (определите роли пользователей; не менее двух ролей);
б) в зависимости от роли, какие действия пользователь может выполнять при работе с системой;
в) какая информация будет храниться в базе данных.
3Проведите конфигурацию рабочей области разрабатываемого приложения и среды Cachè. Для этого в Портале управления системой:
а) определите новую область для вашего приложения и базу данных. Имя области и базы данных может быть одинаковым. Оно должно соответствовать предметной области (Например, Library). Выберите директорию для хранения создаваемой БД. Определите начальный размер БД.
б) определите «Физический путь» для CSP-страниц вашего приложения.
4В Cache Studio выберите созданную вами область. Создайте проект в этой области.
5Создайте Пакет для классов-сущностей вашего приложения. Создайте классы-сущности (не менее трёх классов). Определите какие из них будут хранимыми, а какие встраиваемыми. Между классами не требуется
устанавливать связи!!!
6Создайте страницы для ввода, редактирования и поиска данных классов-сущностей.
7Создайте описанные ранее роли для доступа к данным. Ограничьте доступ одной из ролей к выбранной вами таблице.
8Оформите дизайн страниц приложения, используя каскадную таблицу стилей (обязательно изменить: фон, цвет и начертание текста, заголовок).
Продемонстрируйте работу преподавателю!