Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Специальные реляционные операции





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

1. Выборка (сокращенное название операции - Θ (тета) - выборка):

 

S WHERE XΘY,где Θ={<,≤, =,≠,≥,>}.

Θ -выборкой из отношенияSпо атрибутамXиYназывается отношение,имеющее тот жезаголовок, что и отношение S, и тело, содержащее множество всех кортежей отношения S таких, для которых проверка условия «XΘY» дает значение «истина». Ясно,что атрибуты X и Y должны быть определены на одном и том же домене, а операция на этом домене должна иметь смысл.

 

На практике эта операция используется, как правило, в модификации, когда вместо X или Y указано скалярное значение, чаще всего в форме

 

S WHERE XΘC,гдеC -литеральная константа.

 

В результате выполнения этого оператора получается «горизонтальное» подмножество исходного отношения.

 

Пример 3.Пусть задано отношениеS (поставщики)

S

 

Номер Фио Город
S01 Иванов Томск
S02 Петров Томск
S03 Сидоров Кемерово
S04 Кузнецов Барнаул
S05 Быков Омск

 

Результатом выполнения операции S WHERE Город = «Томск», будет отношение

 

Номе Фио Город
S01 Иванов Томск
S02 Петров Томск

 

 


В указанной форме оператор выборки включает только простое сравнение. Однако, благодаря тождествам:

 

1. S WHERE Q1 AND Q2 ≡ (S WHERE Q1) INTERSECT (S WHERE Q2)

2. S WHERE Q1 OR Q2 ≡ (S WHERE Q1) UNION (S WHERE Q2)

3. S WHERE NOT Q ≡ S MINUS (S WHERE Q)

 

оператор выборки можно расширить до формы, в которой условие в выражении WHERE будет содержать произвольное число логических сочетаний простых сравнений.

2. Проекция. Проекцией отношения S по атрибутам X1, X2, …, X n и обозначаемой как

S[X1, X2, …, X n],

называется отношение с заголовком {X1, X2, …, X n}и телом, содержащим множество всех кортежей {X1:x1, X2:x2, …, X n:xn} таких, для которых в отношении S значение атрибута X1 равно x1, атрибута X2 равно x2, …, атрибута Xn равно xn.

Пример 4.Результатом выполнения операцииS[Фио]для отношенияSпредыдущегопримера будет отношение

Фио

 

Иванов

 

Петров

 

Сидоров

 

Кузнецов

 

Быков

 

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

 

Замечание.Некорректное применение операции проекции может привести к потереинформации; для нашего примера такая ситуация могла бы возникнуть, если в отношении S хранились бы сведения о двух разных поставщиках с одинаковой фамилией.

