Operatory, semestr III


ROZSZERZONE OPERATORY ALGEBRY RELACJI

Relacja - tabela

Przypomnienie: w wielozbiorze mogą powtarzać się krotki.

  1. Operator eliminowania duplikatów (δ)- przekształca wielozbiór w zbiór, usuwając wszystkie kopie krotek, pozostawiając tylko jedną.

Jeśli relacja R przyjmuje postać:

A

B

1

2

3

4

1

2

1

2

to δ (R) ma postać następującą:

A

B

1

2

3

4

Zauważmy, że krotka (1, 2), która w R występuje 3 razy, w δ (R) występuje tylko raz.

  1. Operatory agregowania - stosuje się do atrybutów (kolumn) relacji.

Standardowe operatory tego typu to:

- SUM - tworzy sumę wartości z kolumny typu numerycznego

- AVG -tworzy wartość średnią wartości kolumny tyou numerycznego

- Po zastosowaniu do kolumny operatorów MIN i MAX uzyskuje się odpowiednio najmniejszą lub największą wartość z tej kolumny. Jeżeli w kolumnie są wartości typu znakowego, uzyskuje się odpowiednio pierwszy lub ostatni element według kolejności leksykograficznej (alfabetycznej).

- W wyniku działania operatora COUNT uzyskuje się liczbę (niekoniecznie różnych) wartości z kolumny.

Rozważmy relację

A

B

1

2

3

4

1

2

1

2

Kilka przykładów agregowania atrybutów tej relacji:

SUM(B) = 2 + 4 + 2 + 2 = 10

AVG(A) = (1 + 3 + 1 + 1) / 4 = 1,5

MIN(A) = 1

MAX(B) = 4

COUNT(A) = 4

  1. Operator grupowania

Czym jest grupowanie?

Grupowanie krotek według wartości jednego lub większej liczby atrybutów daje efekt rozdzielenia relacji na „grupy”. Można wówczas stosować agregowanie wewnątrz poszczególnych grup, dzięki czemu uzyskuje się możliwość wyrażania zapytań, które nie sposób przedstawić za pomocą mechanizmów klasycznej algebry relacyjnej.

Operator grupowania γ daje możliwość wykonania grupowania i/lub agregowania pewnych kolumn. Jeżeli występuje grupowanie, to agregowanie odbywa się wewnątrz poszczególnych grup.

Relację, która jest wynikiem wyrażenia γL(R) tworzy się w następujący sposób:

  1. Dzieli się krotki R na grupy. Każda grupa składa się ze wszystkich krotek, z konkretnymi wartościami atrybutów grupowanych z listy L. Jeżeli grupowanie nie występuje, to całą relację R traktuje się jako jedną grupę.

  2. W każdej grupie tworzy się jedną krotkę złożoną z:

- wartości atrybutów grupujących dla tej grupy i

- agregacji utworzonych z wszystkich elementów danej grupy, które są określone przez atrybuty agregowane zawarte w liście L.

Przykład grupowania:

Zadaniem jest obliczenie długości wszystkich filmów wyprodukowanych przez poszczególne studia, przyjmując, że relacja ma schemat:

Film(tytuł, rok, dlugość, nazwaStudia, producent)

Najpierw będziemy grupować krotki według atrybutu nazwaStudia. Następnie trzeba wyliczyć sumę składowych atrybutu długość w poszczególnych grupach. Do każdej grupy niezależnie stosuje się operator agregowania SUM(długość). W wyniku ma powstać relacja, która przedstawia, ile minut taśmy wyprodukowały poszczególne studia

  1. Operator sortowania τ - przekształca relację w listę krotek uporządkowanych według jednego lub większej liczby atrybutów. Np. można wymagać, aby przy pytaniu o filmy z udziałem pewnej gwiazdy wynik był posortowany według tytułu, aby łatwo sprawdzić, czy określony film jest na danej liście, czy nie.

Wyrażenie τL(R), gdzie R jest relacją, a L listą pewnych atrybutów tej relacji oznacza relację R, ale kolejność krotek w tej relacji jest określona wg listy L. Jeśli na liście L znajdują się atrybuty A1, A2, …, An, to uporządkowanie jest wyznaczone najpierw przez wartości A1.

