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

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

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

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

Добавлен: 30.12.2025

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

Скачиваний: 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. Триггеры и процедуры

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)).


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

  1. Каково назначение и синтаксис оператора Prepare?

  1. Каково назначение и синтаксис оператора Execute?

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

  1. Что такое динамические главные переменные? Для чего они используются?

  1. С какими операторами связано использование динамических главных переменных?

  1. Каково назначение оператора 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-

операторы, которые должны быть выполнены, будут выполняться только один раз;

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