3. Естественное (экви) соединение. Пусть отношения S и P имеют заголовки{X1, X2, …,

 

Xm, Y1, Y2, … , Yn} и {Y1, Y2,… , Y n, Z1, Z2, … , Zp, соответственно, причем атрибуты {Y1, Y2, … , Yn} по именам и доменам в обоих отношениях совпадают.

 

Рассмотрим три совокупности {X1, X2, …, Xm}, {Y 1, Y2, … , Yn} и { Z1, Z2, … , Zp} как три составных атрибута {X}, {Y} и {Z}. Тогда естественным соединением отношений S и P

 

S JOIN P

 

называется отношение с заголовком {X, Y, Z} и телом, содержащим множество всех кортежей {X:x, Y:y, Z:z} таких, для которых в отношении S значение атрибута X равно x, атрибута Y равно y, а в отношении P значение атрибута Y равно y, а атрибута Z равно z.

 

Замечание.При отсутствии общих атрибутов у исходных отношенийSиPестественноесоединение эквивалентно декартовому произведению.

 

Пример 5.Пусть заданы два отношенияS (поставщики)иP (детали)

S                
      Ном_пост   Фио   Город  
      S01   Иванов   Томск  
      S02   Петров   Томск  
      S03   Сидоров   Кемерово  
      S04   Кузнецо   Барнаул  
          в        
      S05   Быков   Омск  
P                
  Ном_дет Назв_дет Цвет   Вес   Город
  P01   Вентиль Белый     Томск
  P02   Колено Черный     Томск

 


P03 Втулка Желтый Кемерово
P04 Кран Белый Барнаул
P05 Смеситель Белый Барнаул
P06 Труба Черный Омск

 

 

Результатом (S JOIN P) соединения этих двух отношений будет отношение

Ном_пост Фио Город Ном_дет Назв_дет Цвет Вес
S01 Иванов Томск P01 Вентиль Белый
S01 Иванов Томск P02 Колено Черный
S02 Петров Томск P01 Вентиль Белый
S02 Петров Томск P02 Колено Черный
S03 Сидоров Кемерово P03 Втулка Желтый
S04 Кузнецов Барнаул P04 Кран Белый
S04 Кузнецов Барнаул P05 Смеситель Желтый
S05 Быков Омск P06 Труба Черный

 

Очевидно, что соединение может производиться не по одному, а по нескольким атрибутам.

 

Пример 6.Пусть заданы два отношения

R1                          
            A   B   C      
            a1   b1   c1      
            a1   b2   c2      
            a2   b1   c1      
            a3   b2   c2      
R2                          
                       
        B     C     D  
        b1     c1     d1  
        b1     c1     d2  
        b2     c2     d2  
Результатом выполнения операции (R1 JOIN R2) будет являться отношение
                             
    A     B     C     D    
    a1     b1     c1     d1    
    a1     b1     c1     d2  
    a1     b2     c2     d2  
    a2     b1     c1     d1  
    a2     b1     c1     d2  
    a3     b2     c2     d2  

 

Операция естественного соединения применяется к паре отношений R1 и R2, обладающих (возможно составным) общим атрибутом S (т.е. атрибутом с одним и тем же именем и определенным на одном и том же домене). Пусть AB обозначает объединение заголовков отношений R1 и R2. Тогда естественное соединение R1 и R2 - это спроецированный на AB результат эквисоедиения R1 и R2 по A.S и B.S. Если вспомнить определение внешнего ключа отношения, то должно стать понятно, что основной смысл операции естественного соединения - возможность восстановления сложной сущности, декомопозированной (расчлененной) по причине требования первой нормальной формы. Операция естественного соединения не включается прямо в состав набора операций реляционной алгебры, но имеет очень важное практическое значение.


 


4. Θ-соединение (условное соединение). Это операция соединения двух отношений на основе некоторых условий, отличных от эквивалентности.

 

Пусть отношения S и P не имеют общих имен атрибутов и условие Θ определяется аналогично операции выборки. Тогда Θ-соединением отношения S по атрибуту X с отношением P по атрибуту Y называется результат вычисления выражения

(S TIMES P) WHERE XΘY,

 

то есть, результирующее отношение строится путем выполнения операции выборки по условию для декартова произведения исходных отношений.

 

Очевидно, что атрибуты X и Y должны быть определены на одном и том же домене и операция Θ должна иметь на этом домене смысл.

 

Пример 7.Пусть имеются два отношенияS (потоки студенческих групп)иP (аудитории).

S    
    Ном_потока Кол_студ
   
   
P    
    Ном_ауд Вмест_ауд  
     
     
     
     

Результатом выполнения операции Θ-соединения отношений S и P по условию

 

ВМЕСТ_АУД > КОЛ_СТУД

 

(вместимость аудитории должна быть больше количества студентов в потоке) будет отношение

 

Ном_потока Кол_студ Ном_ауд Вмест_ауд

 

5. Деление. Пусть заголовки отношений S (делимое) и P (делитель) имеют вид{X1, X2, …, Xm, Y1, Y2, … , Yn} и {Y1, Y2, … , Yn}, соответственно, причем атрибуты {Y1, Y2, … , Yn} в

 

обоих отношениях представлены одинаковыми именами и определены на одних и тех же доменах. Будем рассматривать выражения{X1, X2, …, Xm} и {Y1, Y2, … , Yn} как два составных атрибута {X} и {Y}. Тогда результатом деления отношения S на отношение P, обозначаемое как

 

S DEVIDEBY P,

 

называется отношение с заголовком {X} и телом, содержащим множество всех кортежей{X:x} таких, что для каждого xЄX существует множество кортежей {X:x, Y:y} отношения S таких, у которых множество составляющих {Y:y} включает все кортежи {Y:y} отношения P. Или нестрого: результат содержит такие X-значения из отношения S, для которых соответствующие Y-значения включают все Y-значения из отношения P.

 

Пример 8.Пусть заданы следующие отношения

SP

Ном_пост Ном_дет
S1 P1
S1 P2
S1 P3

 

 


    S1   P4
    S1   P5
    S1   P6
    S2   P1
    S2   P2
    S2   P4
    S3   P2
    S4   P2
    S4   P4
    S4   P5
P1  
    Ном_дет  
      P1  

 

P2

Ном_дет

 

P2

 

P4

 

P3

Ном_дет

 

P1

 

P2

 

P3

 

P4

 

P5

 

Результатами выполнения операций деления будут следующие отношения:

 

SP DIVIDEBY P1:

Ном_пост

 

S1

 

S2

 

SP DEVIDEBY P2:

Ном_пост

 

S1

 

S2

 

S4

 

SP DEVIDEBY P3:

Ном_пост

 

S1

 

 

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.