ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 944
Скачиваний: 0
СОДЕРЖАНИЕ
Часть 1. Технологии работы с базами данных
Лабораторная работа 1 создание и модификация таблиц базы данных Цель работы
Содержание работы и методические указания к ее выполнению
Insert into имя_таблицы [(поле [,поле]...)]
Values (константа [,константа]...)
Лабораторная работа 2 выбор и модификация данных таблиц Цель работы
Содержание работы и методические указания к ее выполнению
Варианты заданий на составление запросов по выборке информации из таблиц базы данных
Варианты заданий на составление запросов по модификации информации из таблиц базы данных
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы:
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Последовательность выполнения лабораторной работы
Последовательность выполнения лабораторной работы:
Требования к разрабатываемой программе
2. Средства отслеживания ошибок
3. Непосредственное и подготавливаемое выполнение операторов sql
4. Использование параметров при выполнении
5. Настройка доступа к источнику данных
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Лабораторная работа 8 выборка данных с использованием средств odbc Цель работы
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Лабораторная работа 10 использование языка php для доступа к базам данных Цель работы
Содержание работы и методические указания к ее выполнению
Последовательность выполнения лабораторной работы
Требования к разрабатываемой программе
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
Последовательность выполнения лабораторной работы:
2. Операторы манипуляции данными
3. Операторы определения транзакций
2. Получить общее число изделий, для которых поставляет детали поставщик с указанным номером (параметр - номер поставщика (S1)).
3. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо деталь указанного цвета (параметр - цвет детали (красный)).
Вариант 4.
1. Выдать общий объем поставок деталей красного цвет.
2. Получить полный список деталей для всех изделий, изготавливаемых в некотором городе (параметр - название города (Лондон)).
3. Выдать номера деталей, поставляемых каким-либо поставщиком из указанного города (параметр - название города (Лондон)).
Вариант 5.
1. Выдать полную информацию об изделии, имеющем максимальный объем поставок деталей (с использованием оператора.
2. Получить список всех поставок, в которых количество деталей находится в некотором диапазоне (параметры - границы диапазона (от 300 до 750)) .
3. Выдать номера и названия деталей, поставляемых для какого-либо изделия из указанного города (параметр - название города (Лондон)).
Вариант 6.
1. Выдать общий объем поставок деталей для изделия J2.
2. Получить цвета деталей, поставляемых некоторым поставщиком (параметр - номер поставщика (S1)).
3. Выдать номера и фамилии поставщиков, поставляющих некоторую деталь для какого-либо изделия в количестве, большем среднего объема поставок данной детали для этого изделия (параметр - номер детали (P1)).
Вариант 7.
1. Выдать общий объем поставок деталей для изделия с максимальным объемом поставок.
2. Получить названия изделий, для которых поставляются детали некоторым поставщиком (параметр - номер поставщика (S1)).
3. Выдать номера изделий, для которых средний объем поставки некоторой детали больше максимального объема поставки любой детали для указанного изделия (параметры - номер детали (P1), номер изделия (J1)).
Контрольные вопросы
Каково назначение и синтаксис оператора Prepare?
Каково назначение и синтаксис оператора Execute?
Каковы особенности использования динамических операторов SQL?
Что такое динамические главные переменные? Для чего они используются?
С какими операторами связано использование динамических главных переменных?
Каково назначение оператора Execute Immediate?
Лабораторная работа 7
ВЫПОЛНЕНИЕ ПРОСТЕЙШИХ SQL-ОПЕРАТОРОВ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ODBC.
Цель работы
Ознакомиться со структурой программ, использующие средства ODBC, реализовать и выполнить с использованием простейших функций ODBC запросы, связанные с модификацией таблиц.
Содержание работы и методические указания
к ее выполнению
Для выполнения работы необходимо
ознакомиться со структурой программы ODBC;
изучить функции выполнения подготовительных операций в ODBC-программе;
ознакомиться со средствами обработки ошибок в ODBC-программе;
изучить функции непосредственного и подготавливаемого выполнения SQL-операторов, передачи параметров;
настроить среду выполнения, разработать и отладить ODBC-программу.
1. Структура ODBC-программы и функции инициализации
Общая структура ODBC-программы имеет вид:

Идентификатор окружения каждого приложения ODBC описывается функцией
SQLAllocEnv, который должен быть освобожден в конце приложения с помощью функции SQLFreeEnv. Тип идентификатора окружения HENV.
RETCODE SQLAllocEnv (env)
HENV env - указатель области хранения в памяти идентификатора окружения.
RETCODE SQLFreeEnv (env)
HENV env - имя идентификатора окружения, который должен быть освобожден.
Идентификатор соединения представляет собой соединение между источником данных и прикладной программой. Для каждого источника данных, с которым приложение предполагает соединиться должен быть назначен идентификатор соединения
SQLAllocConnect и освобожден SQLFreeConnect. Приложение может соединиться с источником данных, используя SQLConnect и разъединиться, используя SQLDisconnect. Тип идентификатора соединения HDBC.
RETCODE SQLAllocConnect (env, dbc)
HENV env - указатель на идентификатор окружения прикладной программы.
HDBC dbc - указатель области хранения памяти для идентификатора соединения.
RETCODE SQLFreeConnect (dbc)
HDBC dbc - указатель области памяти для освобождаемого идентификатора соединения.
RETCODE SQLConnect(dbc, szDSN, sbDSN, szUID, sbUID, szAuthStr, cbAuthStr)
HDBC dbc - идентификатор соединения.
UCHAR szDSN - строка с именем источника данных, с которым прикладная программа собирается соединиться.
SWORD sbDSN - длина строки источника данных, если это имя имеет нулевое окончание, то этот параметр можно установить в SQL_NTS, который является константой ODBC и используется вместо длины параметра, если параметр содержит строку с нулевым окончанием.
UCHAR szUID - имя пользователя.
SWORD sbUID - длина имени пользователя или SQL_NTS.
UCHAR szAuthStr - пароль пользователя.
SWORD cbAuthStr - длина пароля.
RETCODE SQLDisconnect (dbc)
HDBC dbc - идентификатор доступа для отсоединения.
Идентификатор оператора аналогичен идентификатору окружения или соединения за исключением того, что он ссылается на SQL-оператор. Идентификатор соединения может быть связан несколькими идентификаторами операторов, но каждый идентификатор оператора связан только со своим идентификатором соединения. Чтобы назначить идентификатор оператора, приложение вызывает функцию
SQLAllocStmt, а для освобождения SQLFreeStmt. Тип идентификатора оператора HSTMT.
RETCODE SQLAllocStmt (dbc, stmt)
HDBC dbc - идентификатор соединения.
HSTMT stmt - указатель области хранения в памяти для идентификатора оператора.
RETCODE SQLFreeStmt (stmt, fOption)
HSTMT stmt -идентификатор оператора.
UWORD fOption - одна из следующих опций:
SQL_CLOSE - закрывает курсор, связанный с hstmt, (если он был определен) и отбрасывает все ожидаемые результаты. Прикладная программа может вновь открыть этот курсор позднее, вновь выполнить оператор SELECT с теми же самыми или другими значениями параметров. Если курсор не открыт, то эта опция не повлияет на программу.
SQL_DROP - освобождает hstmt, освобождает все ресурсы, связанные с ним, закрывает курсор, если он открыт, и отбрасывает все ожидаемые строки. Эта опция завершает все обращения к hstmt. hstmt обязательно должен быть переназначен для повторного использования. Эта опция освобождает все ресурсы, которые были определены с помощью функции SQLFreeStmt.
SQL_UNBIND - освобождает все буферы столбцов, которые повторно используются функцией SQLBindCol для данного идентификатора оператора.
SQL_RESET_PARAMS - освобождает все буферы параметров, которые были установлены функцией SQLBindCol для данного идентификатора оператора.
2. Средства отслеживания ошибок
Для отслеживания ошибок в ODBC используется функция SQLError, которая возвращает сообщение об ошибке при неудачном завершении какой-либо функции ODBC.
Каждая ODBC-функция возвращает RETCODE, который принимает одно из нижеследующих значений:
SQL_SUCCESS Операция выполнена без ошибки.
;
SQL_SUCCESS_WITH_INFO Функция завершена, но при вызове
SQLError указывает на ошибку. В большинстве случаев это возникает, когда значение, которое должно быть возвращено очень большого размера, чем это предусмотрено буфером прикладной программы;
SQL_ERROR Функция не была завершена из-за возникшей ошибки. При вызове
SQLError можно будет получить больше информации о сложившейся ситуации;
SQL_INVALID_HANDLE Не правильно определен идентификатор окружения, соединения или оператора. Это часто случается, когда идентификатор используется после того, как он был освобожден или если был определен нулевой указатель;
SQL_NO_DATA_FOUND Больше нет подходящей информации. Фактически это не является ошибкой. Чаще всего такой статус возникает при использовании курсора, когда больше нет строк для его продвижения;
SQL_NEED_DA
TA Необходимы данные для параметра.
RETCODE SQLError (henv, hdbc, hsmt, szSqlState, pfNativeError, szErrorMsg, cbErrorMsgMax, cbErrorMsg)
HENV henv - идентификатор окружения.
HDBC hdbc - идентификатор соединения.
HSTMT hsmt - идентификатор оператора.
UCHAR szSqlState - SQLSTATE в качестве строки завершения.
SDWORD pfNativeError - в этом параметре и будет возвращена ошибка, возникшая в СУБД, а также ее собственный код. Если соответствующего собственного кода ошибки не существует, то возвращается ноль.
UCHAR szErrorMsg - указатель на буфер, куда будет возвращен текст ошибки (строка с нулевым окончанием).
SWORD cbErrorMsgMax - максимальный размер вышеописанного буфера, должен быть меньше или равен SQL_MAX_MESSAGE_LENGTH-1.
SWORD cbErrorMsg - сюда возвращается число байт, скопированных в буфер.
3. Непосредственное и подготавливаемое выполнение операторов sql
Непосредственное выполнение используется в тех случаях, когда
SQL-
операторы, которые должны быть выполнены, будут выполняться только один раз;
не требуется информации о результирующем множестве до выполнения оператора;