lab2_2012_91 (Методические указания по выполнению лабораторной работы №2)

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

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

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

Онлайн просмотр документа "lab2_2012_91"

Текст из документа "lab2_2012_91"

ЛР2 Постреляционные базы данных, 2012 г. ИУ5-91 7

Лабораторная работа «Методы взаимодействия с ПБД на примере Cache` »
по дисциплине «Постреляционные базы данных»

Цель работы:

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

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

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

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

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

Пункты задания для выполнения:

Задание 1. Обращение из внешней СУБД или приложения к объектам Cache` через ODBC драйвер

1.1. Определить в среде Cache` Studio класс (или использовать созданные в ЛР1)

Класс "Vuz"(Вуз) - хранимый класс. Содержит свойства:

  • abbr - название - строковое,

  • city - город - строковое,

  • year – год основания – целое.

  • Inf() - метод экземпляра, который возвращает строку вида: «Название — город — год — количество_факультетов»,

  • Create(название,город,год) - (и хранимая процедура), который проверяет существование объекта вуза с названием и, если он существует, то открывает его, иначе создает новый объект и устанавливает поле названия. Затем устанавливает значения полей город и год, сохраняет объект. Метод имеет входные параметры: название, город и год вуза со значениями по умолчанию; и выходной параметр — созданный объект,

  • индекс типа IDKEY на поле название.

Используя Портал и/или Терминал создать объекты класса Вуз. В Терминале вызвать созданные методы и проверить их работоспособность. В Портале проверить содержимое таблицы Вуз.

1.2. Создание и использование ODBC драйвера для обращение к объектам Cache`

Создать ODBC драйвер для обращения к созданным в Cache` Studio классам (тип источника = InterSystem ODBC, IP = 127.0.0.1, порт = 1972, область Cache` = USER, пользователь = _system, пароль = SYS).

Обратиться из внешней СУБД (например, MS Access или MS SQL Server) через созданный драйвер и установить соединение с таблицей Вуз. Выполнить следующие действия:

            • Просмотреть содержимое таблицы.

            • Проверить добавления, изменения и удаление записей таблицы (в Access и в Портале).

            • Создать форму (простую) для просмотра и редактирования записей.

            • Выполнить хранимую процедуру (в MS SQL Server).

