Главная » Все файлы » Просмотр файлов из архивов » Документы » Методические указания к выполнению ЛР5 - Работа с объектной базой данных

Методические указания к выполнению ЛР5 - Работа с объектной базой данных

2017-12-22СтудИзба

Описание файла

Документ из архива "Методические указания к выполнению ЛР5 - Работа с объектной базой данных", который расположен в категории "". Всё это находится в предмете "постреляционные базы данных" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "постреляционные базы данных" в общих файлах.

Онлайн просмотр документа "Методические указания к выполнению ЛР5 - Работа с объектной базой данных"

Текст из документа "Методические указания к выполнению ЛР5 - Работа с объектной базой данных"

Работа с объектной базой данных

Введение

Учебно-методические материалы «Работа с объектной базой данных» представляет собой методические указания к лабораторным работам по дисциплине «Постреляционные базы данных».

В материалах рассмотрены принципы взаимодействия с объектно-ориентированной СУБД на примере СУБД Cache Intersystems. Приведено краткое описание технологий настройки соединений с БД и языковых конструкций для создания объектов и работы с ними во внешней среде. Рассмотрены запросов к объектной базе данных. В заключительной части методических указаний приведены контрольные вопросы, список рекомендуемой литературы и пример задания.

Ознакомившись с методическими указаниями и разобрав приведенные в нем примеры, студент может получить у преподавателя свой вариант задания и приступить к его выполнению. Целью лабораторной работы является практическое изучение возможностей объектно-ориентированной СУБД на примере СУБД Cache Intersystems для создания, изменения, просмотра и удаления объектов из внешнего приложения используя объектное представление данных.

Оглавление

Введение 1

Цель работы 1

Время выполнения 2

Теоретическая часть 2

Объектный доступ 2

Практическая часть 6

Создание С++-проекции в среде Cache Project 6

Создание проекции файлов в среде Microsoft Visual Studio. 9

Описание основных методов клиента и сервера 13

Пример задания 15

Вопросы для самопроверки 15

Содержание отчета по лабораторной работе 16

Литература 16

