Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования


Скачать 1.91 Mb.
Название Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования
страница 14/18
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
1   ...   10   11   12   13   14   15   16   17   18

Задание 2.

Создайте просмотр rent_cost, который позволит просмотреть данные таблицы Rent.


  1. Запустите утилиту Interactive SQL командой Tools/Interactive S QL главного меню IBConsole.

  2. Используя меню Query/Execute создайте просмотр rent_cost командой:

CREATE VIEW RENT_COST

AS SELECT Тур, Rn FROM Rent

  1. Закройте утилиту.

  2. Инициировать просмотр из клиентской части системы:

  1. Начните новый Delphi-проект.

  2. Используя Form Wizard создайте клиент-серверное приложение на основе компонента TTable, алиаса clsrvExmpl и "таблицы" rent.



Выбор просмотра RENT_COST

Поскольку просмотр — это виртуальная таблица, то можно модифицировать ее данные. Однако это возможно, если запрос соответствует трем условиям:

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

  • в просмотр должен быть включен каждый столбец таблицы, имеющий атрибут not null;

  • SELECT-оператор просмотра не содержит подзапросы, агрегатные функ­ции, зарезервированное слово distinct, предложение having, хранимые процедуры и функции, определенные пользователем.

Такой запрос называют модифицируемый (updatable). Если в определении просмотра нарушено хотя бы одно из выше перечис­ленных условий, то он — не модифицируемый (read-only).
rent_cost. модифицируемый запрос. Чтобы убедиться, можете переоценить стоимость аренды однокомнатных квартир.

  1. Используя утилиту Interactive SQL, исполните следующую команду:

UPDATE RENT_COST SET Rn = 70 WHERE Rn = 60

  1. Чтобы изменения вступили в силу, выберите команду Transactions/Commit.

Задание 3..

  1. Создайте не модифицируемый просмотр realty_cost, используя следующую команду:

CREATE VIEW REALTY_COST AS

SELECT ADR, RN

FROM REALTY, RENT

WHERE RENT.TYP = REALTY.TYP

  1. Чтобы убедиться, что просмотр realty_cost не модифицируемый, исполните следующую SQL-команду:

UPDATE REALTY_COST SET RN = 60 WHERE RN = 70

Задание 4.

Выполнить отбор информации об объекте и владельцах недвижимости в таблицах базы данных Exmpl.gdb.

Задание 5.

Проверить информацию об арендованных объектах недвижимости на введенный период.

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

  1. Какие методы поиска работают по любому полю (полям)?

  2. Какие методы поиска работают только по полю (полям) текущего индекса?

  3. Чем отличается процедура фильтрации от процедуры поиска?

  4. Какие методы фильтрации работают по любым полям?

  5. Каким должен быть результат исполнения следующей команды:

SELECT * FROM REALTY_COST


Лабораторная работа 28
Создание и использование хранимых процедур.
Цель работы: Научится создавать, ставить на выполнение, редактировать и удалять хранимую процедуру.
Образовательные результаты, заявленные во ФГОС третьего поколения:

Студент должен

уметь:

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

знать:

  • структуры данных систем управления базами данных (СУБД), общий подход к организации представлений, таблиц, индексов и кластеров.


