73167

Клиентское приложение Базы данных

Лабораторная работа

Информатика, кибернетика и программирование

Реализуйте клиентскую программу которая обладает следующими возможностями: Запуск клиента с заданными параметрами Обработка ошибок Запросы на чтение Запросы на добавление данных Запросы на модификацию данных Примечания: технологию создания клиентских приложения для mysql на C можно...

Русский

2014-12-05

20.5 KB

2 чел.

Лабораторная работа №2: Клиентское приложение Базы данных.

Цель работы

Целью данной работы является изучение возможностей клиентской библиотеки MySQL для создания клиента, написанного на С/С++.

Необходимые инструменты

Для выполнения данной лабораторной работы Вам необходимо, то же самое, что было нужно для л.р.1, плюс:

  1.  Какой нибудь компилятор С/С++:
  2.  Настоятельно рекомендуется использовать gcc.
  3.  В любом случае, выбирая компилятор, убедитесь, что он:
    1.  opensource
    2.  способен генерировать код для linux
  4.  Установлен на кафедральном терминал сервере.
  5.  Установлен на кафедральном Linux терминал сервере.
  6.  Клиентская библиотека для работы с mysql. Вы ее можете установить вместе с клиентом MySQL.
  7.  Установлена на кафедральном терминал сервере.
  8.  Установлена на кафедральном Linux терминал сервере.
  9.  (Опционально, но рекомендуется) Какая-нибудь среда разработки для С++. Рекомендуется использовать NetBeans, но Вы можете использовать любую другую среду разработки, которая умеет работать с выбранным Вами компилятором. Краткую инструкцию по использованию netbeans можно найти  здесь (только первый параграф)
  10.  Установлена на кафедральном терминал сервере.
  11.  Установлена на кафедральном Linux терминал сервере.
  12.  Система сборки приложений. Например, make.
  13.  Установлена на кафедральном терминал сервере.
  14.  Установлена на кафедральном Linux терминал сервере.

Задание

  1.  Реализуйте клиентскую программу, которая обладает следующими возможностями:
  2.  Запуск клиента с заданными параметрами
  3.  Обработка ошибок
  4.  Запросы на чтение
  5.  Запросы на добавление данных
  6.  Запросы на модификацию данных
  7.  Примечания:
    1.  технологию создания клиентских приложения для mysql на C можно найти в аттаче к этой странице.
    2.  не надо запускать клиент БД на сервере БД! Запускайте его на другом компьютере. Например, на терминал-сервере или своем личном компьютере. Обращение к серверу БД должно осуществляться через туннелированный (проброшенный) порт.
  8.  Генератор данных. В соответствии с предметной областью создайте программу-генератор тестовых данных.
  9.  Тестовые данные должны быть случайными.
  10.  Но при этом, данные таблиц должны быть непротиворечивыми.
  11.  Выберите в Вашей предметной области таблицу, которая будет иметь самый большой объем данных.Будем называть данную таблицу основной.
  12.  Сгенерируйте данные для:
    1.  1000 записей
    2.  10000 записей
    3.  100000 записей
  13.  Залейте данные в Вашу БД и убедитесь, что они корректно заливаются
  14.  Выполните ряд запросов к данным, чтобы убедиться, что данные, действительно есть.
  15.  получите дампы данных каждого объема, и залейте их в SVN
  16.  При помощи Вашей клиентской программы проведите серию экспериментов и получите следующие данные:
  17.  Среднее, минимальное, максимальное, дисперсию и медиану времени выполнения запроса на добавление данных в основную таблицу
    1.  необходимо провести эксперимент для разного объема стартовых данных (1000, 10000, 100000) основной таблицы
    2.  для получения результата в ходе одного эксперимента необходимо добавить не менее 10% записей от уже имеющегося в таблице объема.
    3.  эксеримент необходимо провести не менее трех раз
    4.  в отчет необходимо внести результаты прогонов всех экспериментов и получить среднее значение по каждому из показателей
  18.  Среднее, минимальное, максимальное, дисперсию и медиану времени выполнения запроса на чтение данных по типичным запросам
    1.  одним из типичных запросов должен быть запрос данных из основной таблицы
    2.  дополнительно необходимо оценить не менее двух типичных запросов, каждый из которых должен касаться основной таблицы и какой-нибудь другой таблицы
    3.  необходимо провести эксперимент для разного объема стартовых данных (1000, 10000, 100000) основной таблицы
    4.  для получения результата в ходе одного эксперимента необходимо прочитать не менее 50% от записей имеющихся в основной таблице
    5.  эксеримент необходимо провести не менее трех раз
    6.  в отчет необходимо внести результаты прогонов всех экспериментов и получить среднее значение по каждому из показателей
  19.  Примечание:
    1.  эксперименты должны быть повторяемыми, поэтому делайте скрипт для проведения всех экспериментов
    2.  не забывайте очищать БД после каждого эксперимента.

