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

результаты

данные


 

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

17823. Діяльність ЮНЕСКО 133 KB
  Міжнародна організація, спеціалізована установа рганізації Обєднаних Націй, яка при співпраці своїх членів-держав у галузі освіти, науки, культури сприяє ліквідації неписьменності, підготовці національних кадрів, розвиткові національної культури, охороні
17824. Ценообразование факторов производства 330 KB
  9 Лекция 6 Тема: Ценообразование факторов производства Учебная цель лекции: изложить основные положения теории факторов производства дать понятия прокатной и капитальной цены факторов производства оказать содействие развитию у студентов эк...
17825. ПРАВОНАСТУПНИЦТВО УКРАЇНИ У ЗВ’ЯЗКУ ІЗ РОЗПАДОМ СРСР 241.5 KB
  Дослідити історію виникнення і поняття правонаступництва держав і принципу uti possidetis juris у міжнародному праві; розглянути види правонаступництва держав у доктрині міжнародного права; розглянути теорію «континуїтету» в міжнародному праві; проаналізувати правонаступництво держав по відношенню до міжнародних договорів відповідно до положень Віденської конвенції про правонаступництво держав по відношенню до міжнародних договорів 1976 року...
17826. Экономическая роль государства 626 KB
  38 Лекция 8 Тема: Экономическая роль государства Учебная цель лекции: изложить основные положения экономической роли государства в ликвидации последствий отказов рынка дать классификацию провалов государства оказать содействие развитию у ст...
17829. ВВЕДЕНИЕ В ОСНОВЫ БИЗНЕСА 36.06 KB
  Лекция 1 ВВЕДЕНИЕ В ОСНОВЫ БИЗНЕСА План лекции: 1. Понятие бизнес. Предпринимательство и бизнес. 2. Признаки и цель предпринимательской деятельности. 3. Некоторые вопросы начала бизнеса. 4. Принципы предпринимательства. 1. В рамках дисциплины мы буде
17830. ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ПРЕДПРИНИМАТЕЛЬСТВА 285.9 KB
  Лекция 2 ОРГАНИЗАЦИОННОПРАВОВЫЕ ФОРМЫ ПРЕДПРИНИМАТЕЛЬСТВА 1. Понятие субъекта хозяйствования 2.Общая характеристика организационноправовых форм. 3.иИндивидуальное и частное предпринимательство. 4.иВиды хозяйственных обществ. 5.Порядок госуда
17831. ОБЪЕДИНЕНИЯ ЮРИДИЧЕСКИХ ЛИЦ - СУБЪЕКТОВ ПРЕДПРИНИМАТЕЛЬСКОЙ ДЕЯТЕЛЬНОСТИ 64 KB
  Лекция 3 ОБЪЕДИНЕНИЯ ЮРИДИЧЕСКИХ ЛИЦ СУБЪЕКТОВ ПРЕДПРИНИМАТЕЛЬСКОЙ ДЕЯТЕЛЬНОСТИ 2 часа 1. Понятие виды и признаки объединений юридических лиц субъектов предпринимательской деятельности. 2 Объединения предприятий. Ассоц...