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

результаты

данные


 

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

18439. Конструкции и типы данных PHP 223.5 KB
  Серверные технологии разработки webсайтов Конструкции и типы данных PHP Основной синтаксис Первое что нужно знать относительно синтаксиса PHP – это то как он встраивается в HTMLкод как интерпретатор узнает что это код на языке PHP. В предыдущей лекции мы уже говорили об
18440. Операторы условий и циклов 192 KB
  Серверные технологии разработки webсайтов Операторы условий и циклов Условные операторы Оператор if Это один из самых важных операторов многих языков включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Структуру оператора if можно представит
18441. Функции в PHP 206 KB
  Серверные технологии разработки webсайтов Функции в PHP Функции определяемые пользователем Для чего нужны функции Чтобы ответить на этот вопрос нужно понять что вообще представляют собой функции. В программировании как и в математике функция есть отображение множ...
18442. Работа с массивами в PHP 192.5 KB
  Серверные технологии разработки webсайтов Работа с массивами в PHP Массивы В одной из первых лекций мы рассказывали о том как можно создать массив данных. Напомним что массив можно создать двумя способами: С помощью конструкции array array_name = arraykey1=>value1
18443. Работа со строками в PHP 207 KB
  Серверные технологии разработки webсайтов Работа со строками в PHP Строки Вероятно читатели примерно представляют что такое тип данных строка и как создать переменную такого типа. В одной из первых лекций мы приводили три способа задания строк: с помощью одинарных
18444. Регулярные выражения в PHP 190.5 KB
  Серверные технологии разработки webсайтов Регулярные выражения в PHP Понятие регулярного выражения Регулярное выражение regular expression – это технология которая позволяет задать шаблон и осуществить поиск данных соответствующих этому шаблону в заданном тексте предст
18445. Основы клиент-серверных технологий 185 KB
  Серверные технологии разработки webсайтов Основы клиентсерверных технологий Основы клиентсерверных технологий В самом начале курса мы уже говорили о том что PHP – это скриптовый язык обрабатываемый сервером. Сейчас мы хотим уточнить что же такое сервер какие функ
18446. Работа с файловой системой средствами PHP 188 KB
  Серверные технологии разработки webсайтов Работа с файловой системой средствами PHP Создание файла Функция fopen Вообще говоря в PHP не существует функции предназначенной именно для создания файлов. Большинство функций работают с уже существующими файлами в файловой
18447. Механизм сессий в PHP 158 KB
  Серверные технологии разработки webсайтов Механизм сессий в PHP В этой лекции мы разберем что такое сессии и в чем их специфика в PHP решим одну из основных задач возникающих при построении болееменее сложных информационных систем сайтов задачу авторизации доступа п