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

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

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

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

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

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

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

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

Цель работы:

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

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

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

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

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

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

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

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

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

  • num - номер - целое,

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

  • col – ученики (количество учеников) – целое.

  • индекс типа IDKEY на поле номер,

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

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

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

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 (город) — строковое (ключ),

  • smax (максимальный номер школы) — целое.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

таблица "School"(Школа). Содержит свойства:

  • num - номер – целое (ключ),

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

  • colученики (количество учеников) – целое.

Таблица "Section" (секция, кружок), содержит свойства:

  • sid (ИД) — целое (ключ, автоинкремент),

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

  • ofsch — его школа — ссылка (внешний ключ на номер в таблице школа) (обязательное).

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

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 (создание новых элементов с атрибутами и вложенными элементами):

  • Список секций в школе номер 1,

  • Список Школ города Москвы с названием и количеством их секций,

  • Список Школ, не имеющих секций, и их атрибуты.

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

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

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

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

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

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

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

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

Добавить в проект следующую функциональность:

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

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

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

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

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

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

  • print() - метод экземпляра, который выводит в файл (имя файла = город_номер_Школы) полную информацию о Школе. Реализовать метод обращением к объекту ActiveX FileSystemObject (или аналогичному). Подключение ActiveX через Activate Wizard (в Студии, меню Инструменты-> AddIns → расширения)

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

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

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

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

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

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

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

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