Wynikiem operatora τ jest lista, a nie zbiór krotek.

PRZYKŁAD:

Jeżeli R( A, B, C) jest schematem relacji R, to τ C, B (R) oznacza uporządkowanie krotek relacji R według wartości atrybutu C, a jeżeli wartości strybutów są takie same, to o kolejności kreotek decyduje wartość atrybutu B. Jeżeli wartości atrybutu B i C są jednakowe, to krotki mogą być uporządkowane w dowolny sposób.

atrybut - w nagłówku kolumny

  1. Rozszerzony operator rzutowania.

O operatorze rzutowania πL(R) była już mowa na wykładzie. W klasycznej algebrze relacyjnej L jest listą pewnych atrybutów relacji R. Operator rzutowania rozszerza się tak, aby umożliwić obliczenia ze składowymi krotek, a także, aby można było wybierać tylko składowe.

W rzutowaniu rozszerzony, oznaczonym również jako πL(R) lista rzutowania może zawierać następujące elementy:

  1. Pojedynczy atrybut R

  2. Wyrażenie x y gdzie x i y są nazwami atrybutów. Element x y oznacza, że na liście, w relacji wynikowej zamiast nazwy atrybutu x ma wystapić nazwa atrybutu y.

  3. Wyrażenie E z, gdzie E jest pewnym wyrażeniem zawierającym atrybuty relacji R, stałe, operatory logiczne i operatory tekstowe, a z jest nazwą nowego atrybutu, którego wartości są otrzymywane, jako wyniki obliczeń wyrażenia E.

Wynik rzutowania wylicza się sprawdzając po kolei każdą krotkę relacji R. Obliczamy listę, podstawiając składowe krotki do odpowiednich atrybutów, wymienionych w L, i stosując operatory z L do tych wartości. W wyniku powstaje relacja, której schemat jest opisany listą L, z zastosowaniem opisanych tam przemianowań. Z każdej krotki relacji R powstaje jedna krotka wyniku. Krotki powtarzające się w R powodują powtórzenia w wyniku, ale wynik może zawierać powtórzenia, których nie ma w R.

PRYKŁAD:

Niech dana będzie następująca relacja R:

A

B

C

0

1

2

0

1

2

3

4

5

W wyniku działania πA, B +C X(R) otrzymujemy:

A

X

0

3

0

3

3

9

W wynikowym schemacie występują 2 atrybuty. Jeden z nich jest A, pierwszy atrybut R, nie jest on przemianowany. Drugi atrybut jest sumą drugiego i trzeciego atrybutu R i nazywa się X.

Kolejny przykład:

X

Y

1

1

1

1

1

1

π B - A X.C - B Y

Dwie rózne krotki (0, 1, 2) oraz (3, 4, 5) zostały przekształcone w tą samą krotkę (1, 1).

  1. Operator złączenia zewętrznego - własność operatora złączenia polega na możliwści powstania w wyniku jego działania krotek wiszących, to jest takich, których nie można dopasować do żadnej z krotek druiej relacji argumentowej. Krotki wiszące nie pozostawiają śladu w wyniku złączenia, a więc złączenie nie uwzględnia danych z relacji wejściowej w sposób kompletny. Gdy takie zachowanie jest niepożądane, proponuje się jego odmianę, nazywaną złączeniem zewnętrznym.

Najpierw rozważmy przypadek „naturalny” 0x01 graphic
, gdy złączenie tworzy się według porównania wartości wszystkich wspólnych atrybutów. Z kolei złączenie zewnętrzne R 0x01 graphic
S tworzy się rozpoczynając od od normalnego i dołączając dowolne krotki wiszące z R lub S. W dołączanych do wyniku krotkach brakujące wartości atrybutów z drugiej relacji są uzupełniane wartością null  .

PRZYKŁAD

