Файл: Методичка-ЛАБЫ по Поектированию ИС.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.12.2025

Просмотров: 943

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Часть 1. Технологии работы с базами данных

Часть 2. Проектирование ис и разработка базы данных для некоторой предметной области и программного приложения для работы с ней

Лабораторная работа 1 создание и модификация таблиц базы данных Цель работы

Содержание работы и методические указания к ее выполнению

Insert into имя_таблицы [(поле [,поле]...)]

Values (константа [,константа]...)

Контрольные вопросы

Лабораторная работа 2 выбор и модификация данных таблиц Цель работы

Содержание работы и методические указания к ее выполнению

Варианты заданий на составление запросов по выборке информации из таблиц базы данных

Варианты заданий на составление запросов по модификации информации из таблиц базы данных

Контрольные вопросы

Лабораторная работа 3 полномочия на использование схемы бызы данных. Работа с внешними схемами базы данных Цель работы

Содержание работы и методические указания к ее выполнению

Последовательность выполнения лабораторной работы:

Варианты заданий

Контрольные вопросы

Лабораторная работа 4 реализация простейших операций работы с базой данных средствами встроенного sql Цель работы

Содержание работы и методические указания к ее выполнению

Последовательность выполнения лабораторной работы

Требования к разрабатываемой программе

Варианты заданий

Контрольные вопросы

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

Последовательность выполнения лабораторной работы

Варианты заданий

Контрольные вопросы

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

Последовательность выполнения лабораторной работы:

Требования к разрабатываемой программе

Варианты заданий

Контрольные вопросы

2. Средства отслеживания ошибок

3. Непосредственное и подготавливаемое выполнение операторов sql

4. Использование параметров при выполнении

5. Настройка доступа к источнику данных

Последовательность выполнения лабораторной работы

Требования к разрабатываемой программе

Варианты заданий

Контрольные вопросы

Лабораторная работа 8 выборка данных с использованием средств odbc Цель работы

Содержание работы и методические указания к ее выполнению

Последовательность выполнения лабораторной работы

Требования к разрабатываемой программе

Варианты заданий

Лабораторная работа 9 доступ к базам данных посредством cgi-скрипта, написанного на языке esql/c Цель работы

Содержание работы и методические указания к ее выполнению

Последовательность выполнения лабораторной работы

Требования к разрабатываемой программе

Варианты заданий

Контрольные вопросы

Лабораторная работа 10 использование языка php для доступа к базам данных Цель работы

Содержание работы и методические указания к ее выполнению

Последовательность выполнения лабораторной работы

Требования к разрабатываемой программе

Варианты заданий

Контрольные вопросы

Последовательность выполнения лабораторной работы:

Контрольные вопросы

Последовательность выполнения лабораторной работы:

Контрольные вопросы

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

Последовательность выполнения лабораторной работы:

Контрольные вопросы

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

Последовательность выполнения лабораторной работы:

Контрольные вопросы

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

Операторы языка sql

1. Операторы описания

2. Операторы манипуляции данными

3. Операторы определения транзакций

4. Операторы определения прав доступа

5. Встроенный sql

6. Триггеры и процедуры

Лабораторная работа 8 выборка данных с использованием средств odbc Цель работы

Ознакомиться с базовыми функциями выборки данных в ODBC и разработать с их использованием программу получения данных из результирующего множества.

Содержание работы и методические указания к ее выполнению

Для выполнения работы необходимо

  • изучить базовые функции выборки данных SQLBindCol, SQLFetch(), SQLGetData();

  • ознакомиться с алгоритмами извлечения данных из результирующего множества с использованием средств ODBC;

  • настроить среду выполнения, разработать и отладить ODBC-программу выборки данных.

В ODBC существует две функции базового уровня для выборки результатов - SQLBindCol() и SQLFetch(). Функция SQLBindCol() определяет область хранения данных результирующего множества, функция SQLFetch() осуществляет выборку данных в области хранения.

Каждый столбец, который требуется выбрать, связывается с помощью отдельного вызова функции SQLBindCol(). Функция SQLBindCol() назначает область хранения в памяти и тип данных для столбца результирующего множества. Она определяет:

  • буфер хранения для получения содержимого столбца данных в результирующем множестве.

  • длину указанного буфера хранения.

  • область памяти для хранения длины столбца выборки.

  • преобразование типа данных.

Алгоритм программы, использующей SQLFetch() и SQLBindCol() для возвращения данных из результирующего множества предполагает выполнения следующих шагов:

  1. Вызывается функция SQLBindCol() один раз для каждого столбца, который должен быть возвращен из результирующего множества.

  2. Вызывается функция SQLFetch() для перемещения курсора на следующую строку и возврата данных из связанных столбцов.

  3. Повторяется шаг 2 до тех пор, пока функция SQLFetch()

