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

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

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

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

Добавлен: 30.12.2025

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

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

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

РАБОТА С КУРСОРОМ

Цель работы

Приобретение практических навыков работы с курсором в программах на языке ESQL/C.

 

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

к ее выполнению

Обработка многострочного запроса осуществляется с помощью специального объекта данных, называемого курсором. Множество строк, возвращаемое предложением Select, называется активным множеством. В процессе использования курсор может задаваться в двух режимах: последовательном и скроллирующем. Последовательный курсор позволяет просматривать активное множество только в последовательном порядке, а также используется при модификации и удалении строк из активного множества.

Скроллирующий курсор позволяет просматривать строки из активного множества в произвольном порядке. Основные операции при работе с курсором:

  • объявление курсора, выполняемое оператором Declare;

  • открытие курсора, выполняемое оператором Open;

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

  • закрытие курсора, выполняемое оператором Close.

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

1. Изучить синтаксис и правила использования операторов Declare, Open, Fetch, Close (см. Приложение 2), а также особенности работы с последовательным и скроллирующим курсором.

2. Разработать и отладить набор ESQL/С-программ, решающих задачи из соответствующего варианта заданий. Результатом работы программ является набор строк, которые подлежат выводу на экран с соответствующими пояснительными заголовками.

3. Разработать и отладить набор ESQL/С-программ, решающих задачи из соответствующего варианта заданий аналогично заданию из п. 2 с той разницей, что выводить результаты запроса необходимо в обратном порядке следования строк. Указанное требование предполагает использование скроллирующего курсора.

Как и в предыдущей лабораторной работе, общими требованиями при разработке программ являются:

  • беспечение необходимой обработки ошибок;

  • использование аппарата транзакций;

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

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

 

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

Вариант 1.


1. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее количество деталей.

2. Получить номера изделий, для которых детали полностью поставляет поставщик S1.

3. Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия.

Вариант 2.

1. Выдать общее количество деталей P1, поставляемых поставщиком S1.

2. Получить номера изделий, использующих только детали, поставляемые поставщиком S1.

3. Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона, для изделия, изготавливаемого также в Лондоне.

Вариант 3.

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

2. Получить общее число изделий, для которых поставляет детали поставщик S1.

3. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь.

Вариант 4.

1. Выдать полный список деталей для всех изделий, изготавливаемых в Лондоне.

2. Получить номера деталей, поставляемых каким-либо поставщиком из Лондона.

3. Выдать номера деталей, поставляемых для всех изделий из Лондона.

Вариант 5.

1. Выдать список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно.

2. Получить номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S1.

3. Выдать номера и названия деталей, поставляемых для какого-либо изделия в Лондоне.

Вариант 6.

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

2. Получить цвета деталей, поставляемых поставщиком S1.

3. Выдать номера и фамилии поставщиков, поставляющих деталь Р1 для какого-либо изделия в количестве, большем среднего объема поставок детали Р1 для этого изделия.

Вариант 7.

1. Выдать названия изделий, для которых поставляются детали поставщиком S1.

2. Получить номера деталей, поставляемых для какого-либо изделия поставщиком, находящимся в том же городе, где изготавливается это изделие.

3. Выдать номера изделий, для которых средний объем поставки деталей P1 больше наибольшего объема поставки любой детали для изделия J1.


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

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

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

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

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

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

  1. По какой из команд сервер выделяет память под курсор?

  1. По какой из команд сервер начинает поиск строк запроса?

  1. Чем заканчивается работа оператора Open?

  1. Чем заканчивается работа оператора Fetch?

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

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

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

ДИНАМИЧЕСКИЙ SQL

Цель работы

Приобретение практических навыков работы со средствами динамического SQL при написании программ на ESQL/C.

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

к ее выполнению

С помощью динамического SQL программа-клиент выполняет программное формирование оператора SQL для его последующего исполнения, делая это в три этапа:

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

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

  • программа использует оператор Execute для выполнения подготовленного оператора.

Динамический оператор SQL по форме напоминает любой другой оператор SQL, записанный в программе, с тем ограничением, что он не может содержать имена главных переменных. Поэтому

  • в динамический оператор Select нельзя включать спецификатор Into;

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

Оператор Prepare создает структуру данных, имеющую имя и отображающую строку символов с текстом оператора SQL.


Подготовленный по оператору Prepare динамический оператор (группу операторов) можно многократно выполнять. С помощью оператора Execute выполняются операторы, отличные от операторов Select, а также операторы Select, которые возвращают в качестве результата одну строку. Если оператор Select возвращает более одной строки, динамический оператор Select выполняется не с помощью оператора Execute, а подключается к курсору и в дальнейшем используется обычным образом с помощью курсорных средств. В обоих случаях при выполнении динамического оператора с помощью спецификатора Using ему передаются главные переменные, участвующие в выражениях и принимающие возвращаемые значения и, по сути, играющие роль фактических параметров. Как ограничение, следует отметить, что знак вопроса нельзя использовать вместо идентификаторов SQL, таких как имя базы данных, таблицы или столбца: эти идентификаторы должны указываться в тексте оператора при его подготовке, возможно, как полученные из пользовательского ввода.


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

  1. Изучить синтаксис и правила использования операторов Prepare, Execute (см. Приложение 2), а также особенности работы с курсором при выполнении динамического оператора SQL.

  1. Разработать и отладить набор ESQL/С-программ, решающих задачи из соответствующего варианта заданий. Результатом работы программ является одна или несколько строк, которые подлежат выводу на экран с соответствующими пояснительными заголовками.

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

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

  • обеспечивать необходимую обработку ошибок;

  • использовать аппарат транзакций;

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

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

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

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

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

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

Вариант 1.

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

2. Получить номера изделий, для которых детали полностью поставляет поставщик с указанным номером (параметр - номер поставщика (S1)).

3. Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью, номер которой указывается, в количестве, большем, чем средний объем поставок данной детали для этого изделия (параметр - номер детали (P1)).

Вариант 2.

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

2. Получить общее количество деталей с указанным номером, поставляемых некоторым поставщиком (параметры - номер детали (P1), номер поставщика (S1)).

3. Выдать номера изделий, использующих только детали, поставляемые некоторым поставщиком (параметр - номер поставщика (S1)).

Вариант 3.

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