- •Содержание
- •Глава 1. Введение в объектные субд 15
- •Глава 2. Объектно-ориентированные субд: концепции и проектирование 46
- •Глава 3. Введение в объектно-ориентированную субд cashé 78
- •Глава 4. Объектная модель cache 92
- •Глава 5. Технологии csp 121
- •Предисловие
- •Методические материалы рабочая программа дисциплины Пояснительная записка
- •Содержание дисциплины
- •Рекомендации по самостоятельной работе студента Календарно-тематический план работы
- •Методические указания по отдельным видам самостоятельной работы Указания по самостоятельному изучению теоретического материала
- •Указания по выполнению практических заданий и текущему контролю
- •Указания к промежуточной аттестации с применением балльно-рейтинговой системы оценки знаний.
- •Соответствие оценок
- •Теоретические материалы Глава 1. Введение в объектные субд
- •1.1. Специализированные приложения баз данных
- •Автоматизированное проектирование
- •Автоматизированное производство
- •Автоматизированная разработка программного обеспечения
- •Офисные информационные системы и мультимедийные системы
- •Геоинформационные системы
- •Прочие специализированные приложения
- •1.2. Недостатки реляционных субд
- •Неадекватное представление сущностей реального мира
- •Семантическая перегрузка
- •Слабая поддержка ограничений целостности и корпоративных ограничений
- •Однородная структура данных
- •Ограниченный набор операций
- •Сложности при обработке рекурсивных запросов
- •Упрощенное отношение s
- •Транзитивное замыкание отношения s
- •Проблема рассогласования типов данных
- •1.3. Основные концепции объектно-ориентированного подхода
- •1.3.1. Абстракция, инкапсуляция и сокрытие информации
- •1.3.2. Объекты и атрибуты
- •Атрибуты одного из экземпляров объекта типа Branch
- •1.3.3. Идентификация объектов
- •1.3.4. Методы и сообщения
- •1.3.5. Классы
- •1.3.6. Подклассы, суперклассы и наследование
- •1.3.7. Перекрытие и перегрузка
- •1.3.8. Полиморфизм и динамическое связывание
- •1.4. Способы хранения объектов в реляционной базе данных
- •1.4.1. Преобразование классов в отношения
- •Преобразование каждого класса или подкласса в отношение
- •Преобразование каждого подкласса в отношение
- •Преобразование иерархии в одно отношение
- •1.5. Поколения субд
- •Вопросы для самопроверки
- •Глава 2. Объектно-ориентированные субд: концепции и проектирование
- •2.1. Введение в объектно-ориентированные модели данных и оосубд
- •2.2. Особенности оосубд
- •2.2.1. Доступ к объекту
- •2.3. Перманентность
- •Создание контрольных точек
- •Сериализация
- •Явная подкачка объектов
- •2.4. Прочие аспекты функционирования оосубд
- •2.4.1. Транзакции
- •2.4.2. Поддержка многих версий
- •2.4.3. Эволюция схемы
- •2.5. Документ «Манифест разработчиков объектно-ориентированных систем баз данных»
- •Правило 1. Поддержка сложных объектов
- •Правило 2. Поддержка идентификации объектов
- •Правило 3. Поддержка инкапсуляции
- •Правило 4. Поддержка типов или классов
- •2.6. Преимущества и недостатки оосубд
- •2.6.1 .Преимущества
- •2.6.2. Недостатки объектно-ориентированных субд
- •2.7. Проектирование объектно-ориентированной базы данных
- •2.7.1. Сравнение объектно-ориентированного и логического моделирования данных
- •Сравнение характеристик объектного и логического моделирования данных
- •2.7.2. Связи и ссылочная целостность
- •2.7.3. Проектирование правил поведения
- •Вопросы для самопроверки
- •Глава 3. Введение в объектно-ориентированную субд cashé
- •3.1. Введение
- •3.2. Установка и использование Cache
- •3.3. Первый пример.
- •Создание класса
- •Создание свойств
- •Создание запроса
- •Компиляция
- •3.5. Мастер форм Cache для Web
- •Вопросы для самопроверки
- •Глава 4. Объектная модель cache
- •4.1. Правила идентификации
- •4.2. Элементы классов
- •Пример 1:
- •Пример 2:
- •4.3. Имя класса
- •4.4. Ключевые слова
- •4.5. Свойства
- •Видимость свойств
- •Поведение свойств
- •Ключевые слова
- •Виды свойств
- •Свойства типов данных
- •Параметры
- •4.6. Форматы данных и методы преобразования классов типов данных
- •4.7. Свойства ссылки на объекты
- •Встроенные объекты
- •4.8. Свойства коллекции
- •4.9. Потоки данных
- •4.10. Многомерные свойства
- •4.11. Методы
- •Аргументы метода
- •Определение значений по умолчанию для аргументов метода
- •Передача аргументов по ссылке
- •Возвращаемое значение метода
- •Видимость методов
- •Язык метода
- •Ключевые слова метода
- •Методы класса и экземпляров
- •Вызов метода
- •Виды методов
- •4.12. Запросы
- •4.13. Пакеты
- •Вопросы для самопроверки
- •Глава 5. Технологии csp
- •5.1. Выражения Caché
- •Пример p0. Вывод текущей даты
- •5.2. Скрипты, выполняющие код Caché
- •Пример p1. Счетчик посещений
- •5.3. Подпрограммы, вызываемые на стороне сервера #server(…)# Пример p3.
- •Пример p4. Калькулятор.
- •5.4. Теги csp
- •Основные теги csp
- •Пример p6.1.
- •Связывание объектов с формами: cspbind в формах
- •Пример р7. Использования тега csp:object.
- •Пример p10. Использование курсора в цикле while.
- •Пример p11. Вывести названия всех книг, которые описываются классом Kniga(Id, Name,Avtor,Cat).
- •Пример р13. Посчитать сумму двух чисел.
- •5.4.7. Использование JavaScript-кода и кода html в коде Caché Object Script
- •5.5. Доступ к полям формы. Класс %csp.Request
- •Пример p14.
- •Пример p15.
- •5.6. Объект %session
- •Вопросы для самопроверки
- •Заключение
- •Задания для самоконтроля Тесты для самоконтроля
- •Ключи к тестам для самоконтроля
- •Задания для контрольных работ Указания по выполнению контрольной работы
- •Темы контрольных работ
- •Вопросы для подготовки к экзамену
- •Глоссарий
- •Список источников информации Основная литература
- •Дополнительная литература
- •Приложение 1 пример учебной базы данных «агентство недвижимости»
- •Приложение 2 пример учебной базы данных для главы 3 Класс Person (клиенты библиотеки)
- •Класс Cat (категория книг)
- •Класс Kniga (книги)
- •Класс Vyd (выдачи книг)
1.3.4. Методы и сообщения
Объект инкапсулирует данные и функции и представляет собой автономную конструкцию. В объектной технологии функции обычно называют методами, На рис. 1.1 показано концептуальное представление объекта с расположенными внутри атрибутами, защищенными от вмешательства извне с помощью методов.
Рис. 1.1. Схема строения объекта с атрибутами и методами
Методы определяют правила поведения объекта. Они могут использоваться для изменения состояния объекта за счет изменения значений его атрибутов или для создания запросов к значениям отдельных атрибутов. Например, могут быть предусмотрены методы для добавления сведений о новом объекте недвижимости, предназначенном для сдачи в аренду в некотором отделении, для обновления сведений о зарплате сотрудников или для вывода сведений о конкретном сотруднике.
Метод состоит из имени и исполнительной части, которая реализует правила поведения, связанные с именем метода. В объектно-ориентированных языках программирования исполнительная часть состоит из блока программного кода, который обеспечивает требуемые функциональные возможности.
Сообщения являются средством взаимодействия объектов. Сообщение представляет собой запрос, направленный одним объектом (отправителем) другому объекту (получателю) и требующий, чтобы объект-получатель выполнил один из своих методов. Один и тог же объект может быть одновременно и отправителем, и получателем.
1.3.5. Классы
Классы играют роль шаблона для определения набора подобных объектов. Таким образом, объекты, которые имеют один и тот же набор атрибутов и отвечают на одни и те же сообщения, могут быть сгруппированы в виде класса. Атрибуты и связанные с ними методы определяются один раз для всего класса, а не отдельно для каждого объекта. Например, все объекты отделений компании описываются единственным классом Branch. Объекты некоторого класса называются его экземплярами. Каждый экземпляр обладает своими собственными значениями каждого из атрибутов, но совместно с другими экземплярами данного класса использует для этих атрибутов одни и те же имена и методы (на рис. 1.2).
Класс является шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам.
Рис. 1.2. Экземпляры класса, совместно использующие имена атрибутов и методы класса
Таким образом, понятие "класс" в большей степени относится ко времени выполнения, чем ко времени компиляции. В некоторых объектно-ориентированных системах класс также является объектом и обладает своими собственными атрибутами и методами, которые называются атрибутами класса и методами класса. Атрибуты класса описывают общие характеристики этого класса, например средние или итоговые значения.
В частности, в классе Branch может быть предусмотрен атрибут класса для обозначения общего количества отделений компании. Методы класса используются для изменения или опроса состояния атрибутов класса. Существуют также специальные методы класса для создания новых экземпляров класса и удаления ненужных экземпляров. В объектно-ориентированном языке новый экземпляр обычно создается с помощью команды new. Подобные методы создания и удаления экземпляров с освобождением занятого ими пространства памяти называют конструкторами и деструкторами. Передаваемые методу класса сообщения перенаправляются к классу, а не к экземпляру класса.
