Реляционное исчисление с переменными кортежами
Формула реляционного исчисления помимо арифметических операций включает дополнительные логические операции (A и E). Используются также операции И,ИЛИ,НЕ.
Формулы реляционного исчисления строятся из атомов и совокупности арифметических и логических операторов, выражение реляционного исчисления с переменными кортежами может иметь вид:
{r|Ψ(r)},где r-кортеж, Ψ(r) – некоторая формула исчисления.
Пример; {r|R1(r)^R2(r)} – необходимо получить множество всех кортежей, таких, что они принадлежат отношениям R1 и R2.
Атомы формул бывают трех типов:
1. R(t), где R – имя отношения, t – кортеж в отношении
2. s[i]θu[j], где s и u – переменные кортежи, θ – арифметический оператор. i,j – номера или имена интересующих столбцов. S[i]- i-й компонент кортежа переменной
3. s[i]θa, или aθs[i], где a=const.
При записи выражения используются понятия свободных ли связных переменных. Вхождение переменной x в формулу РИ Ψ(x) связано, если она находится в части формулы, начинающейся квантором A или E, за которым непосредственно следует переменная x. В таких случаях говорят, что квантор ее связывает.
В реляционном исчислении вводятся и рассматриваются безопасные выражения.
Выражение в РИ является безопасным, если:
1. Из истинности Ψ(t) следует, что каждый компонент кортежа t принадлежит D(Ψ).
2. Для любой подформулы вида (Eu)(Ψ1(u)) входящей в состав Ψ, из истинности Ψ1(u) следует, что u принадлежит D(Ψ1).
3. Для любой подформулы вида (Au)(Ψ1(u)), входящей в состав Ψ, из истинности Ψ1(u) следует, что u не принадлежит D(Ψ1).
Множество D(Ψ) определяется как функция фактических отношений, которая указывается в Ψ(t), констант, присутствующих в формуле Ψ(t) и элементов кортежей тех отношений, которые указывают в Ψ (t)
D(Ψ)={a1Ψ}U{a2Ψ}U…U{anΨ}UП1(R1)U…UПk(Rn), где aiΨ – const, встретившиеся в формуле Ψ(t),
Пi(Rj) – проекции кортежей фактических отношений R1-Rn встретившихся в формуле Ψ(t), то есть, в данном случае, компоненты кортежей.
Для каждого выражения реляционной алгебры существует эквивалентное ему безопасное выражение в реляционном исчислении с переменными на кортежах.
Модель активного сервера
Ее поддерживает большинство современных СУБД.
Основа этой модели – механизм хранения процедур, как средств программирования SQL сервера.
Механизм триггеров, как механизм отслеживания текущего состояния информационного хранилища и механизм ограничений на пользовательские типы данных, который иногда называется механизмом поддержки доменной структуры.
В этой модели BL разделен между клиентом и сервером. На сервере BL реализована в виде хранимых процедур. Механизм использования триггеров предполагает, что при срабатывании одного триггера могут возникать события, которые вызовут срабатывания других треггеров. В данной модели сервер является активным, так как не только клиент, но и сам сервер может быть инициатором обработки данных в базе данных. И хранимые процедуры и триггеры хранятся в словаре базы данных. Они могут быть использованы несколькими клиентами, что ведет к уменьшению дублирования алгоритмов обработки данных в разных клиентских программах. Для написания хранимых процедур и триггеров используется расширение стандартного языка SQL в так называемый встроенный SQL.
Достоинства: трафик обмена информацией резко уменьшается.
Клиент Сервер
Вызов хр. процедур
Рез-т для вывода
Недостатки: очень большая загрузка сервера.
Сервер выполняет следующие функции.
- обеспечение автоматически срабатывающих триггеров при возникновении связанных с ним событий
- обеспечение внутренней программой каждого триггера
- запуск хранимых процедур
- мониторинг событий, связан с триггерами
- запуск хранимых процедур из триггеров
- обеспечение всех функций СУБД
Дальнейшее развитие:
Таким образом, клиенты подключаются не к реальному серверу, а к промежуточному звену – диспетчеру и выполняют функции диспетчеризации запросов к серверу. Подобные системы относят к системам с виртуальным сервером. А их топологию к виду «несколько клиентов, несколько серверов»
Модель файлового сервера
или модель DDM
File Server – FS
Здесь presentation logic и business-logic располагаются на клиенте. На сервере располагаются файлы с данными и поддерживается доступ к файлам. Функции управления информационными ресурсами находятся на клиенте. В этой модели файлы базы данных хранятся на сервере. Клиент обращается к серверу с файловыми командами, а механизм управляет всеми информационными ресурсами, база мета данных на клиенте.
Файловые команды
Блоки данных
Достоинства: имеет разделение монопольного приложения на 2 взаимодействующих процесса. Сервер может обслуживать множество клиентов.
Недостатки: высокий сетевой трафик, который связан с передачей по сети множества блоков и файлов. Небольшое количество операций манипуляций с данными, которые определяются только файловыми командами. Отсутствие средств безопасности доступа к данным. Защита только на уровне файловой системы.