45526

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

Доклад

Информатика, кибернетика и программирование

Имеют место следующие операторы: Prepre имя_оператора from строка Select Insert Delete Updte Execute имя_оператора позволяет выполнить запомненный на сервере оператор; Drop имя_оператора позволяет удалит оператор; Эти операторы передаются в интерактивном режиме а если хотим записать в рамках какойто программы то например на Паскале это будет выглядеть так: Exec sql âsql операторâ. Описание курсора на SQL: Declre имя_курсора [scroll] cursor for подзапрос [for updte]. Операции с курсором: Open имя_курсора позволяет...

Русский

2013-11-17

45.5 KB

5 чел.

Билет №8

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

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

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

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

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

  •  Ввод/вывод (интерфейсная часть);
  •  Вычисление на основе каких-либо бизнес правил;
  •  Обращение к данным;
  •  Управляющая часть, создает единый алгоритм.

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

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  условие 

                тело

                end while

                                 for each имя_курсора

                                 операторы 

                                 end for each

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

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

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

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

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

  Begin

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

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

  end

4 вариант – сервер приложений.

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

В технологии клиент-сервер есть специальные активные программы, которые называют триггерами.

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

  •  Create trigger имя событие_действие  - создание триггера;
  •  Drop trigger  - удаление.

Запись события:

  •  Insеrt on  имя_таблицы – наступает тогда, когда в таблицу заносится информация;
  •  Delete on  таблица – наступает при удалении из таблицы;
  •  Update of список_полей on имя_таблицы  - возникает при изменении заданных полей в указанной таблице.

Действия бывают трех видов:

  •  Before (оператор) – перед добавлением, удалением, изменением;
  •  Foreach row (оператор) – для каждой строки таблицы;
  •  After (оператор) после добавления, удаления, изменения.

В триггерах есть возможность сослаться на одно и тоже поле до изменения и после:

  •  Referencing old as имя – запомнить до изменения;
  •  Referencing new as имя – запомнить после изменения;

When (условие)(оператор) – задает дополнительные условия для работы с триггерами.

Пример.

Изменить статус поставщиков только в том случае, если новый статус не меньше старого и не больше 100%.

Нужно создать триггер, который будет обновлять статус:

 Create trigger Sstat

Update of  статус on Поставщики

Referencing old as c1

Referencing new as c2

Foreach row

When ( с1.статус >=с2.статус)

 Execute procedure error  (с1.статус,с2.статус)

When   (с2.статус>100%)

Execute procedure error1 (с1.статус,с2.статус)


К

1

 курсор

    запрос

С

БД

К

1,2

2, БД

Запрос на SQL

Обработанные           данные

Клиент,

1

Сервер приложений,

2

Сервер данных,

БД

Протокол API

SQL

результаты

данные


 

А также другие работы, которые могут Вас заинтересовать

41748. Рекурсия. Вычислить сумму N членов рекуррентной последовательности 65.54 KB
  Вычислить функцию Бесселя 8го порядка с аргументом x: Вычислить биномиальные коэффициенты для b вводятся пользователем. Определить Nый член рекуррентной последовательности: Дана функция Вычислить корень уравнения на отрезке 1 3 методом деления отрезка пополам с погрешностью Дана последовательность Определить сумму элементов данного массива. Вычислить S1S2 где S1 сумма нечетных целых чисел от до b S2 сумма четных чисел от c до d.
41749. Определение скорости полета пули по методу Поля 49.49 KB
  Определить угловую скорость вращения вала с бумажными дисками.1 с двумя бумажными дисками закрепленными на общем валу на расстоянии l друг от друга. Расстояние между дисками l. Если произвести выстрел вдоль оси вращения бумажных дисков то считая движение пули между дисками равномерным и прямолинейным ее скорость можно определить по формуле: 1 где l расстояние между бумажными дисками время пролета пули между дисками...
41750. Дискретное (цифровое) представление текстовой, графической, звуковой информации и видеоинформации 24.99 KB
  Способы кодирования и декодирования информации в компьютере, в первую очередь, зависит от вида информации, а именно, что должно кодироваться: числа, текст, графические изображения или звук. Дискретное представление информации: кодирование цветного изображения в компьютере (растровый подход). Представление и обработка звука и видеоизображения.
41751. Исследование транзистора по схеме с общим эмиттером 118.56 KB
  Цель работы: Снятие характеристик биполярного транзистора. Снять входные характеристики транзистора для двух значений выходного напряжения: Uкэ=0; Uкэ= 5В. Снять выходные характеристики транзистора.
41752. Построение графиков функций в системах координат 220.26 KB
  Функция одной переменной для шагового аргумента. Построить таблицу значений функции для аргумента x изменяющегося от 0 до 15 с шагом 01.1 Вариант Функция Интервал изменения аргумента Шаг изменения аргумента Вычислить таблицу значений функции для аргумента изменяющегося с данным шагом в заданном интервале и построить ее график Пример 2.
41753. Организация управления ЭВМ 120.47 KB
  Область стека зарезервированная для системных программ устанавливается в БУП а адрес возврата записывается в стек. Наконец инициализируется область стека пользователя записью туда стартового адреса и номера карты памяти содержащей коды программы. Модуль 1 PROCEDURE иницпроцесспольз адресбуп стартовыйадрес приоритет адрес объем карта кодсобытня картапрограммы объемданных бл данных картадаин встатьвочередь очередьвсехпроцессов адресбуп приоритет ■ приоритет[адресбуп] SET системныйфлагпроцесса ТО...
41756. Исследование частотных характеристик разомкнутых линейных САУ и изучение соединений звеньев 461.14 KB
  Для последовательного соединения W1 W2 W3: в одной системе координат построить ЛАЧХ каждого из звеньев и ЛАЧХ всей системы; определить наклоны низкочастотной и высокочастотной асимптот ЛАЧХ; в одной системе координат построить ФЧХ каждого из звеньев и ФЧХ всей системы; 2. Для параллельного соединения W1 W2 W3: построить ЛАЧХ и ФЧХ; определить наклоны низкочастотной и высокочастотной асимптот ЛАЧХ; 3. Для соединения W1 W2 W3 приведенного ниже: произвести эквивалентные преобразования структурной схемы с целью получить систему...