Оценивание результатов работы

  1.  Предоставить на проверку
  2.  Исходный код клиента (в репозитарии)
  3.  sql дампы тестовых данных (в репозитарии)
  4.  Скрипты выполнения экспериментов (в репозитарии)
  5.  Отчет о проведении экспериментов (в виде страницы wiki)
  6.  Критерии оценивания:
  7.  Форматирование исходного текста для С программы
  8.  Наличие и качество make файла
  9.  Универсальность скриптов (наличие параметров, с ip адресами, портами, или внешнего файла конфигурации)
  10.  Порядок в репозитарии
  11.  Адекватность полученных в ходе экспериментов данных
  12.  Корректность выводов на основе полученных экспериментальных данных


 

А также другие работы, которые могут Вас заинтересовать

18054. ТИПИЧНЫЕ ОШИБКИ ПРИ НАЧИСЛЕНИИ НАЛОГОВ И СТРАХОВЫХ ВЗНОСОВ 2.87 MB
  ТИПИЧНЫЕ ОШИБКИ ПРИ НАЧИСЛЕНИИ НАЛОГОВ И СТРАХОВЫХ ВЗНОСОВ Ф.Н. Филина И.А. Толмачев Под редакцией Т.Н. Межуевой. НАЛОГ НА ПРИБЫЛЬ 1.1. Доходы В соответствии со ст. 41 Налогового кодекса РФ доходом признается экономическая выгода в денежной или натурал...
18055. Анализ деятельности коммерческого банка 1.36 MB
  Л.В. КОХ Ю.В. КОХ Анализ деятельности коммерческого банка Учебное пособие Раскрываются основные направления экономического анализа деятельности коммерческого банка. Рассматриваются вопросы анализа состояния и использования собственных и привлеченных средств...
18056. Організація, планування та управління підприємствами галузі: Конспект лекцій 1.35 MB
  Стахурський В.О. Організація планування та управління підприємствами галузі: Конспект лекцій для студ. напрямів 0902 Інженерна механіка 0905 Енергетика 0925 Автоматизація та компютерно-інтегровані технології всіх форм навчання. – К. : НУХТ 2009. – 113 с. АНОТАЦІЯ К
18057. Базы данных, учебное пособие 1.41 MB
  Базы данных Допущено Учебно-методическим объединением вузов по образованию в области автоматизированного машиностроения УМО АМ в качестве учебного пособия для студентов высших учебных заведений обучающихся по направлениям подготовки бакалавров и магистров.
18058. Проблемы подростковой адаптации с позиций профилактики и психотерапии личностных и поведенческих расстройств и зависимости от психоактивных веществ 1.06 MB
  Проблемы подростковой адаптации с позиций профилактики и психотерапии личностных и поведенческих расстройств и зависимости от психоактивных веществ М. 325 с. Вместо введения. История создания книги Психическая адаптация к требованиям социальной среды. Базисные ком...
18059. Практикум по арбитражному процессу 1.2 MB
  Практикум по арбитражному процессу Учебное пособие для студентов юридических вузов и факультетов Под редакцией доктора юридических наук профессора В. В. Яркова и кандидата юридических наук доцента С.Л. Дегтярева 2е издание переработанное и дополненное .: ...
18060. ИСТОРИЯ ДЕНЕЖНО-КРЕДИТНОЙ СИСТЕМЫ РОССИИ 1.53 MB
  История денежнокредитной системы России В пособии раскрывается процесс зарождения и формирования денежной системы возникновение банковского дела становления и развития банковской системы России. В первой части излагается процесс формирования и развития денежной с...
18061. Філософія права. Підручник 966 KB
  Підручник присвячено філософії права. У ньому висвітлюються зміст призначення та історичний розвиток філософії права а також її основні проблеми: правова онтологія правова антропологія правова аксіологія тощо. Значну увагу у виданні приділено аналізу сучасних філо...