Задание 2. Работа с объектами Cache` через проекцию классов

2.1. Создание проекции класса

Создать в среде Cache` Studio проекцию класса Вуз (для проекции в С++) или в MS Visual Studio (для проекции в С#).

2.2. Использование проекции класса

Создать в среде Visual Studio на языке с++ или с# приложение (оконное или консольное), которое обращается к классу Вуз как к объекту и выполняет следующие действия:

  • создать объект Вуз (указать поля название, год, город) через стандартные методы (New(), Save()) или метод класса create().

  • ввести название вуза, проверить его существование (метод ExistsId()), открыть (OpenId()) и выполнить метод Inf() для текущего объекта. Результат выполнения метода отобразить пользователю.

Проверить в Портале добавление объектов.

Задание 3. Создание и использование связанных таблиц внешней базы данных.

3.1. Создание связанной таблицы

Создать в среде внешней СУБД (например, MS Access или MS SQL Server) базу данных, содержащую таблицу Cities (Города) с полями:

  • city (город) — строковое (ключ),

  • cnt (количество_вузов) — целое.

Создать ODBC драйвер для обращения к внешней БД.

В среде Cache` Портал создать шлюз SQL (раздел Конфигурация) для обращения к ODBC драйверу и связанную связанную таблицу к таблице Города (раздел Портала SQL).

Просмотреть через Портал содержимое связанной таблицы.

3.2. Работа со связанной таблицей

В среде Cache` Портал выполнить SQL- запросы по просмотру и изменению записей в таблицу Города. Проверить в Портале и внешней БД содержимое таблицы Города.

В Терминале создать объект класса Города, заполнить и сохранить его в БД (методы New(), Save()). Проверить в Портале и внешней БД содержимое таблицы Города.

Открыть объект класса Города и изменить его свойства. Проверить в Портале и внешней БД содержимое таблиц Города и Вуз.

3.3. Добавление методов к связанной таблице

В среде Cache` Студия открыть класс, соответствующий связанной таблице ГОРОДА и добавить к ней метод:

  • show(год) - метод экземпляра, который возвращает для текущего города строку, содержащую количество вузов, находящихся в данном городе с годом, больше указанного.

В Терминале открыть объект класса Города и вызвать для него метод show(). Проверить в Портале и внешней БД содержимое таблиц Города и Вуз.

Задание 4. Преобразование XML и реляционных данных

4.1. Определить в среде MS SQL Server Management Studio схему БД:

В среде SQL Server Management Studio lab2_91. В БД создать таблицы:

таблица "Vuz"(Вуз). Содержит свойства:

  • idvuz — целое (PK, автоинкремент),

  • abbr - название - строковое,

  • city - город - строковое,

  • year – год основания – целое.

таблица"Fuculty" (факультет) , содержит свойства:

  • fid (ИД) — uniqueidentifier (PK, по умолчанию = newid())),

  • fname - название – строковое (обязательное),

  • ofvuz — целое (FK на idvuz в таблице город).

Заполнить таблицу тестовыми значениями.

4.2. Преобразовать реляционные данные в формат XML:

В среде построения запросов SQL Server Management Studio продемонстрировать просмотр содержимого таблиц Вуз и Фукультет в формате xml (конструкции select ... for xml) в следующих вариантах:

  • автоматический формат (Вуз),

  • все поля — элементы (Вуз),

  • все поля - атрибуты (Вуз),

  • добавление корневого элемента (Вуз),

  • переименование строк (raw) (Вуз),

  • получение xml-схемы по умолчанию (Вуз),

  • отображение значений NULL (Вуз),

  • получение произвольной структуры документа (Фукультеты+Вуз), например:

  • название факультета — элемент,

  • его ИД — атрибут,

  • вуз — вложенный элемент,

  • город — элемент вуза,

  • год — атрибут вуза,

  • название вуза —содержимое вуза.

4.3. Преобразовать XML-документов в реляционную таблицу:

В среде построения запросов SQL Server Management Studio создать сценарии для создания переменной типа xml и заполнения ее тестовыми данными (можно взять xml документы, полученные ранее). С помощью конструкции select ... from openxml() выполнить:

  • Занесение данных из xml переменной в таблицу Вуз.

  • Определить переменную типа таблица и заполнить ее данными из переменной xml. Просмотреть содержимое полученной таблицы.

  • Просмотреть данные из xml переменной в виде следующих наборов:

  • все поля,

  • только название и города,

  • часть полей с фильтрацией по значению, например, году,

  • все поля, полученные из сложной структуры xml с переименованием полей.

Задание 5. Построение запросов к XML данным с помощью языка Xquery

5.1. Построить запросы на языке Xquery

В среде построения запросов SQL Server Management Studio создать сценарии для создания переменной типа xml (со сложной структурой) и заполнения ее тестовыми данными (можно взять xml документы, полученные ранее). На языке XQuery выполнить запросы:

  • Проверки существования данных (атрибутов, элементов и их значений) — exist(), например, вуза и факультета вуза по их названиям.

  • Извлечения данных (атрибутов, элементов и содержимого) — value(), например, год, город для вуза.

  • Получения фрагмента XML — query(), например, список вузов.

  • Изменения содержимого XML документа - modify(): добавление, изменение и удаление элементов и атрибутов, например, Фукультета, города.

  • Построение таблицы на основе XML документа сложной структуры с переименованием полей – nodes().

5.2. Построить запросы на языке Xquery с применеием FLWR

Использовать конструкции FLWR на языке XQuery и выполнить запросы с применением Xpath (создание новых элементов с атрибутами и вложенными элементами):

  • Список факультетов, расположенных в МГУ,

  • Список вузов с названием и количеством факультетов,

  • Список вузов, не имеющих факультеты, и их атрибуты.

Дополнительное задание:

Задание 6: Работа с объектной базой данных по технологии ActixeX

6.1. Работа внешнего приложения с объектной БД через ActixeX

Создать в среде Visual Studio на языке с++ или с# приложение (оконное или консольное), которое обращается к классу Вуз по технологии ActixeX и выполняет следующие действия:

  • отобразить содержимое таблицы Вуз с фильтром, например, по городу (работа с RecordSet);

  • выполнить запрос на добавление записи в таблицу Вуз;

  • выполнить хранимую процедуру create().

Проверить в Портале добавление объектов.

  • создать объект Вуз (указать поля название, год, город) через фабрику объектов;

  • создать объект Вуз через метод класса create().

  • ввести название вуза, проверить его существование, открыть и выполнить метод Inf() для текущего объекта. Результат выполнения метода отобразить пользователю.

Проверить в Портале добавление объектов.

6.2. Работа объектной БД с объектами ActixeX

В среде Cache` Studio в класс Вуз добавить метод:

  • print() - метод экземпляра, который выводит в файл (имя файла = название вуза) полную информацию о вузе. Реализовать метод обращением к объекту ActiveX FileSystemObject (или аналогичный).

Продемонстрировать работу метода в терминале или Visual Studio.

Задание 7: Создание объектов на основе внешних реляционных данных

7.1. Добавление методов к связанной таблице

В среде Cache` Студия открыть класс, соответствующий связанной таблице и добавить к ней методы:

  • fill() - метод класса, который заменяет содержимое таблицы Города на результат выполнения запроса к таблице Вуз, например, через встроенный SQL и динамические запросы. Входных и выходных параметров нет.

  • show() - метод экземпляра, который возвращает для текущего города строку, содержащую список вузов в данном городе. Строка формируется, например, на основе запроса к таблице Вуз (с параметром — название города) и вызова метода Inf() для полученного списка вузов. Используется динамический запрос %ResultSet или курсов.

В Терминале создать объект класса Города, заполнить и сохранить его в БД (методы New(), Save()). Проверить выполнение метода класса fill(). Открыть объект класса Города и вызвать для него метод show(). Проверить в Портале и внешней БД содержимое таблиц Города и Вуз.

7.2. Добавление вычисляемых свойств к связанной таблице

В среде Cache` Студия открыть класс, соответствующий связанной таблице и добавить к ней вычисляемое свойство:

  • min_years — минимальный возраст для вузов данного города (доступен для чтения и записи).

В Терминале открыть объект класса Города, просмотреть и именить его возраст. Проверить в Портале и внешней БД содержимое таблиц Города и Вуз.

Задание 8: Создание Веб-интерфейса к объектной базе данных на языке CSP

Написать в среде Cache` Studio веб-сценарии по технологии Cache Server Pages и продемонстрировать их работоспособность через интернет-браузер. Сценарии должны выполнять следующие функции:

  • отображение списка всех вузов (с фильтром по городу),

  • отображение списка всех фукультетов по выбранному вузу,

  • добавление вуза (с атрибутами),

  • удаление вуза (с запросом на подтверждение),

  • редактирование сведений о вузе.

Задание 9. Импорт и экспорт объектов в формате XML

9.1. Подготовка класса к экспортированию

Определить класс Вуз (и Факультет) как наследник от класса %XML.Adaptor и задать для его полей параметры XML проекции:

  • название — элемент,

  • город — элемент,

  • год — атрибут,

  • факультет — вложеный элемент.

9.2. Экспорт объектов в XML

В среде Cache` Terminal продемонстрировать (или написать и вызвать аналогичную программу) сохранение в файле формата XML объектов класса Вуз. Продемонстрировать содержимое XML файла в текстовом редакторе.

9.3. Импорт объектов из XML

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

В Портале продемонстрировать содержимое таблицы Вуз.

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