Na rysunku przedstawiono dwie relacje U i V. Krotka (1, 2, 3) z U pasuje do złączenia z dwiema krotkami (2, 3, 10) i (2, 3, 11) z V, więc żadna z tych trzech krotek nie jest wisząca. Jednak pozostałe trzy krotki (4, 5, 6) i (7, 8, 9) z U oraz (6, 7, 12) z V są wiszące. Dla żadnej z tych trzech krotek nie można bowiem znaleźć krotek w drugiej relacji, które mają wartości zgodne dla składowych z B i C. Dlatego w złączeniu U znaczek V są trzy krotki wiszące, w których brakujące wartości atrybutów D dla krotek z U i A dla krotek z V zastąpiono symbolem .

0x01 graphic
lewostronne

A

B

C

D

1

2

3

10

1

2

3

11

4

5

6

 

7

8

9

 

0x01 graphic
prawostronne

A

B

C

D

 

2

3

10

1

2

3

11

 

6

7

12

Relacja U:

A

B

C

1

2

3

4

5

6

7

8

9

Relacja V:

B

C

D

2

3

10

2

3

11

6

7

12

0x01 graphic

A

B

C

D

1

2

3

10

1

2

3

11

4

5

6

7

8

9

6

7

12

Ponadto dla wszystkich trzech operatorów złączenia zewnętrznego istnieją odmiany teta-złączenia., które do wyniku odpowiedniego teta-złączenia po zastosowaniu warunku stosują zasadę dołączenia krotek wiszących uzupełnionych wartościami ┴. Teta-złaczenie zewnętrzne z warunkiem C oznacza się symbolem . Operator ten można tez modyfikować również oznaczeniami L i R, wskazującymi, czy chodzi o złączenie prawostronne czy lewostronne.

Wynik teta-złączenia zewnętrznego:

A

U.B

U.C

V.B

V.C

D

4

5

6

2

3

10

4

5

6

2

3

11

7

8

9

2

3

10

7

8

9

2

3

11

1

2

3

6

7

12

Dla relacji U i V rozważmy U znaczek. Obie krotki (4, 5, 6) i (7, 8 ,9) z U spełniają warunek i pasują do krotek (2, 3, 10) i (2, 3, 11) z V. Zatem żadna z tych krotek nie jest wisząca w teta-złączeniu, Pozostałe krotki (1, 2, 3) z U oraz (6, 7 , 12) z V są wiszące. Dlatego na rysunku zostały uzupełnione wartościami .



Wyszukiwarka

Podobne podstrony:
Propedeutyka medycyny semestr III
SPRAWOZDANIE Z CWICZENIA NR 4, Technologia zywnosci, semestr III, chemia zywnosci
pyt.4 gr 1, Semestr III, Mechanika Płynów
Schody 1, NAUKA, Politechnika Bialostocka - budownictwo, Semestr III od Karola, Budownictwo Ogólne,
Hydro Ściąga, semestr III, hydrologia, hydro-rożne materiały
GRUPA I7X6S1, WAT, semestr III, Podstawy miernictwa
Zagadnienia Kryminologia - Zagadnienia z opracowaniem, Sudia - Bezpieczeństwo Wewnętrzne, Semestr II
bd kolo, Semestr III, BAZY
Materialy budowlane pytania 2008, PG Budownictwo, Semestr III, Materiały budowlane, egzaminy itp, In
4a, NAUKA, Politechnika Bialostocka - budownictwo, Semestr III od Karola, Technologia Betonu, betony
zagadnienia kol I 2012-2013, Studia, UR OŚ, semestr III, biochemia
Źródła finansowanie projektów, Notatki UTP - Zarządzanie, Semestr III, Zarządzanie projektami
POLITECHNIKA BIAŁOSTOCKA, NAUKA, Politechnika Bialostocka - budownictwo, Semestr III od Karola, Budo
cw7, NAUKA, Politechnika Bialostocka - budownictwo, Semestr III od Karola, Technologia Betonu, beton
PI 23.11.2011, Notatki UTP - Zarządzanie, Semestr III, Procesy informacyjne
Klasa a warstwa spoleczna, semestr III, socjologia struktur społecznych
METODOLOGIA sciaga gotowa, semestr III

więcej podobnych podstron