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.  Корректность выводов на основе полученных экспериментальных данных


 

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

78847. Наука и нравственность. Этика науки 29 KB
  Этика науки Современная наука имеет ряд особенностей качественно отличающих ее от науки даже недавнего прошлого. Довольно быстро обнаружились и некоторые опасности связанные с возможным применением достижений современной науки. Этика науки изучает нравственные основы научной деятельности. Этические проблемы науки рождались в связи с развитием физики биологии в частности генетики психологии.
78848. Научная рациональность и ее типы 29 KB
  Научная рациональность и ее типы Основными свойствами научной рациональности являются: объектная предметность эмпирическая или теоретическая однозначность доказанность проверяемость способность к улучшению. Наука это прежде всего специфическая форма культуры порождающая особую агрессивную форму рациональности развивающуюся в сложном историческом социокультурном контексте. Анализ научной рациональности и научного знания является комплексным междисциплинарным исследованием предусматривающим синтез различных видов и форм знаний. ...
78849. Научное, ненаучное, псевдонаучное знание 30.5 KB
  Научное ненаучное псевдонаучное знание. Научное знание система знаний о законах природы общества мышления. Научное знание составляет основу научной картины мира и отражает законы его развития. Научное знание: является результатом постижения действительности и когнитивной основой человеческой деятельности; социально обусловлено; и обладает различной степенью достоверности.
78850. Метатеоретический уровень научного знания 26.5 KB
  мета за после это теория о теории: объектом научного анализа для метатеории выступает сама теория. Метатеоретический подход не просто реорганизует научное знание является не только способом научного анализа теории но производит в ней сдвиги содержательного порядка порождает новое знание. Рефлексия является своеобразным способом развития самого содержания знания одним из важных путей разработки теории Дело в том что плодотворен сам по себе выход за пределы теории отстраненный взгляд на нее. На основе метатеории в процессе...
78852. Философские основания науки 27 KB
  Философские основания науки Предисловие: Философское основание науки представляет особой один из элементов философии науки направление в философии изучающее научную деятельность ее особенности и характеристики; ее цель устанавливать правильность научных суждений и теорий и объяснять место и роль науки в современной культуре наряду с теоретическим и эмпирическим знанием. Философские основания науки. Философские основания науки. Функции функция философского обоснования: Любая новая идея для того чтобы стать либо частью картины мира...
78853. Структура эмпирического знания. Проблема факта 28.5 KB
  Проблема факта Эмпирические факты образуют базис на который опираются научные теории. Факты фиксируются в языке науки в высказываниях типа: более половины опрошенных в городе недовольны экологией городской среды и т. Вернадский: эмпирические факты хлеб науки. Проблема факта: Эмпирические факты содержат не только информацию об изучаемых явлениях но и как правило включают ошибки наблюдателя и т.
78854. Структура теоретического знания 29 KB
  Теоретический уровень научного познания как и эмпирический имеет ряд подуровней среди которых можно выделить следующие по степени общности: а аксиомы теоретические законы; б частные теоретические законы описывающие структуру свойства и поведение идеализированных объектов; в частные единичные высказывания утверждающие нечто о конкретных во времени и пространстве состояниях свойствах и отношениях некоторых идеализированных объектов 2 вида научных законов: 1Универсальные и частные законы. Универсальными принято называть законы...
78855. Функции научной теории 14.81 KB
  Функции научной теории. Объяснение и предсказание окружающих нас вещей и явлений представляет собой важнейшую функцию науки в целом и научной теории в частности. Основные функций теории можно отнести следующие. Методологическая функция на базе теории формулируются многообразные методы способы и приемы исследовательской деятельности.