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

результаты

данные


 

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

81977. Дитина вдома. Побутові небезпеки 48.5 KB
  Мета: ознайомити учнів із правилами небезпечної поведінки вдома; формувати вміння і навички що допоможуть уникнути побутових небезпек за відсутності батьків; спонукати учнів до виконання правил поведінки вдома; виховувати в дітей обережність.
81979. Великі українці. Маленькі історії про великі істини 94 KB
  Історико-пізнавальний проект передбачав підготовку учнів 5-8 класів на протязі двох місяців. Діти готували матеріал про одного або двох із запропонованих їм творчою групою (до якої входили вчителі та учні) представників із числа Великих українців (до їх числа входили українці обрані самими дітьми).
81980. Велетні чарівники 95.5 KB
  Формувати науковий світогляд та початкове уявлення про астрономію; дати елементарне уявлення про Всесвіт закріпити знання про воду та її значення розширити знання про повітря; розвивати пізнавальні інтереси вміння бачити красу і захоплюватися нею.
81981. ТО СВІТЛИЙ ВЕЛИКДЕНЬ ГОСПОДНІЙ ДИТЯЧИЙ ЗВЕЛИЧУЄ СПІВ 74 KB
  У нашого українського народу існує повір’я, що від тих батьків, які не дотримуються звичаїв, родяться діти, що стають вовкулаками. Вовкулака – це завжди похмурий, завжди чимось незадоволений чоловік; в день святого Юрія він перекидається вовком, бігає разом з іншими звірами по лісі...
81982. Великодні свята в Україні 891 KB
  Практична: розвивати комунікативні навички учнів у учнів; формувати вміння підтримувати бесіду використовуючи лексику з даної теми; розвивати культуру спілкування; вчити учнів виконувати проектпрезенту вати результати проектних досліджень; розвивати навички групової роботикри тичного...
81983. Проект з французької мови: Чому Великдень є улюбленим святом дітей? 182.5 KB
  Завдання: Збагатити знання про історію та традиції святкування Пасхи. Дібрати французькі та українські прислів’я та приказки до цього свята та зробити порівняльну характеристику. Скласти вітальні привітання до свята Великодня. Оформити проект до цього свята.
81984. ВЕРНІСАЖ РОКУ 257.5 KB
  Ознайомити учнів із поняттям текст формувати уявлення про текст як форму зв’язного висловлювання його характерні ознаки; розвивати вміння визначати тему тексту добирати заголовок до тексту відповідно до його змісту; збагачувати словниковий запас учнів; розвивати усне і писемне мовлення...
81985. Веселі старти 39 KB
  Мета. Створити атмосферу свята. Виховувати любов до фізкультури та спорту: розвивати руховий апарат, фізичні уміння та навички, зміцнювати здоров’я, виховувати почуття дружби, колективізму. Обладнання. М’ячі, скакалки, кубики, обручі, стрічки, дротики.