lab1_2012_91 (Методические указания по выполнению лабораторной работы №1), страница 2
Описание файла
Файл "lab1_2012_91" внутри архива находится в папке "Методические указания по выполнению лабораторной работы №1". Документ из архива "Методические указания по выполнению лабораторной работы №1", который расположен в категории "". Всё это находится в предмете "постреляционные базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "постреляционные базы данных" в общих файлах.
Онлайн просмотр документа "lab1_2012_91"
Текст 2 страницы из документа "lab1_2012_91"
Задание 8. Дополнительные возможности работы с объектами
8.1. Скрытые свойства. Вложенные объекты
Создать класс Salary (дополнительная прибыль) — ВСТРОЕННЫЙ, содержащий поля:
-
sum (стоимость обучения иностранных студентов) — целое,
-
num (количество иностранцев) — целое.
В класс "факультет" - добавить свойство:
-
sal (прибыль) — объект класса дополнительная прибыль, СКРЫТОЕ (устанавливается в Инспекторе свойств в Студии).
и методы:
-
szp (стоимость, количество) - устанавливает значения стоимость и количество для прибыли факультета, выходных параметров нет. Обращение к полям через объектный синтаксис.
-
gzp() - поле — возвращает значение «чистой» прибыли (=стоимость*количество*(1-процент_налога)).
В среде Cache` Терминал открыть объект факультета и продемонстрировать вызов методов для задания и просмотра его прибыли. В среде Портала продемонстрировать содержимое таблицы факультет.
8.2. Переопределение обработчиков событий
Создать класс Arhiv (архив) — хранимый, содержащий поля:
-
fname — строковое,
-
vuz — строковое,
-
his (источник записи) — строковое.
В классе "факультет" переопределить метод класса для обработки события %OnDelete() так, чтобы он при удалении факультета добавлял в Архив запись с названием вуза удаляемого факультета (использовать встроенный SQL). Значение поля his = «obj».
В Терминале удалить факультета (метод %DeleteId()). В Портале продемонстрировать содержимое таблицы Архив.
В Портале удалить факультета (sql запрос DELETE). В Портале продемонстрировать содержимое таблицы Архив.
8.3.Вычисляемые поля
В класс "Вуз" - добавить свойство:
-
avsal (средняя прибыль) — целое, ВЫЧИСЛЯЕМОЕ.
и переопределить его методы:
-
GET — возвращает среднюю прибыль факультетов для данного вуза (использовать встроенный SQL),
-
SET — для всех факультетов данного вуза устанавливает сумму прибыли равной указанной (использовать встроенный SQL) на основе их количества иностранцев.
В среде Cache` Terminal открыть объект организации и продемонстрировать работу с вычисляемым полем:
write объект.avsal
set объект.avsal=55
В среде Портала продемонстрировать соответствующие изменения в таблице факультетов.
Задание 9: Дополнительные возможности работы с таблицами
9.1. Вычисляемые поля таблиц
В класс "Вуз" - добавить свойство:
-
fcol (суммарная прибыль всех факультетов данного вуза) — целое, SQL-ВЫЧИСЛЯЕМОЕ. Не переопределены методы Get и Set. Определить SQL-формулу для вычисления.
Пример:
Property cs As %Integer [ Calculated,
SqlComputeCode = { set n={поле} &sql(select поле into :c from таблица where поле=:n)
set {cs}=c}, SqlComputed ];
В классе "КомВуз" - переопределить свойство:
-
fcol для вычисления прибыли факультетов на основе стоимости обучения в вузе и платы за иностранцев (количество_иностранцев * (стоимость_вуза + плата_иностранцев).
В среде Cache` Портал продемонстрировать содержимое таблиц Вуз и КомВуз.
9.2. Триггеры
В класс "факультет" добавить триггер:
-
ПОСЛЕ УДАЛЕНИЯ - при удалении факультета добавлять в Архив запись с названием вуза удаляемого факультета (использовать встроенный SQL). Значение поля his = «sql».
В Терминале удалить факультета (метод %DeleteId()). В Портале продемонстрировать содержимое таблицы Архив.
В Портале удалить факультета (sql запрос DELETE). В Портале продемонстрировать содержимое таблицы Архив.
Вопросы для самопроверки:
-
Возможности создания классов и их свойств в среде Cache` Studio.
-
Назначение и возможности утилит Cache` Studio, Cache` Портал и Cache` Терминал.
-
Как связаны между собой таблицы, объекты и глобалы?
-
Что такое класс и что такое пакет?
-
Как связаны между собой названия классов и глобалов?
-
Как связаны экстенты базового и производного классов?
-
Перечислите основные функции работы с объектами хранимых классов.
-
Каким образом можно обращаться к объектам классов как к реляционным таблицам?
-
Где можно просмотреть данные в виде таблиц и в виде глобалов?
-
Каким образом можно работать со списками и массивами, как хранятся их элементы?
-
Каким образом формируются глобалы? В каких глобалах хранятся производные классы?
-
Как импортировать структуры и данные СУБД Cache`?
-
Метод класса и метод экземпляра класса: чем они отличаются, как определяются и как вызываются?
-
Что такое полиморфизм? Приведите пример виртуального вызова.
-
Применение встроенного SQL. Передача параметров.
-
Назначение и использование объекта %ResultSet. Его основные методы.
-
Как определяются и вызываются хранимые процедуры?
-
Назначение, типы и определение триггеров. Как они работают?
-
Что такое вычисляемые поля? Как задаются и чем отличаются вычисляемые поля для объектов и запросов?
-
Что такое хранимый и встроенный классы, чем они отличаются?
В отчет:
-
Описания классов.
-
Тексты SQL запросов, команд и процедур на языке COS.
-
Содержимое глобалов и таблиц (скриншоты из Портала).