Краткие теоретические и учебно-методические материалы по теме лабораторной работы
Хранимая процедура это отдельная программа, написанная на процедурном языке используемого сервера баз данных. Существует две разновидности хранимых процедур: процедуры выбора (аналог SELECT-запросов) и исполняемые процедуры. Процедуры выбора возвращают наборы данных, которые состоят из строк или отдельных значений. Исполняемые процедуры не возвращают данные. Они предназначены для исполнения команд, например, delete. Синтаксис объявления хранимой процедуры:
CREATE PROCEDURE ИмяПроцедуры [(вхПараметр <�тип>

[,вхПараметр <�тип> ...])] [RETURNS (выхПараметр <�тип>

[,выхПараметр <�тип> ...])]
AS <�телоПроцедуры> [;]
Для передачи процедуре значений из вызывающего приложения используют вхПараметр. Для возвращения результатов хранимой процедуры — выхПараметр. Тело процедуры имеет формат:
[DECLARE VARIABLE имяПерем <�тип>;

[DECLARE VARIABLE имяПерем <�тип>," . . . ] ]

BEGIN

< оператор>

[...]

[<�оператор>]

END

Ключевые слова declare variable объявляют локальные переменные процедуры.
Изменение и удаление хранимых процедур

Изменение хранимой процедуры производится оператором
ALTER PROCEDURE ИмяПроцедуры [(вхПараметр <�тип>

[,вхПараметр <.тип > ...])]

[RETURNS(выхПараметр <�тип>

[,выхПараметр <�тип> ...])] AS <�тело процедуры>;
После выполнения оператора alter procedure предыдущее определение процедуры заменяется новым определением параметров, переменных и тела процедуры. Для удаления хранимой процедуры из базы данных используется оператор: DROP PROCEDURE ИмяПроцедуры;
Исполнение хранимых процедур

Запуск исполняемой хранимой процедуры производят командой execute procedure, а процедуры выбора — select.

Возвращение данных

Хранимые процедуры позволяют возвращать единичные данные, например, максимальное значение столбца. Такие процедуры можно исполнять, используя компонент TQuery.


  1. Создание хранимой процедуры

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

Ход работы:

1. Сохраните в текстовом файле StoredProc.sql код скрипта создания хранимой процедуры Get__Lease_Data.

Код скрипта StoredProc.sql

SET TERM ^;

CREATE PROCEDURE Get_Lease_Data ( Tenant__No SMALLINT)

RETURNS (Lease_ID SMALLINT, LeaseJDate TIMESTAMP)

AS

BEGIN

FOR SELECT DISTINCT Lease.NLease, Lease.LDate

FROM Tenant, Lease

WHERE Tenant.NTn = :Tenant_No AND Lease.NTn = Tenant.NTn

INTO :Lease_ID, :Lease_Date

DO

SUSPEND; END ^
Примечание: Поясним команду set term. Точка с запятой (;) для утилиты Interactive SQL означает конец оператора. Другими словами, каждый оператор, заключенный в разделители, должен быть исполнен. Чтобы этого не произошло в момент создания хранимой процедуры, команда set term назначает разделитель операторов ^ взамен точки с запятой. Он не инициирует исполнение команд.


  1. Запустите утилиту Interactive SQL.

  2. Исполните скрипт, используя команду Query/Load Script.

  1. Исполнение хранимых процедур

Ход работы:

Создадим исполняемую хранимую процедуру Add_0wner.

  1. Запустите утилиту Interactive SQL.

  2. Соединитесь с базой данных Exmpl.gdb.

  3. Создайте следующую исполняемую хранимую процедуру:


CREATE PROCEDURE Add_0wner (NOn SMALLINT, Ow CHAR(10), AdO CHAR(20))

AS

BEGIN

INSERT INTO OWNER (NOn, Ow, AdO)

VALUES (:NOn, :Ow, :AdO);

SUSPEND;

END
4. Исполните процедуру следующей командой:
EXECUTE PROCEDURE Add_0wner (4,'Моренко','Сумская 6')
5. Чтобы изменения вступили в силу, выполните команду Transactions/Commit.

  1. Исполнение хранимых процедур выбора.

Ход работы:

  1. Запустите процедуру выбора Get_Lease_Data на исполнение следующей SQL-командой:

select * from Get_Lease_Data. Результат исполнения команды.




2. Измените значение входного параметра на 2 и вы увидите, что в отличие от просмотра хранимая процедура позволяет реализовать динамический запрос.

  1. Запуск процедур выбора из приложения клиента

В случаях, когда сервер базы данных (например, Sybase) поддерживает метод OPEN компонента TStoredProc, то предпочтительнее использовать его. Для InterBase-сервера это не так, поэтому рассмотрим возвращение наборов данных с помощью компонента TQuery.

Ход работы:

  1. Начните новый Delphi-проект.

  2. Поместите компонент TQuery на форму.

  3. Установите свойство DatabaseName равным алиасу базы данных — clsrvExmpl.

  4. Запишите в свойстве SQL компонента TQuery вызов процедуры выбора. Например: Get_Lease_Data: SELECT * FROM Get_Lease_Data

  5. Поместите на форму компоненты TDBGrid, TDataSource и определите их свойства.

  6. Установите свойство Active компонента TQuery равным True или вызовите метод open.

  1. Возвращение данных

Ход работы:

  1. Создайте хранимую процедуру, используя следующий скрипт:

CREATE PROCEDURE GET_Last_Realt

RETURNS (Last_Realt CHAR(20)) AS

BEGIN

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

SELECT Adr FROM Lease

WHERE (LDate IN (SELECT MAX(LDate) FROM Lease))

INTO :Last_Realt;

SUSPEND;

END

  1. Начните новый Delphi-проект.

  2. Поместите на форму компонент TQuery.

  3. Определите его свойства.




Свойство

Значение

DataBase

clsrvExmpl

SQL

SELECT Last_Realt

FROM GET_Last_Realt




  1. Поместите на форму компоненты TDBGrid, TDataSource и определите их свойства.

  2. Установите свойство Active компонента TQuery равным True или вызовите метод open.



Возвращение данных с помощью TQuery

  1. Возвращение результатов

Хранимые процедуры можно применять для возвращения некоторого ре­зультата. Например, суммарной стоимости аренды объектов одним из арендаторов.

Создайте процедуру Get_SumRent, используя скрипт SumRent.sql

Код скрипта SumRent.sql

CREATE PROCEDURE Get_SumRent(Tenant CHAR(10))

RETURNS (Rent_SUM INTEGER)

AS

BEGIN

SELECT SUM(Rent.Rn)

FROM Tenant, Lease, Realty, Rent WHERE (Tenant.Tn = :Tenant)

AND (Lease.NTn = Tenant.NTn) AND (Realty.AdR = Lease.AdR) AND (Rent.Тур = Realty.Тур) GROUP BY Tenant.Tn, Rent.Rn INTO :Rent_SUM;

SUSPEND; END
Такие хранимые процедуры следует исполнять, используя компонент TStoredProc.

Ход работы:

  1. Начните новый Delphi-проект.

  2. Поместите на форму компонент TDatabase с вкладки BDE и назначьте его свойства


Свойство

Значение

AliasName

clsrvExmpl

DatabaseName

Exmpl

Params

User Name=SYSDBA

PASSWORD=masterkey

LoginPrompt

False

Connected

True
1   ...   10   11   12   13   14   15   16   17   18

Похожие:

Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики башкортостан
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики башкортостан
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Мордовия Государственное бюджетное образовательное учреждение...
Федерации от 22 июня 2010 года №678. Организация – разработчик Государственное бюджетное образовательное учреждение Республики Мордовия...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное бюджетное образовательное учреждение...
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Областное государственное бюджетное образовательное учреждение среднего...
Областное государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования государственное бюджетное образовательное...
Полное наименование образовательного учреждения в соответствии с Уставом Государственное бюджетное образовательное учреждение среднего...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования государственное бюджетное образовательное...
Полное наименование образовательного учреждения в соответствии с Уставом Государственное бюджетное образовательное учреждение среднего...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Образовательное государственное бюджетное учреждение среднего профессионального...
Министерство здравоохранения иркутской области образовательное государственное бюджетное учреждение
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное автономное образовательное учреждение...
Государственное автономное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное автономное образовательное учреждение...
Государственное автономное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Башкортостан Государственное автономное образовательное...
Городская студенческая научно-практическая конференция «Наука. Фантазия. Реальность», посвященная Году экологии
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Мордовия Государственное бюджетное образовательное учреждение...
Разработка проекта основной профессиональной образовательной программы в соответствии с фгос-3: опыт, проблемы, перспективы
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Данные учреждения среднего профессионального образования
Государственное бюджетное образовательное учреждение среднего профессионального образования Колледж декоративно-прикладного искусства...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Среднего профессионального образования «государственный медицинский...
Областное государственное образовательное бюджетное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Программам Государственное бюджетное образовательное учреждение среднего...
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования (по состоянию на 01 апреля 2014г.)
Полное наименование образовательного учреждения в соответствии с Уставом: государственное бюджетное образовательное учреждение начального...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск