SQL Flashcards
Что такое реляционная алгебра ? Что ее операции позволяют делать ?
Реляционная алгебра - это язык операций, выполняемых над отношениями - таблицами реляционной базы данных. Операции реляционной алгебры позволяют на основе одного или нескольких отношений создавать другое отношение без изменения самих исходных отношений.
Приоритеты выполнения операций реляционной алгебры
Приоритеты выполнения операций реляционной алгебры (в порядке убывания пунктов списка, а в одном пункте - операции с равными приоритетами):
- селекция, проекция
- декартово произведение, соединение, пересечение, деление
- объединение, разность.
Приоритеты выполнения операций реляционной алгебры
Приоритеты выполнения операций реляционной алгебры (в порядке убывания пунктов списка, а в одном пункте - операции с равными приоритетами):
- селекция, проекция
- декартово произведение, соединение, пересечение, деление
- объединение, разность.
Что делает операция выборки ?
Операция выборки работает с одним отношением и определяет результирующее отношение R, которое содержит только те кортежи (или строки, или записи), отношения , которые удовлетворяют заданному условию (предикату P).
Таким образом, операция выборки - унарная операция - и записывается следующим образом:
,
где P - предикат (логическое условие).
Запрос SQL
SELECT * from R3 WHERE A3>'d0'
Что делает операция проекции ?
Операция проекции () работает, как и операция выборки, только с одним отношением и определяет новое отношение R, в котором есть лишь те атрибуты (столбцы), которые заданы в операции, и их значения.
Запрос SQL
SELECT DISTINCT A4, A3 from R3
Что делает операция объединения ?
Результатом объединения двух множеств (отношений) А и В () будет такое множество (отношение) С, которое включает в себя те и только те элементы, которые есть или во множестве А или во множестве В. Говоря упрощённо, все элементы множества А и множества В, за исключением дубликатов, образующихся за счёт того, что некоторые элементы есть и в первом, и во втором множестве. Операция объединения реляционной алгебры идентична операции объединения множеств, которая также описана в материале “Множества и операции над множествами”.
Запрос SQL
SELECT A1, A2, A3 from R1 UNION SELECT A1, A2, A3 from R2
Когда операция объединения применима ?
Важно следующее: операция объединения может быть выполнена только тогда, когда два отношения обладают одинаковым числом и названиями атрибутов (столбцов), или, говоря формально, совместимы по объединению.
Что делает операция пересечения ?
Результатом пересечения двух множеств (отношений) А и В () будет такое множество (отношение) С, которое включает в себя те и только те элементы, которые есть и во множестве А, и во множестве В. Операция пересечения реляционной алгебры идентична операции пересечения множеств, которая также описана в материале “Множества и операции над множествами”.
Запрос SQL
SELECT A1, A2, A3 from R1 INTERSECT SELECT A1, A2, A3 from R2
Что делает операция разности ?
Разность двух отношений R1 и R2 () состоит из кортежей (или записей, или строк), которые имеются в отношении R1, но отсутствуют в отношении R2. Отношения R1 и R2 должны быть совместимы по объединению. Операция разности реляционной алгебры идентична операции разности множеств, которая также описана в материале “Множества и операции над множествами”.
Запрос SQL
SELECT A1, A2, A3 from R2 EXCEPT SELECT A1, A2, A3 from R1
Что делает операция декартова произведения ?
Операция декартова произведения () определяет новое отношение R, которое является результатом конкатенации каждого кортежа отношения R1 с каждым кортежем отношения R2.
SELECT * from R3, R4
Что делает операция тета соединения ?
В результате этой операции получается отношение, которое содержит кортежи из декартова произведения отношений R1 и R2 удовлетворяющие предикату Р. Значением предиката Р может быть один из операторов сравнения (<, <=, >, >=, = или !=).
Запрос SQL
SELECT * from R3, R4 WHERE A1>=A5