русс | укр

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

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

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

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


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

Реляционная алгебра (ПЗ).


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


Алгебра – это множество объектов с заданным на нем совокупностью операций, замкнутых относительно этого множества, которое называется основным множеством.

В реляционной алгебре основным множеством является множество отношений. Создатель реляционной алгебры Эдгар Тэд Кодд (1924-2003) предложил 8 операций, которые можно разделить на две группы: 1) базовые теоретико-множественные и 2) специальные реляционные. Первая группа включает классические операции теории множеств: объединение, вычитание, пересечение и произведение. Вторая – выборка (селекция), проекция, деление и соединение.

Объединением двух совместимых отношений R1 и R2 одинаковой размерности (R1 UNION R2) или (R1 U R2)является отношение R, содержащее все элементы исходных отношений (с исключением повторений). Например.

R1:

Ном_зачт ФИО Группа Дата_рожд
Иванов И. П-255 1.01.87
Петров П. П-255 12.05.86
Семенов А. П-244 24.04.86
Иванов И. П-255 12.02.87

R2:

Ном_зачт ФИО Группа Дата_рожд
Петров П. П-255 12.05.86
Силина К. П-242 21.11.86

R:

Ном_зачт ФИО Группа Дата_рожд
Иванов И. П-255 1.01.87
Петров П. П-255 12.05.86
Семенов А. П-244 24.04.86
Иванов И. П-255 12.02.87
Силина К. П-242 21.11.86

Вычитание совместимых отношений R1 и R2 одинаковой размерности (R1 MINUS R2) или (R1 \ R2)есть отношение, которое состоит из множества кортежей отношения R1, но не принадлежащих отношению R2. Результат операции зависит от порядка следования операндов. Например, для предыдущих отношений R1 и R2, отношение R будет иметь вид:

Ном_зачт ФИО Группа Дата_рожд
137030w2 Иванов И. П-255 1.01.87
Семенов А. П-244 24.04.86
Иванов И. П-255 12.02.87

Пересечение двух совместимых отношений R1 и R2 одинаковой размерности (R1 INTERSECT R2) или (R1R2)есть отношение R, которое включает в себя кортежи, одновременно принадлежащие обоим исходным отношениям. Например, для предыдущих отношений R1 и R2, отношение R будет иметь вид:



Ном_зачт ФИО Группа Дата_рожд
Петров П. П-255 12.05.86

Выборка (R WHERE f) отношения R по формуле f есть новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R, которые удовлетворяют истинности логического выражения, заданного формулой f. Для записи формулы f используют операнды – имена атрибутов (номера столбцов), константы, логические операции (AND, OR, NOT), операции сравнения и скобки. Например, для отношения R1 имеем

R1 WHERE Группа=”П-255” AND Ном_зачт=”1370303”

Ном_зачт ФИО Группа Дата_рожд
Петров П. П-255 12.05.86

Проекцияотношения A на атрибуты X,Y,…Z (A[X, Y,… Z]), где множество {X,Y,…Z} является подмножеством полного списка атрибутов заголовка отношения A, представляет собой отношение с заголовком X,Y,…Z и телом, содержащим кортежи отношения A, за исключением повторяющихся кортежей. Повторение одинаковых атрибутов в списке X,Y,…Z запрещается. Операция проекции допускает следующие дополнительные варианты записи:

· отсутствие списка атрибутов подразумевает указание всех атрибутов (операция тождественной проекции),

· выражение вида R[] означает, пустую проекцию, результатом которой является пустое множество,

· операция проекции может применяться к произвольному отношению, в том числе и к результату выборки.

Например,

R1 [ФИО, Группа]

ФИО Группа
Иванов И. П-255
Петров П. П-255
Семенов А. П-244

 

(R1 WHERE ФИО=”Иванов И.”) [Ном_зачт]

ФИО Ном_зачт
Иванов И.
Иванов И.

Пример 1. Пусть R1 содержит список абитуриентов, сдававших репетиционные экзамены в вуз. Отношение R2 содержит список абитуриентов, сдававших экзамены в вуз на общих условиях. Отношение R3 содержит список абитуриентов, поступивших в вуз. Пусть при неудачной сдаче репетиционных экзаменов абитуриент мог делать вторую попытку и сдавать экзамены в общем потоке, поэтому некоторые абитуриенты могут присутствовать и в первом и во втором отношении. Ответить на следующие вопросы:

1) Список абитуриентов, которые поступали два раза и не поступили в вуз. R=R1 INTERSECT R2 MINUS R3 (R1 ∩ R2 \ R3)

2) Список абитуриентов, которые поступили в вуз с первого раза, то есть они сдавали экзамены только один раз и сразу были зачислены в студенты. R=(R1 MINUS R2INTERSECT R3) UNION (R2 MINUS R1 INTERSECT R3).

3) Список абитуриентов, которые поступили в вуз только со второго раза. R=R1 INTERSECT R2 INTERSECT R3.

4) Список абитуриентов, которые поступали только один раз и не поступили. R=(R1 MINUS R2) UNION (R2 MINUS R1) MINUS R3.

Порядок выполнения операций реляционной алгебры в отсутствии скобок естественный.


Пример 2. Результаты сдачи студентами экзаменов сессии представлены в отношениях

R1= (ФИО, Предмет, Оценка) – информация о попытках сдачи экзаменов студентами;

R2=(ФИО, Группа) - состав групп;

R3=(Группа, Предмет) – список предметов, которые надо сдавать каждой группе.

r

Список всех пар <студент-предмет>, которые в принципе должны быть сданы:

R4=(R2 [R2.Группа=R3.Группа] R3) [ФИО, Предмет];

Список пар <студент-предмет>, где получена оценка «отлично»

R5=(R1[Оценка=5]) [ФИО, Предмет];

Список студентов, что-либо не сдавших на «отлично»

R6=(R4 MINUS R5) [ФИО];

Окончательный список

R2[ФИО] MINUS R6

p

 




<== предыдущая лекция | следующая лекция ==>
Реляционная модель данных. | Нормализация базы данных.


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


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

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

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


 


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

 
 

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

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