не возвратит SQL_NO_DATA_FOUND. Это указывает на то, что был достигнут конец результирующего множества. Если результирующее множество является пустым, то SQL_NO_DATA_FOUND будет возвращен при первом вызове SQLFetch().

RETCODE SQLBindCol (hstmt, icol, fcType, rgbValue, cbValueMax, pcbValue)

HSTMT stmt - идентификатор оператора;

UWORD icol - идентификатор окружения;

SWORD fCtype - С-тип данных результирующего множества;

PTR rgbValue - указатель области хранения данных. Если rgbValue является нулевым указателем, то драйвер "отвязывает" столбец; для отвязывания всех столбцов прикладная программа вызывает SQLFreeStmt() с опцией SQL_UNBIND;


SDWORD cbValueMax - максимальная длина буфера rgbValue; для символьных данных, rgbValue должен также включать в себя место для байта нулевого окончания;

SDWORD pcbValue - число байт, которое может возвращаться в rgbValue при вызове SQLFetch().

Как только все требуемые столбцы были связаны, вызывается SQLFetch для выборки данных в определенной области хранения.

RETCODE SQLFetch (hstmt)

HSTMT stmt - идентификатор оператора.

Функция SQLGetData() позволяет выполнить выборку данных из столбцов, для которых область хранения не была заранее подготовлена с помощью функции SQLBindCol(). Функция SQLGetData() вызывается после вызова функции SQLFetch() для выборки данных из текущей строки.

Алгоритм программы, использующей SQLFetch() и SQLGetData() для извлечения данных из каждой строки результирующего множества предполагает выполнения следующих шагов:

  1. Вызывается функция

SQLFetch() для продвижения на следующую строку.

  1. Вызывается функция

SQLGetData() для каждого столбца, который должен быть возвращен из результирующего множества.

  1. Повторяется шаги 1 и 2 до тех пор, пока функция

SQLFetch() не возвратит SQL_NO_DATA_FOUND. Это указывает на то, что был достигнут конец результирующего множества. Если результирующее множество является пустым, то SQL_NO_DATA_FOUND будет возвращен при первом вызове SQLFetch().

RETCODE SQLGetData (hstmt, icol, fcType, rgbValue,

cbValueMax, pcbValue);

HSTMT stmt; - идентификатор оператора;

UWORD icol; - номер столбца результирующего множества, упорядоченный слева направо, начиная с 1;

SWORD fCtype; - С-тип данных результирующего множества;

PTR rgbValue; - указатель области хранения данных. Если rgbValue является нулевым указателем, то драйвер "отвязывает" столбец. Для отвязывания всех столбцов прикладная программа вызывает функцию SQLFreeStmt() с опцией SQL_UNBIND.

SDWORD cbValueMax; - максимальная длина буфера rgbValue; для символьных данных, rgbValue должен также включать в себя место для байта нулевого окончания.

SDWORD FAR* pcbValue; - число байт, которое может возвращаться в rgbValue при вызове SQLGetData().

Замечание. Прикладная программа может использовать SQLBindCol() для некоторых столбцов, а SQLGetData() - для других столбцов в пределах той же самой строки.


Последовательность выполнения лабораторной работы

  1. Убедиться в наличии и заполненности базы данных поставщиков, деталей, изделий, поставок.

  2. Разработать ODBC-программу для решения задачи из соответствующего варианта с помощью функций SQLBindCol(), SQLFetch().

  3. Разработать ODBC-программу для решения задачи из соответствующего варианта с помощью функций SQLFetch(), SQLGetData().

  4. После выполнения лабораторной работы привести базу данных в исходное состояние.

Требования к разрабатываемой программе

Разрабатываемая программа должна удовлетворять следующим требованиям:

  • все используемые функции ODBC должны анализироваться на корректность кода возврата;

  • в программе должен быть предусмотрен вывод сообщений обо всех шагах ее выполнения, в том числе и о возможных ошибках;

  • при выполнении запросов должно быть предусмотрено использование параметров; параметры варианта задания должны быть введены в ходе выполнения программы и переданы в SQL-запрос;

  • при выполнении программы должна контролироваться целостность базы данных;

  • программа должна быть достаточно документирована.

Варианты заданий

  1. Вывести информацию о поставщиках, поставивших детали для изделий из указанного города.

  2. Вывести информацию о деталях, поставки которых были осуществлены для указанного изделия.

  3. Вывести информацию о поставщиках, которые осуществляли поставки деталей из заданного города в указанный период.

  4. Вывести информацию о поставщиках, поставивших указанную деталь в заданный период.

  5. Вывести информацию обо всех деталях, поставляемых для указанного изделия более чем одним поставщиком.

  6. Вывести информацию о деталях, поставки которых были осуществлены для указанного изделия всеми поставщиками.

  7. Вывести информацию об изделиях, для которых была поставлена указанная деталь.

  8. Вывести информацию о поставщиках, которые осуществляли поставки деталей для указанного изделия.

Контрольные вопросы

  1. Какие существуют базовые функции выборки данных? Охарактеризуйте каждую из них.

  2. Как "отвязать" отдельный столбец результирующего множества?

  3. Каким образом можно "отвязать" все столбцы результирующего множества?

  4. Что возвращает функция


SQLFetch, если в результирующем множестве больше не осталось данных?

  1. Как определить область хранения данных?

  2. Каков алгоритм выборки данных с помощью курсора?

  3. Как работает функция

SQLFetch?

  1. Можно ли использовать

SQLFetch для продвижения курсора в обратном направлении?

 

Лабораторная работа 9 доступ к базам данных посредством cgi-скрипта, написанного на языке esql/c Цель работы

Ознакомиться с основными понятиями разработки CGI-скриптов с целью написания простейших CGI-программ доступа к базам данных с использованием языка ESQL/C.

Содержание работы и методические указания к ее выполнению

Для выполнения работы необходимо

  • изучить основы языка разметки гипертекста HTML;

  • ознакомиться со структурой спецификации CGI и CGI-скрипта;

  • изучить необходимые конструкции HTML-формы;

  • ознакомиться с переменными CGI-окружения;

  • изучить алгоритм обработки данных HTML-формы с использованием методов GET и POST;

  • с использованием средств языка ESQL/C разработать и отладить программу доступа к базе данных.

Общая схема доступа к базам данных с использованием CGI-скриптов имеет вид:

Спецификация CGI описывает формат и правила обмена данными между программным обеспечением WWW-сервера и запускаемой программой и представляет собой общую среду и набор протоколов для внешних приложений, которые используются при взаимодействии с Web-сервером.

CGI-программа (CGI-скрипт) представляет собой программу локальной операционной системы сервера (в двоичном виде или в виде программы для интерпретатора), которая может быть вызвана из среды WWW. Для инициирования CGI достаточно, чтобы в URL-адресе был указан путь до запускаемой программы. Программное обеспечение WWW-сервера исполняет эту программу, передает ей входные параметры и возвращает результаты ее работы, как результат обработки запроса, клиенту.

С целью облегчения администрирования CGI-программ, а также для удовлетворения требованиям безопасности CGI-программы группируются в одном или нескольких явно указанных серверу каталогах. При выполнении лабораторной работы в качестве таких каталогов выступают каталоги cgi-bin в домашней директории пользователя или в директории public_html. При этом

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

  • файлы CGI-скриптов (как, правило, с расширением cgi) должны быть обязательно исполняемыми.


Общепринятым средством организации интерфейса с пользователем в WWW-среде является HTML-форма. Если целью формы является сбор данных для последующей передачи их серверу, то такая форма должна обязательно содержать:

  1. Адрес CGI-скрипта (программы-обработчика, расположенной на некотором сервере), которому будут пересылаться данные из формы. При этом выполняется пересылка не всей страницы целиком, а только значений, соответствующих элементам управления формы, которая инициировала запуск программы-обработчика.

  2. Метод передачи данных (наиболее применяемые POST и GET).

  3. Некоторый объект формы, при нажатии на который произойдет пересылка данных.

Форма задается в HTML-документе с помощью тега FORM. Все элементы управления находятся внутри контейнера <FORM>...</FORM>.

<FORM action="http://.......cgi" method="GET"|"POST"

enctype="encodingType" name="formName" target="windowName"

onSubmit="Handler">

... Поля формы ...

</FORM>

Среди атрибутов HTML-формы для целей CGI-программирования наиболее важны

  • action.

Этот атрибут задает URL-адрес программы (CGI-скрипта), которая будет обрабатывать данные формы. Если он опущен, используется URL-адрес текущего документа;

  • method.

Задается метод. По умолчанию предполагается GET.

Основными методами являются методы GET и POST. В зависимости от метода (GET или POST) данные формы будут помещены в переменную окружения QUERY_STRING или поданы на стандартный ввод STDIN. В случае метода GET, используемого по умолчанию, данные добавляются в конец URL-адреса и отделяются знаком "?". С помощью метода POST информация, введенная пользователем, посылается непосредственно в сценарий с помощью выходного потока сервера STDOUT и входного потока STDIN вашего сценария. Преимуществом использования метода POST является неограниченность длины передаваемого сообщения и безопасность передачи по сравнению с GET.

При нажатии некоторой кнопки на форме HTML документа происходит передача данных броузером серверу, на котором находится программа-обработчик данных. Основная работа такой программы заключается в:

  • получении данных формы HTML-документа

в виде строки, в которой перечислены значения всех элементов HTML формы, инициировавшей запуск программы (данная строка записана в соответствие с четко определенным форматом);

  • разборе полученной строки;

  • обработке данных (например, занесение полученных значений в базу данных или выборка некоторых записей из базы данных по полученным значениям и т.д. и т.п.);

  • формировании HTML-документа, который будет передан сервером программе-броузеру.