Цель работы

  • Изучить различные технологии взаимодействия внешних приложений с Cache`.

  • Освоить методы обращения к\из СУБД Cache` используя объектный подход и реляционное представление.

  • Получить навыки работы с инструментальными средствами среды Cache`, реляционных СУБД и объектных языков программирования для организации их взаимодействия.

Время выполнения

Время выполнения лабораторной работы 2 часа.

Теоретическая часть

Сердцем СУБД Caché является сервер многомерных данных (MDS - Multidimensional Data Server), позволяющий компактно и эффективно хранить данные произвольной сложности. Для доступа к сложноструктурированным данным не требуется производить изощренных и дорогостоящих операций соединения, что положительно сказывается на общей производительности, и, в совокупности с транзакционной многомерной моделью Caché и встроенными средствами многопользовательской работы, позволяет создавать промышленные приложения, лишенные недостатков реляционных СУБД.

В Caché реализована концепция единой архитектуры данных, то есть СУБД Caché является открытой системой и предоставляет огромное количество интерфейсов для взаимодействия с внешним миром, которые можно разделить по типу доступа: прямой, реляционный и объектный. Однако, стоит отметить, что подобное разбиение довольно условно, и некоторые способы взаимодействия Caché с внешним миром можно отнести сразу к нескольким категориям.

Прямой доступ к данным(Caché Direct), обеспечивает максимальную производительность. Разработчики приложений получают непосредственный доступ к многомерным структурам (так называемым глобалам) Caché.

Для построения отчетов и совместимости с реляционными продуктами СУБД Caché предоставляет реляционный доступ, в основе которого лежит стандарт SQL 92.

Однако, наиболее интересным является объектный доступ. С этой точки зрения Caché соединяет традиционную технологию проектирования баз данных с объектной моделью.

Cache' позволяет комбинировать три типа доступа.

Объектный доступ

Cache' Objects - объектный доступ, для максимальной продуктивности разработки при использовании Visual C. В Cache' реализована объектная модель в соответствии с рекомендациями ODMG (Группа управления объектными базами данных - Object Database Management Group).

  • В Cache' полностью поддерживаются наследование (в том числе и множественное), инкапсуляция и полиморфизм.

  • При создании информационной системы разработчик получает возможность использовать объектно-ориентированный подход к разработке, моделируя предметную область в виде совокупности классов объектов, в которых хранятся данные (свойства классов) и поведение классов (методы классов).

  • Cache', поддерживая объектную модель данных, позволяет естественным образом использовать объектно-ориентированный подход при реализации приложений в ОО-средствах разработки (в частности C++).

Основный звеном является механизм объектной фабрики Caché, в основе которой лежит Caché ObjectServer, представляющий собой OLE In - Process Automation Server. Он позволяет держать на клиенте копии серверных объектов. К примеру, если в приложении на C++ средствами ObjectServer открывается объект, то идентичный объект открывается и на сервере. При изменении какого-либо свойства на стороне клиента соответствующее свойство у серверного объекта изменяется автоматически, вызов метода влечет его выполнение на сервере с передачей результатов на клиентскую часть

Архитектура ObjectServer подразумевает разделение приложения на две основные части: клиентскую и серверную. При этом организация получения метаданных серверных объектов может быть реализована двумя способами: раннее и позднее связывание. Раннее связывание означает, что на клиенте явно хранятся определения классов. Т.е. если клиент взаимодействует с серверным классом, то приложению заранее известна структура этого класса, описания свойств и сигнатуры методов, благодаря чему при компиляции можно создавать более эффективные способы обращения к экземплярам данного класса. Если с сервером связано более одного клиента, то, естественно, информацию о серверных классах необходимо продублировать на каждом клиенте, что в случае сильно распределенной системы может быть довольно трудоемко. Однако, основной недостаток такого подхода заключается в синхронизации изменений серверных классов с соответствующими определениями на клиентах. При изменении одного свойства необходимо провести корректировку и перекомпиляцию всех классов, которых потенциально могут быть тысячи и даже сотни тысяч.

Альтернативой раннему связыванию является использование механизма позднего связывания. Все что клиенту необходимо иметь, так это единственный класс Factory , который согласно паттерну проектирования Abstract Factory , берет на себя ответственность за создание объектов, инкапсулируя всю логику формирования экземпляров класса на стороне клиента. В совокупности с преимуществами технологии OLE (а именно, при использовании Variant) объектная фабрика избавляет клиента от необходимости хранить определения всех используемых серверных классов.

Механизм предоставляет возможность проецирования классов Caché в классы C ++. Архитектура C ++ binding сходна с проецированием в Java и наряду с отображением классов Caché в классы C++ заботится о конкурентном доступе к объектам и о транзакционности. Кроме того, стоит отметить, что C++-проецирование (как и все остальные виды проецирования) оптимизировано под распределенные архитектуры и использует механизм кэширования для минимизации трафика между C ++-приложениями и Caché-сервером.

Пример: использования классов Caché из C ++

d_ref <Sample_Person> p1 = Sample_Person::openid(&db, L"1");

p1->setDOB(1970,2,1);

C++-библиотека, поставляемая вместе с Caché, содержит шаблонный класс d _ ref <>:

  • данный класс инкапсулирует логику обращения к промежуточным классам;

  • данный класс реализованный по концепции smart pointer, что позволяет вызывать методы промежуточных классов через “->” синтаксис, копировать d _ ref <> таким образом, что два экземпляра будут указывать на один объект, передавать экземпляр d _ ref <> в промежуточный метод «по ссылке».

Создать проекцию объектов из среды разработки Cache на какой –либо язык программирования можно двумя способами:

    1. Создание проекции объектов на язык С непосредственно из Cache Project;

    2. Создание проекции объектов непосредственно в среде Microsoft Visual Studio.

Рассмотрим оба этих варианта ниже.

Схема взаимодействия:

Взаимодействие между Cache и клиентской частью, написанной на С++, осуществляется через С++-проекцию (со стороны клиентской части приложения) и функции объектного доступа в Cache (со стороны серверной части приложения).

Практическая часть

Создание С++-проекции в среде Cache Project

С++-проекция – это код на языке С++, автоматически сгенерированный ПО Caché. Для того, чтобы создать С++-проекцию необходимо:

1) В среде разработки Caché выбрать Инструменты->Сгенерировать С++-проекцию (см. Рис.1).

Рис. 1

2)Система выдаст диалоговое меню, где необходимо нажать кнопку добавить и в предложенном диалоговом окне выбрать описание классов на основе, которых необходимо сгенерировать С++-проекцию (см. Рис.2 и Рис.3).

Рис. 2.

Рис. 3

3) После чего выбранные описания классов будут добавлены в список, классов на основе которых будет сгенерировать С++-проекция. После данной процедуры система автоматически сгенерирует описание на языке С++ и выдаст об этом сообщение (см. Рис.5 и Рис.6.):

Рис. 5

Рис.6

На каждое описание класса система генерирует два файла, спецификация которых такова:

<Название класса>.h

<Название класса>.cpp

где <Название класса> - это класс в среде Caché, на основе которого генерируется проекция.

1) *.h – содержит интерфейс описания класса, его общее описание, директивы включения различных библиотек и другую информацию;

2) *.сpp –содержит реализацию функций класса, интерфейсы которых прописаны в файле *.h, также содержит директивы включения различных библиотек;

Создание проекции файлов в среде Microsoft Visual Studio.

Cache Net Project, используя проекции объектов позволяет эффективно взаимодействовать с клиентскими приложениями, написанными на других языках.

Для создания проекции из среды Microsoft Visual Studio необходимо выполнить следующие действия.

В среде разработки Visual Studio Net (Рис.1) , необходимо зайти в меню Tools->External tools (Рис.2).

Рис.1

Рис.2

Появиться окно (Рис.3):

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее