КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Реляционное исчисление кортежей
В реляционном исчислении кортежей задача состоит в нахождении таких кортежей, для которых предикат P является истинным. Это исчисление основано на переменных кортежа. Переменными кортежа являются такие переменные, областью определения которых служит указанное отношение. Таковыми являются переменные, для которых допустимыми значениями могут быть только кортежи данного отношения. (Понятие "область определения" в данном случае относится не к используемому диапазону значений, а к домену, в котором определены эти значения.) Формулы в реляционном исчислении имеют вид {t ï y (t)}, где t — переменная - кортеж, т.е. переменная, обозначающая кортеж некоторой фиксированной длины, а y — формула, построенная из атомов и совокупности операторов, которые определяются ниже.
Атомы формул y могут быть трех типов: 1. R(t), где R — имя отношения, а t — переменная-кортеж. Этот атом означает, что t есть кортеж в отношении R. 2. t [ i ] q s [ j ], где t и s являются переменными - кортежами, а q — арифметический оператор сравнения (=, ¹, £, ³ и т.д.). Этот атом означает, что i -й компонент t находится в отношении q с j -м компонентом s. Например, t [ 1 ] < s [ 2 ] означает, что первый компонент t меньше, чем второй компонент s. 3. t [ i ] q a и a q t [ i ], где q и t [ i ] имеют тот же смысл, что и в п. 2, а а - константа. Первый из этих атомов означает, что i -й компонент t находится в отношении q с константой а. Второй атом имеет аналогичный смысл. Например, t [ 1 ] = 3 указывает, что значение первого компонента t равно 3.
При определении операций реляционного исчисления введем понятия «свободных» и «связанных» переменных - кортежей. (Эти понятия имеют в точности тот же смысл, что и в исчислении предикатов.) Неформально вхождение переменной в формулу является «связанным», если этой переменной предшествует квантор «для всех» " - всеобщности или «существует» $ - существования. В противном случае переменная называется «свободной».
Устно. Понятие свободной переменной аналогично понятию глобальной переменной в языке программирования, т.е. переменной, определенной вне текущей процедуры. Связанная переменная подобна локальной переменной – переменной, которая определяется в данной процедуре.
Формулы, а также свободные и связанные вхождения переменных - кортежей в эти формулы определяются рекурсивно следующим образом:
1. Каждый атом есть формула. Все вхождения переменных - кортежей, упомянутые в атоме, являются свободными в этой формуле. 2. Если y1, и y2 — формулы, то y1 Ù y2, y1 Ú y2 и Ø y1 также формулы, утверждающие соответственно, что «y1, и y2 обе являются истинными», «y1, или y2, либо обе истинны» и «y1 не истинна». Экземпляры переменных – кортежей являются свободными или связными в y1 Ù y2, y1 Ú y2 и Ø y1 точно так же, как они являются свободными или связными в y1 и y2, в зависимости, где они появляются. 3. Если y - формула, то ( $ t)(y) - также формула. Вхождения переменной t, свободные в формуле y, являются связанными квантором ( $ t) в формуле ( $ t)(y). Формула ( $ t)(y) утверждает, что существует значение t, при подстановке которого вместо всех свободных вхождений t в формулу y эта формула становится истинной. Например, ( $ t)(R(t)) означает, что отношение R не пусто, т.е. существует некоторый кортеж t, принадлежащий R. 4. Если y — формула, то и ( " t)(y) — тоже формула. Свободные вхождения t в y становятся связанными квантором ( " t) в ( " t)(y). Другие вхождения переменных в y интерпретируются так же, как в п.3. Формула ( " t)(y) утверждает, что, какое бы значение подходящей арности не подставлялось вместо свободных вхождений t в y, формула y станет истинной. 5. Формулы могут при необходимости заключаться в скобки. Предполагается следующий порядок старшинства: арифметические операции сравнения, кванторы $ и " и, наконец, Ø, Ù, Ú в перечисленном порядке. 6. Ничто другое не является формулой.
Квантор существования используется для указания количества экземпляров, к которым должен быть применен предикат, и используется в формуле, которая должна быть истинной хотя бы для одного экземпляра, например: {t ï R(t) Ù ( $ s) (S(s) Ù (s [ ID ] = t [ ID ] ) Ù s [ FIO ] = ‘ Иванов ’ )} Это выражение означает, что в отношении S существует кортеж, который имеет такое же значение атрибута ID, что и значение атрибута ID в текущем кортеже t из отношения R, а атрибут FIO из кортежа s имеет значение ‘ Иванов ’. Квантор всеобщности используется в выражениях, которые относятся ко всем экземплярам, например: {t ï ( " t) (t [ CITY ] ¹ ‘Харьков’)} Это выражение означает, что ни в одном кортеже отношения R значение атрибута CITY не равно ‘Харьков’. В отношении логических операций могут применяться следующие правила эквивалентности: 1. ( $ t) (y(t)) º Ø ( " t) ( Ø (y(t))) 2. ( " t) (y(t)) º Ø ( $ t) ( Ø (y(t))) 3. ( $ t) (y1(t) Ù (y2(t)) º Ø ( " t) ( Ø (y1(t)) Ú Ø (y2(t))) 4. ( " t) (y1(t) Ù (y2(t)) º Ø ( $ t) ( Ø (y1(t)) Ú Ø (y2(t))) Исходя из рассмотренных правил, последнюю формулу можно записать следующим образом: {t ï Ø ( $ t) (t [ CITY ] = ‘Харьков’)}
Дата добавления: 2014-01-11; Просмотров: 1291; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |