Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТВ. ТЕБЕНЬКОВ Е.С. БД.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
386.6 Кб
Скачать

8. Технологии «клиент-сервер»

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

Клиент – это программа или компьютер, обращающийся к услугам сервера

Существуют разные технологии клиент-сервер.

Любая программа может быть представлена из нескольких частей:

  1. Ввод/вывод (интерфейсная часть);

  2. Вычисление на основе каких-либо бизнес правил;

  3. Обращение к данным;

  4. Управляющая часть, создает единый алгоритм.

В зависимости от того, как поделить эти части между сервером и клиентом, получаются различные технологии.

1 Вариант - файловый сервер.

Введем обозначения: К – клиент, С – сервер.

К выполняет 1,2,4 части, а на С содержится информация, необходимая для запроса, т.е. С выполняет 3 часть.

запрос

К С

ответ-файл

В данной технологии основная нагрузка падает на клиента.

2 Вариант – удаленный доступ.

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

Запросы пишутся на динамическом SQL. А в ответ получаем ту порцию информации, которую запросили, эта порция информации называется курсором.

Динамический SQL - это операторы SQL, которые передаются и выполняются на сервере.

Имеют место следующие операторы:

Prepare имя_оператора from строка, Select, Insert, Delete, Update

Execute имя_оператора – позволяет выполнить запомненный на сервере оператор;

Drop имя_оператора – позволяет удалит оператор;

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

Exec sql “sql оператор”.

Описание курсора на SQL:

Declare имя_курсора [scroll] cursor for подзапрос [for update].

Курсор может быть обычным, то есть просматриваемым в одном направлении, от начала к концу, если стоит scroll, то просматривать курсор можно в любом направлении. Если стоит for update, то это значит, что курсор изменяемый, все изменения будут запоминаться на сервере.

Операции с курсором:

Open имя_курсора – позволяет получить курсор;

Fetch имя_курсора – позволяет перейти к следующей записи курсора, если перед именем курсора поставить Last, то перейдем к последней записи, First – к первой записи, Current к текущей;

Close имя_курсора – закрытие курсора, но он остается определенным;

Free имя_курсора – удаление курсора.

3 Вариант – сервер Базы Данных.

Бизнес-правила хранятся на сервере в виде хранимых процедур. Хранимые процедуры – это программы, написанные на некотором языке хранимых процедур с SQL вставками. Их можно написать заранее и поместить в библиотеку.

Рассмотрим операторы для программирования хранимых процедур.

  • Create имя_процедуры (параметры)

[return список выходных данных]

тело

End procedure - создание процедуры;

  • Execute procedure имя (аргументы)[into список переменых] -– выполнение процедуры, созданной заранее;

  • drop procedure имя – удаление хранимой процедуры;

  • define список переменных – позволяет объявить переменные, которые являются локальными в хранимой процедуре;

  • call имя (аргументы) into список переменных – позволяет вызвать другую процедуру;

  • переменная:=выражение – присвоение;

  • if условие then оператор [else оператор] end if – условный оператор;

  • операторы цикла

for переменная:=целое1

to целое2 step целое

end for

while условие for each имя_курсора

тело операторы

end while end for each

Среди операторов ТЕЛА используются следующие:

Exit - позволяет выйти из цикла до его завершения;

Continue – позволяет начать выполнение цикла, не заканчивая предыдущий шаг;

System – позволяет выполнить команды ОС;

Return – позволяет сформировать результаты и вернуть их из процедуры;

Begin

. – блок, часть пограммы, в которой могут быть объявлены

. локальные переменные.

end