Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Формулировка запроса с помощбю реляционной алгебры является процедурной.
Student
NZ FIO NGR NK BALL
INT char(50) INT INT DECIMAL
Реляционные исчисления не задает последовательности действий для получения результата, а только описывает его свойства
RANGE S IS STUDENT
RANGE G IS GRUP
S.FIO, S.NK, S.NGR, S.BALL
WHERE S.BALL>14.5 AND EXIST G (S.NGR=G.NG S.NK=G.NK AND G.SPEC='ПМ')
В случае реляционного исчисления, СУБД должна сама решить, какие операции в каком порядке выполнять над указанными исчислениями, реляционная алгебра и реляционные исчисления эквивалентны и существуют не слишком сложные правила преобразования одного в другое и обратно
Реляционные исчисления основаны на формальном механизме исчисления предикатов первого порядка, основным для него является понятие переменной с переменной областью допустимых значений и понятия правильно построенной формулы, состоящей из переменных, предикатов и кванторов, различают исчисление кортежей, где областями определения переменных являются тела отношений БД и исчисления доменов, где допустимым значением каждой переменной является значение некоторого домена. Если реляционная алгебра оперирует отношениями в целом, то реляционные исчисления оперируют данными на уровне кортежей. Язык QUEL использовался.
Для определения кортежных переменных используется оператор RANGE и имеет вид RANGE имя переменной IS име отношения. При использовании кортежных переменных в формулах, ссылки на их атрибуты записываются ввиде: имя_переменной.имя_атрибута. Для выражения условий, накладываемых на кортежные переменные, служат правильно построенные формулы (WFF well-formed formula). Самыми простыми формулами являются простые формулы или предикаты, представляющие собой операции сравнения скалярных значений, которыми могут быть значения атрибутов переменных или литерально заданные константы. Более сложные формулы строятся из простых формул с помощью круглых скобок или логических связок. логическое NOT>OR>AND - приоритет. Простейший способ вычисления результата для реляционного вычисления - просмотреть в цикле все кортежи(все комбинации кортеежей) и каждому очереждному кортежу применить формулу и результатом будет то множество кортежей, для которых при вычислении формулы, получен результат истина.
RANGE S IS STUDENT
RANGE G IS GR.UP
S.FIO S.NK S.NGR S.BALL
WHERE S.BALL>4.5 AND S.NK=АЮТЛ AND S.NGR = G.NGR AND G.SPEC='ПМ'
Такой цикл используется при небольшом числе кортежей в отношениях
Кванторы. Свободные и связанные переменные.
При построении формулы в реляционном исчислении могут быть использованы 2 квантора:
Формула истина тогда и только тогда, когда в области определения VAR, для которого формула (f) истина, формула forall истина тогда и только тогда, когда для всех кортежей области определения VAR , формула А принимает значение истина
Если в формуле не использовались кванторы, то все переменные являются свободными, т.е. их значения могут входить в результирующие отношения
WHERE S.BALL>4.5
ESXISTS G(G.NK=S.NK AND G.NGR=S.NGR AND G.SPEC='ПМ')
если имя переменной использовано после квантора, то в этой формуле переменная является связанной и такая переменная не видна за пределами квантора.При выччисления значения формулы, содержащей связанную переменную, используется не одно значение этой связанной переменной, а вся область ее определения. Целевой список строится из имен атрибутов свободных переменных, которые так же могут подвергаться программе переименования
Функциональные зависимости и декомпозиция без потерь.
Понятие функциональной зависимости является фундаментальным в понятие БД. Задана переменная отношения r , два произвольных заголовка отношения(составные атрибуты) X,Y.
О:Переменная отношения r, y функционально зависит от X тогд, а и только тогда, когда каждому Х соответствует в точности одно У, то это означает что У зависит от Хв этом случае говорят так же, что Х функционально определяет У или является детерминантой У.
FIO TN BDATE KAF FT
Char(50) int date char(20) char(20)
TN -> FIO KAF->FT
TN->BDATE
TN->KAF
//TN->FT
Нас интересуют только те функциональные зависимости, которые должны выполняться для всех возможных значений переменных отношений. Функциональные зависимости могут рассматриваться как ограничения целостности БД и в таком случае должна следить СУБД. Но проверка соблюдения ограничения целостности требует проверку целостности, но она требует времени, поэтому важно сократить набор функциональных зависимостей до минимума, выполнение которого гарантирует выполнение всех зависимостей. Если атрибут А отношения r является возможным ключем, то для любого В отношения r выполняется функциональная зависимость(ФД). Функциональная зависимость В(А) называется тривиальной , если множество атрибутов А включает множество атрибутов В или совпадает с ним. Тривиальные ФЗ выполняются всегда, поэтому нет смысла их рассматривать как ограничение челостности, однако их наличие рассматривается в теоритических рассуждениях