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

Методические указания к выполнению ЛР5 - Работа с объектной базой данных (1033954), страница 2

Файл №1033954 Методические указания к выполнению ЛР5 - Работа с объектной базой данных (Методические указания к выполнению ЛР5 - Работа с объектной базой данных) 2 страницаМетодические указания к выполнению ЛР5 - Работа с объектной базой данных (1033954) страница 22017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Рис.3

Необходимо нажать кнопку «Add» и добавить новый инструмент связывания (Рис.4):

Рис.4

В поле «Command» указать путь к приложению CacheNetWizard.exe.

Данное приложение расположено в директории <CacheSys>\Dev\dotnet\Bin. (Рис.5)

Рис.5

После того, как были проделаны данные операции необходимо зайти в меню Tools->Cache и запустить утилиту (Рис.6).

Рис.6

Пользователю будет предложено задать некоторые параметры соединения со средой разработки Cache (указать тип языка, в коды которого осуществляется проекция, выбрать классы для проекции, указать параметры соединения) - см. Рис.7:

Рис. 7

Нажав на кнопку «Connect» необходимо задать параметры соединения (Рис.8):

-хост;

-логин;

-пароль;

-выбрать пространство имен.

Рис.8

Далее будет сгенерирован код на С и автоматически в среде Microsoft Visual Studio будет создан проект, куда будут добавлены сгенерированные файлы (Рис.9):

Рис.9

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

Ниже приведено описание стандартной процедуры связывания проекта на Cache с клиентской частью, написанной на С.

using System;

using InterSystems.Data.CacheClient;

using InterSystems.Data.CacheTypes;

namespace TinySpace {

class TinyProxy {

[STAThread]

static void Main(string[] args) {

CacheConnection CacheConnect = new CacheConnection();

CacheConnect.ConnectionString = "Server = localhost; "

+ "Port = 1972; " + "Namespace = SAMPLES; "

+ "Password = SYS; " + "User ID = _SYSTEM;";

CacheConnect.Open();

Sample.Person person = Sample.Person.OpenId(CacheConnect, "1");

Console.WriteLine("TinyProxy output: \r\n "

+ person.Id() + ": "

+ person.Name

);

person.Close();

CacheConnect.Close();

} // end Main()

} // end class TinyProxy

}

Следует обозначить два основных момента, которые необходимо использовать при связывании проекта на Cache с клиентской частью, написанной на С.

  1. Необходимо использовать библиотеки:

- CacheClient (using InterSystems.Data.CacheClient);

-CacheTypes (using InterSystems.Data.CacheTypes);

  1. Необходимо создать объект «Соединение» (где прописываются основные параметры соединения: хост, пароль, логин, пор, пространство имен) для связывания клиентской и серверной частей:

CacheConnection CacheConnect = new CacheConnection();

CacheConnect.ConnectionString = "Server = localhost; "

+ "Port = 1972; " + "Namespace = SAMPLES; "

+ "Password = SYS; " + "User ID = _SYSTEM;";

CacheConnect.Open();

Метод класса OpenID()–получает доступ к экземпляру класса по ID объекта.

Sample.Person person = Sample.Person.OpenId(CacheConnect, "1");

Для создания объекта необходимо использовать методы класса new()

Sample.Person person = new Sample.Person(CacheConnect);

Метод класса Save() используется для сохранения объекта.

CacheStatus sc = person.Save();

Метод класса ExistID() используется для проверки существования объекта по введенному ID.

string personExists = Sample.Person.ExistsId(CacheConnect, ID).ToString()

Метод Close() разрывает соединение с серверной частью приложения, но не удаляет данный объект из базы.

Метод DeleteID() удаляет данный объект из базы.

person.Close();

CacheStatus sc = Sample.Person.DeleteId(CacheConnect, ID);

Метод KillExtent() –удаляет все экземпляры класса и их подклассы

CacheStatus sc = Sample.Person.KillExtent(CacheConnect)

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

Определить в среде Cache` Studio класс

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Что такое проекция класса и как ее создать?

  2. Каким образом из внешней среды через проекцию класса можно создавать, изменять, сохранять и удалять объекты?

  3. Каким образом из внешней среды через проекцию класса можно вызывать методы?

  4. В чекм отличия работы с объектами в среде СУБД и снешнем приложении?

  5. Как задать сохранение свойства?

  6. Как настроить соединение с БД?

  7. Как через проекцию добавлять, изменять и удалять объекты БД?

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

  • Титульный лист,

  • Задание на работу,

  • Исходный код описания классов в Cache,

  • Исходный код описания классов С++ или С#,

  • Исходный код приложения для работы с БД,

  • Скриншоты полученных результатов.

Литература

  1. «Постреляционная СУБД Cache» - http://www.citforum.ru/database/articles/cache.shtml

  2. «Взаимодействие СУБД Cache с внешним миром» - http://www.citforum.ru/database/cache/cache_ex/

  3. Справочные материалы по СУБД Cache`, http://www.intersystems.ru/cache/devcorner/index.html

16

Характеристики

Список файлов лабораторной работы

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