русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Реляционная алгебра


Дата добавления: 2013-12-24; просмотров: 2083; Нарушение авторских прав


РЕЛЯЦИОННЫЕ АЛГЕБРА И ИСЧИСЛЕНИЯ

Прежде чем изучать языки запросов, рассмотрим математические основания, лежащие в их основе – реляционные алгебру и исчисления. Идея о том, что в основе языка программирования может лежать строгая математика, может быть необычной для программиста на объектно-ориентированных языках. Родословная языков и их математических основ приведена на Рис. 14. Реляционная «веточка» изучается в данном курсе, «веточка» Пролога – в курсе «Представление знаний в информационных системах», «веточка» Lispa – в интеллектуальных информационных системах.

Рис. 14. Схема языков и их математических основ

Реляционное исчисление на кортежах предложено Коддом, на доменах - Лакруа и Пиро. В выражениях реляционной алгебры всегда явно задается некий порядок, а также подразумевается стратегия вычисления. В исчислениях отсутствует описание процедуры вычисления, так как указывается, что, а не как следует извлечь. В совокупности с реляционной алгеброй эти формы реляционного исчисления составляют три эквивалентных абстрактных языка запросов к реляционным БД. Они не реализованы в чистом виде в какой-либо действующей СУБД, но служат эталоном для оценки существующих систем.

 

Реляционная алгебра, предложенная Коддом, содержит несколько основных и дополнительных операций над отношениями, которые позволяют получать различные результаты на основе исходных отношений. Эти операции описаны в Табл. 7.

Табл. 7. Операции реляционной алгебры

Операция Результат Графическая интерпретация
Селекция Кортежи из R, которые удовлетворяют условию (предикату).
Проекция Оставляются значения указанных в проекции атрибутов, удаляются кортежи-дубликаты.
Объединение В результат входят кортежи из обоих отношений, дубликаты удаляются. Отношения должны быть совместимыми по атрибутам
Разность Те кортежи из R, которых нет в S  
Пересечение Общие для R и S кортежи
Декартово произведение Каждый кортеж из R соединяется со всеми кортежами из S
R   S  
A     A
B     A
      A
        B
        B
        B

 



Тета-соединение Из декартова произведения выбираются кортежи, удовлетворяющие предикату F  
Соединение по эквивалентности Из декартова произведения R на S выбираются кортежи, удовлетворяющие предикату F, который содержит условие на равенство двух атрибутов.  
 
R   S
A B   B C
a   x
b   y
      z

 

Естественное соединение Соединение по эквивалентности, выполненное по общим атрибутам. В результате общий атрибут присутствует один раз.
A B C
a x
a y

 

Композиция   Соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения.  
Левое внешнее соединение Помимо кортежей как в естественном соединении, в результат входят также не включенные в естественное соединение кортежи R с пустыми атрибутами из S, которых нет в R
A B C
a x
a y
b  

 

Полусоединение Те кортежи из R, которые входят в соединение R и S.
A B
a

 

Деление   Множество кортежей из R (берутся только атрибуты, имеющиеся в R, но отсутствующие в S).

Операции не являются независимыми, их связывают формулы. Например:

R Ç S = R — (R — S)

R[A ¸ B]S = R[A] – (S X R[A]-R)[A]

Желаемый результат описывается в виде формул с операциями реляционной алгебры над отношениями.



<== предыдущая лекция | следующая лекция ==>
Задачи для самостоятельного решения | Введение в SQL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.056 сек.