
- •2.3 Базы данных [5-7] тебеньков е.С.
- •1 .Проектирование базы данных с помощью нормализации
- •2. Операция «соединения» и ее свойства.
- •3. Разложение без потерь. Теорема. Примеры
- •4. Полностью соединимые отношения. Примеры
- •5. Операторы описания данных в sql
- •6. Операторы манипулирования данными в sql
- •7. Управление транзакциями
- •1. Запуск транзакции
- •2. Завершение транзакции
- •8. Технологии «клиент-сервер»
- •1 Вариант - файловый сервер.
- •2 Вариант – удаленный доступ.
- •3 Вариант – сервер Базы Данных.
- •4 Вариант – сервер приложений.
- •9. Оператор Select
- •10. Индексация. Достоинства и недостатки. Примеры
- •13. Архитектуры бд
- •1.1.2. Архитектуры бд
- •Локальная
- •Архитектура "файл-сервер"
- •Архитектура удаленных бд ("клиент-сервер")
- •1.1.3. Достоинства и недостатки различных архитектур приложений бд
- •14. Управление правами доступа в sql
- •15. Модель Чена
- •16. Примеры бинарных связей
- •17. Правила Джексона для перехода от модели Чена к реляционной модели
- •18. Реляционная модель данных. 12 правил Кодда.
- •12 Правил Кодда.
- •19. Ограничения целостности в реляционной модели данных и их поддержка в sql
- •20. Восстановление данных в бд
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 условие for each имя_курсора
тело операторы
end while end for each
Среди операторов ТЕЛА используются следующие:
Exit - позволяет выйти из цикла до его завершения;
Continue – позволяет начать выполнение цикла, не заканчивая предыдущий шаг;
System – позволяет выполнить команды ОС;
Return – позволяет сформировать результаты и вернуть их из процедуры;
Begin
. – блок, часть пограммы, в которой могут быть объявлены
. локальные переменные.
end