Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Operationer på relationer

Lignende præsentationer


Præsentationer af emnet: "Operationer på relationer"— Præsentationens transcript:

1 Operationer på relationer
5. Relationel algebra Operationer på relationer

2 Algebra Domæner og operationer
Hver operation resulterer i et nyt "objekt" i domænet. Unære og binære operationer Eksempler N+ og {+, *} N og {+, *, -} Q og {+, *, -, /} Mængder og {∩, U, −} Relationer og {π, σ, *, join, ∩, U, −} Relationer er mængder af tupler

3 Mængde-operationer, 193 Union (foreningsmængde) R U S
Resultat = alle tupler i R og alle tupler i S Intersection (fællesmængde) R ∩ S Resultat = alle tupler, der findes i både R og S Difference (mængde-differens) R − S Resultat = alle tupler i R, der ikke findes i S R og S skal være "union kompatible" skemaer med ens attributter samme attributnavne, samme rækkefølge

4 Projektion, 195 Udtager specielle kolonner / attributter Syntaks
πA, B, C (R) kun attributterne A, B, C π = pi = projektion

5 Selektion, 196 Udtager specielle rækker / tupler Syntaks
σ betingelse (R) kun rækker, der opfylder betingelsen σ = sigma = selektion betingelse attribut operator attribut / konstant operator: Tal: <, >, =, ≤, ≥, ≠ Strenge: =, ≠, 'konstant' kombineres med: AND, OR, NOT

6 Kartesiansk produkt, 197 Syntaks R  S
Resultat = alle tupler i R "parret med" alle tupler i S. Antal tupler i resultat = (antal tupler i R) * (antal tupler i S) mange!! Antal attributter i resultat = (antal attributter i R) + (antal attributter i S)

7 Natural join, 198 Kartesiansk produkt bruges ofte med efterfølgende selektion. Samlet i én operator kaldet natural join Resultat: Som kartesiansk produkt, men kun tupler, der har fælles værdi kommer med. Fig. 5.6, side 200 R join S R og S må have en "fælles" attribut Fælles attribut med i resultat én gang.

8 Theta join, 199 Som join, men med specifik betingelse Syntaks Eksempel
Tag join Lav select med betingelse Syntaks R join betingelse S Eksempel Fig , side 201

9 Kombination af operationer, 201
Algebra: Resultatet af en operation ligger i domænet - så resultatet kan bruges i en ny operation!! Fig. 5.8, side 202 Ækvivalente udtryk Ofte flere kan forskellige udtryk føre til samme resultat. Bruges af DBMS'er til at omskrive / optimere forespørgsler.

10 Renaming, 203 Attributter kan renames for at
opnå "union kompatibilitet" kan det være nødvendigt at rename attributter undgå navnesammenfald i natural join og kartesiansk produkt Fig. 5.9, side 204

11 Nødvendige og behagelige operationer, 205
Nødvendige operationer: union difference selektion projektion kartesiansk produkt renaming Behagelige operationer (kan udtrykkes vha. de nødvendige operationer) intersection natural join theta join

12 Lineær notation Navngiv mellem-resultater. Normal fremgangsmåde
mellemresultat := algebraisk udtryk Normal fremgangsmåde natural / theta join over fremmednøgler select, hvis der er yderligere betingelser projektion, så vi fokuserer på ønskede attributter

13 Bags vs. mængder, 214 Bags (dansk: multi-sets)
Flere ens elementer tillades (modsat alm. mængder) DBMS'er håndterer bags, ikke mængder af rækker. Hurtigere, fordi det ikke kræver check af gentagelser Også relationelle operatorer på bags.

14 Udvidede operatorer, 221 Nye operatorer [med i DBMS'er]
duplicate elimination bag → set aggregering min, max, avg, count gruppering sortering extended projection inkl. beregninger outerjoin variant af join

15 Aggregering og gruppering, 222
Aggregerings-funktioner kan beregnes for hele relationen - eller for undergrupper. γ liste_af_attributter_og_funktioner (R) γ = gamma = gruppering Fig. 5.18, side 226

16 Udvidelse af projektion, 226
Projektions-operatoren udvides til at tillade regneudtryk Side 227 Husk, select påvirker aldrig data i relationen.

17 Outer joins, 228 "Dangling tuples"
matcher ikke nogle tupel i join med en anden relation ikke med i resultat af join Outer join medtager "dangling tuples" Fig. 5.19, side 229 Variationer over outer join left outer join dangling tuples i venstre relation med i resultat right outer join dangling tuples i højre relation med i resultatet

18 Constraints, 231 Regler (business rules), der skal gælde på et relationelt skema. Kan udtrykkes i relationel algebra. R =  ingen tupler i R R  S alle tupler i R findes også i S sammen som R − S =  Fremmednøgle constraint π fremmednøgle (R)  π primærnøgle (S) Generel constraint σ karakter < 6 (student) = 


Download ppt "Operationer på relationer"

Lignende præsentationer


Annoncer fra Google