Spørsmålskompilering del 2

Størrelse: px
Begynne med side:

Download "Spørsmålskompilering del 2"

Transkript

1 UNIVERSITETET I OSLO Spørsmålskompilering del 2 Estimere størrelsen på mellomresultater Vurdere fysiske spørreplaner Institutt for Informatikk INF3100 V18 Evgenij Thorstensen 1

2 Overblikk For å vurdere såvel logiske som fysiske planer trenger vi en kostnadsberegning. Kan ikke gjøres eksakt (avhengig av dataene vi har), så DBMSet estimerer. Vi vil ha en kostnadsfunksjon C som kan beregnes lokalt: C(R c S) bør regnes ut fra C(R) og C(S). Hva slags kostnader finnes? INF3100 V18 Evgenij Thorstensen 2

3 Kostnader: IO Disk-IO: Kostnader av å lese En gitt page (random read) En sekvens av pages (sequential read) Sekvens er vanligvis billigere Relevant for å velge mellom Table scan Index scan INF3100 V18 Evgenij Thorstensen 3

4 Kostnader: Antall tupler Antall tupler å prosessere i en operasjon. Relevant for alt, inkludert diskoperasjoner. Vi skal se på hvordan dette estimeres, og hvordan det påvirker valg av algoritmer for Innlesing Joins INF3100 V18 Evgenij Thorstensen 4

5 parsere konvertere Estimere resultatstørrelser anvende lover utføre estimere resultatstørrelser velge beste vurdere fysiske planer estimere kostnader INF3100 V18 Evgenij Thorstensen 5

6 Estimere størrelser Ideelt sett ønsker vi regler som er nøyaktige en liten feil kan resultere i valg av en lite hensiktsmessig algoritme i den fysiske spørreplanen enkle å beregne minimal ekstrakostnad for å gjøre selve valget logisk konsistente ikke avhengig av konkret algoritme for operatoren Men ingen universell algoritme finnes for dette Heldigvis hjelper også omtrentlige estimater til å velge en god fysisk spørreplan INF3100 V18 Evgenij Thorstensen 6

7 Notasjon B R eller B(R) angir antall blokker som er nødvendig for å lagre R tettpakket T R eller T(R) angir antall tupler i R V R (A) eller V(R,A) angir antall ulike verdier for attributt A i R Gjennomsnittlig antall tupler med like A-verdier er da T R /V R (A) S R eller S(R) er størrelsen av et tuppel i R i bytes sizeof R eller sizeof(r) er størrelsen av R i bytes: sizeof R = T R * S R INF3100 V18 Evgenij Thorstensen 7

8 Størrelsen av en projeksjon Størrelsen av en projeksjon L (R) kan beregnes nøyaktig: ett resultattuppel for hvert argumenttuppel T( A, B, (R)) = T R endrer bare størrelsen av hvert tuppel: sizeof( A, B, (R)) = T R * (S R.A + S R.B + ) INF3100 V18 Evgenij Thorstensen 8

9 Størrelsen av en projeksjon, Relasjon R A B C D 1 cat 1999 a 2 cat 2002 b 3 dog 2002 c 4 cat 1998 a 5 dog 2000 c eksempel sizeof( A, B, (R)) = T R * (S A + S B + ) sizeof R = sizeof( A (R)) = sizeof( A, B, C, D, (A+10) E (R)) = A: 4 byte integer B: 20 byte text string C: 4 byte date (year) D: 30 byte text string T R = 5 S R = 58 V R (A) = 5 V R (B) = 2 V R (C) = 4 V R (D) = 3 INF3100 V18 Evgenij Thorstensen 9

10 Størrelsen av en seleksjon En seleksjon s C (R) reduserer antall tupler, men størrelsen av hvert tuppel er uendret sizeof(s C (R)) = T(s C (R)) * S R Estimering av antall tupler avhenger av seleksjonsbetingelsen C fordeling av verdier for de aktuelle attributtene: vi antar en uniform fordeling hvor vi bruker V R (A) for å estimere antall tupler i resultatet INF3100 V18 Evgenij Thorstensen 10

11 Størrelsen av en seleksjon (forts.) For attributt A og konstant c: Likhet, s A = c (R): Bruk selektivitetsfaktoren 1/V R (A) T(s A=c (R)) = T R / V R (A) Intervall, s A < c (R): Bruk selektivitetsfaktoren 1/3 T(s A<c (R)) = T R / 3 Ulikhet, s A c (R): Bruk selektivitetsfaktoren 1-1/V R (A) T(s A c (R)) = T R * (1 1/V R (A)) INF3100 INF V18 Evgenij - Ellen Thorstensen Munthe-Kaas 11

12 Størrelsen av en seleksjon, Relasjon R A B C D 1 cat 1999 a 2 cat 2002 b 3 dog 2002 c 4 cat 1998 a 5 dog 2000 c T(s A=c (R)) = T R / V R (A) T(s A=3 (R)) = T(s B = cat (R)) = eksempel A: 4 byte integer B: 20 byte text string C: 4 byte date (year) D: 30 byte text string T R = 5 S R = 58 T(s A<c (R)) = T R / 3 T(s A > 2 (R)) = V R (A) = 5 V R (B) = 2 V R (C) = 4 V R (D) = 3 T(s A c (R)) = T R * (1 1/V R (A)) T(s B cat (R)) = INF3100 V18 Evgenij Thorstensen 12 INF Ellen Munthe-Kaas 12

13 Størrelsen av en seleksjon med AND eller NOT Seleksjon med flere betingelser med AND, s A AND B AND (R): estimer størrelsen ved hjelp av én selektivitetsfaktor for hver betingelse: 1/3 for <, >,, 1-1/V R (A) for på attributt A 1/V R (A) for = på attributt A T(s A AND B AND (R)) = T R * faktor A * faktor B *... Seleksjon med NOT, s NOT A (R): Bruk selektivitetsfaktoren 1-T(s A (R))/ T R T(s NOT A (R)) = T R T(s A (R)) INF3100 V18 Evgenij Thorstensen 13

14 Størrelsen av en seleksjon med Relasjon R AND eller NOT, eksempel A B C D 1 cat 1999 a 2 cat 2002 b 3 dog 2002 c 4 cat 1998 a 5 dog 2000 c T(s A AND B AND (R)) = T R * faktor A * faktor B *... T(s C = 1999 AND A < 4 (R)) = T(s NOT A (R)) = T R - T(s A (R)) T(s NOT A = 3 (R)) = A: 4 byte integer B: 20 byte text string C: 4 byte date (year) D: 30 byte text string T R = 5 S R = 58 V R (A) = 5 V R (B) = 2 V R (C) = 4 V R (D) = 3 INF3100 V18 Evgenij Thorstensen 14

15 Størrelsen av en seleksjon med OR Seleksjon med flere betingelser med OR, s A OR B OR (R) Alternativ 1: T(s A OR B OR (R)) = T(s A (R)) + T(s B (R)) +... Alternativ 2: T(s A OR B OR (R)) = min(t R, (T(s A (R)) + T(s B (R)) +...) ) Alternativ 3: anta at m 1 tupler tilfredsstiller den første betingelsen, m 2 tilfredsstiller den andre betingelsen,... 1 m i / T R er da andelen tupler som ikke tilfredsstiller den i-te betingelsen T(s A OR B OR (R)) = T R * [1 (1 m 1 / T R ) * (1 m 2 / T R ) *...] INF3100 V18 Evgenij Thorstensen 15

16 Størrelsen av et produkt Størrelsen av et kartesisk produkt R S kan beregnes nøyaktig: Ett tuppel for hver mulige kombinasjon av tuplene i relasjonene R og S: T(R S) = T R * T S Størrelsen av hvert nye tuppel er summen av størrelsen til hvert av de opprinnelige tuplene: S(R S) = S R + S S sizeof(r S) = T(R S) * S(R S) = T R * T S * (S R + S S ) INF3100 V18 Evgenij Thorstensen 16

17 Størrelsen av naturlig join Størrelsen av naturlig join R(X,A) S(A,Y) avhenger av hvordan verdiene til joinattributtet A fordeler seg mellom relasjonene R(X,A) og S(A,Y): Disjunkte sett med A-verdier tomt resultat: T(R S) = 0 A er en fremmednøkkel fra R til S hvert tuppel i R matcher ett tuppel i S: T(R S) = T R Nesten alle tuplene i R og S har samme A-verdi kombiner alle tuplene i hver relasjon: T(R S) = T R * T S INF3100 V18 Evgenij Thorstensen 17

18 Størrelsen av naturlig join (forts.) Antakelser: Inkludering av verdimengde: Hvis V R (A) V S (A), så anta at ( A (R)) ( A (S)) Dvs. hver A-verdi i R har en match i S Bevaring av verdimengde: Anta at verdimengden til ikke-join-attributter er den samme før og etter join, dvs. V(R S, B) = V R (B) der B er et attributt i R, men ikke i S INF3100 V18 Evgenij Thorstensen 18

19 Størrelsen av naturlig join (forts.) Antall tupler i R(X, A) S(A, Y) kan nå estimeres som følger: Hvis V R (A) V S (A), vil hvert tuppel i R matche anslagsvis T S / V S (A) tupler i S: T(R S) = T R * T S / V S (A) Tilsvarende, hvis V S (A) V R (A): T(R S) = T R * T S / V R (A) Generelt: T(R S) = T R * T S / max(v R (A), V S (A)) V(R S, B) = V R (B) for B et attributt i X V(R S, C) = V S (C) for C et attributt i Y V(R S, A) = min(v R (A), V S (A)) for joinattributtet A INF3100 V18 Evgenij Thorstensen 19

20 Størrelsen av naturlig join (forts.) Eksempel: A(a, b) B(b, c) C(c, d) T A = T B = T C = V A (a) = V B (b) = 100 V C (c) = 100 V A (b) = V B (c) = V C (d) = 100 T(A B) = T(A B C) = INF3100 V18 Evgenij Thorstensen 20

21 Størrelsen av naturlig join (forts.) Hvis det er mer enn ett joinattributt, R(X, A 1, A 2, ) S(A 1, A 2,, Y), får vi: T R * T S T(R S) = max(v R (A 1 ), V S (A 1 )) * max(v R (A 2 ), V S (A 2 )) * for hvert A i -attributt som er felles for R og S For naturlig join mellom flere relasjoner R 1 R 2 R 3 R n start med maksimalt antall tupler T(R 1 ) * T(R 2 ) * T(R 3 ) * * T(R n ) for hvert attributt A som forekommer i mer enn en relasjon, divider med alle unntatt den minste V(R i,a) Størrelsen av equijoin beregnes som naturlig join Størrelsen av thetajoin R c S beregnes ved å beregne størrelsen av s c (R S) INF3100 V18 Evgenij Thorstensen 21

22 Størrelsen av en union Avhenger av om vi bruker set- eller bag-versjonen: Bag: Resultatet er nøyaktig lik summen av tupler i argumentene: T(R b S) = T R + T S Set: Som for bag hvis relasjonene er disjunkte Antall tupler i den største relasjonen hvis den minste er en delmengde av denne Vanligvis et sted mellom disse, kan for eksempel bruke gjennomsnittet: T(R s S) = T R + T S /2 hvor S er den minste relasjonen INF3100 V18 Evgenij Thorstensen 22

23 Størrelsen av snitt og differanse Antall tupler i et snitt R S er 0 hvis relasjonene er disjunkte min(t R, T S ) hvis den ene relasjonen er en delmengde av den andre vanligvis et sted i mellom, kan for eksempel bruke gjennomsnittet: min(t R, T S ) / 2 Antall tupler i en differanse R S er T R hvis relasjonene er disjunkte T R - T S hvis alle tuplene i S finnes i R vanligvis et sted i mellom, kan for eksempel bruke gjennomsnittet: T R - T S /2 INF3100 V18 Evgenij Thorstensen 23

24 Størrelsen av en duplikateleminasjon Antall distinkte tupler som resultat av en duplikateliminasjon (R) er 1 hvis alle tuplene er like T R hvis alle tuplene er forskjellige En tilnærming: Gitt V R (A i ) for alle n attributter, vil maksimalt antall ulike tupler være V R (A 1 ) * V R (A 2 ) * * V R (A n ) La estimert antall tupler være det minste av dette tallet og T R /2, dvs. min(v R (A 1 ) * V R (A 2 ) * * V R (A n ), T R /2) Tilsvarende for gruppering (ser bare på grupperingsattributtene A 1, A 2,... A m ) INF3100 V18 Evgenij Thorstensen 24

25 parsere Vurdere fysiske planer konvertere anvende lover utføre estimere resultatstørrelser velge beste vurdere fysiske planer estimere kostnader INF3100 V18 Evgenij Thorstensen 25

26 Sammenligning av logiske spørreplaner Vi sammenligner ulike spørreplaner for en gitt spørring ved hjelp av størrelsen på temporære relasjoner estimer resultatet av hver operator i spørreplanen legg kostnadene inn i treet kostnaden til planen er lik summen av alle kostnadene i treet, bortsett fra for: roten sluttresultatet løvnodene data lagret på disk INF3100 V18 Evgenij Thorstensen 26

27 Sammenligning av logiske spørreplaner - eksempel StarsIn(title, year, starname) MovieStar(name, address, gender, birthdate) SELECT title FROM StarsIn WHERE starname IN ( SELECT name FROM MovieStar WHERE birthdate LIKE %1960 ); title Statistikk: T(StarsIn) = V(StarsIn, starname) = 500 S(StarsIn) = 60 T(MovieStar) = V(MovieStar, name) = V(MovieStar, birthdate) = 50 S(MovieStar) = 100 title starname = name s starname = name StarsIn name StarsIn name s birthdate LIKE %1960 INF3100 V18 Evgenij Thorstensen MovieStar s birthdate LIKE %1960 MovieStar 27

28 Eksempel (forts.) A 1 = s birthdate LIKE %1960 (MS): T(A 1 ) = T(s (MS)) = T(MS) / V(MS, birthdate) = 1000 / 50 = 20 sizeof(a 1 ) = 20 * 100 = 2000 Statistikk: T(SI) = V(SI, starname) = 500 S(SI) = 60 T(MS) = A 2 = name (A 1 ): T(A 2 ) = T( (A 1 )) = T(A 1 ) = 20 anta at name er 20 byte sizeof(a 2 ) = 20 * 20 = 400 A 3 = SI A 2 : T(A 3 ) = T(SI A 2 ) = T(SI)*T(A 2 ) / max[v(si, starname), V(A 2, name)] = * 20 / max(500, 20) = 400 S(A 2 ) = 20 sizeof(a 3 ) = 400 * ( ) = A 4 = title (A 3 ): T(A 4 ) = T( (A 3 )) = T(A 3 ) = 400 anta at title er 40 byte sizeof(a 4 ) = 400 * 40 = V(MS, name) = V(MS, birthdate) = 50 S(MS) = title starname = name StarsIn name s birthdate LIKE % MovieStar INF3100 V18 Evgenij Thorstensen 28

29 Eksempel (forts.) A 1 = s birthdate LIKE %1960 (MS) som før: 2000, T(s (MS))=20 Statistikk: T(SI) = V(SI, starname) = 500 S(SI) = 60 A 2 = name (A 1 ) som før: 400, T(A 2 ) = T(A 1 ) = 20 B 3 = SI A 2 : T(B 3 ) = T(SI x A 2 ) = T(SI) * T(A 2 ) = * 20 = S(A 2 ) = 20 sizeof(b 3 ) = * ( ) = B 4 = s starname = name (B 3 ): (Regelen for T(s A=B (R)) er ikke gjennomgått) T(B 4 ) = T(s (B 3 )) = T(B 3 ) / max(v(b 3, name), V(SI, starname)) = / max(20, 500) = 400 S(B 4 ) = S(SI) + S(B 3 ) = = 80 sizeof(b 4 ) = 400 * 80 = B 5 = title (B 4 ) som A 4 : 400 * 40 = INF3100 V18 Evgenij Thorstensen StarsIn T(MS) = V(MS, name) = V(MS, birthdate) = 50 S(MS) = title s starname = name name s birthdate LIKE % MovieStar 29

30 title starname = name Eksempel (forts.) title s starname = name StarsIn name StarsIn name s birthdate LIKE %1960 s birthdate LIKE % MovieStar MovieStar Totalt: = Totalt: INF V18 Evgenij Thorstensen =

31 Valg av fysisk spørreplan Mulige alternativer for å velge billigste fysiske spørreplan: exhaustive heuristic branch-and-bound hill climbing dynamic programming Sellinger-style optimizations INF3100 V18 Evgenij Thorstensen 31

32 Valg av fysisk spørreplan (forts.) Exhaustive: se på alle mulige kombinasjoner av valg i planen estimer kostnaden til hver plan mange planer, kostbart/ikke gjennomførbart Heuristic (brute force): velg en plan i henhold til heuristiske regler, dvs. basert på tidligere erfaringer som f.eks.: bruk indeks på operasjoner som s A = 10 (R) bruk den minste relasjonen først ved join av mange relasjoner hvis argumentene er sortert, bruk en sorteringsbasert operator... rask, men bare basert på generelle regler INF3100 V18 Evgenij Thorstensen 32

33 Valg av fysisk spørreplan (forts.) Branch-and-bound: finn en plan ved hjelp av heuristiske regler se på mindre deler av planen for å finne optimaliseringer Sellinger-style optimization: for alle subuttrykk, ta vare på kostnaden og forventet type resultat en operator kan ha høyere individuell kostnad, men hvis resultatet f.eks. er sortert, kan senere operatorer bruke dette ingen effekt ved vurdering av størrelsen på mellomresultatet ved vurdering av antall disk-io kan første del av en sorteringsbasert operasjon spares INF3100 V18 Evgenij Thorstensen 33

34 Query planning i postgres Via noen eksempler. Keywords: EXPLAIN og EXPLAIN ANALYZE INF3100 V18 Evgenij Thorstensen 34

35 Query planning i postgres EXPLAIN: Viser query plan og kostnadsestimat. EXPLAIN SELECT * FROM post ORDER BY body LIMIT 50; Limit (cost= rows=50 width=422) -> Sort (cost= rows= width=422) Sort Key: body -> Seq Scan on post (cost= rows= width=422) pgadmin kan visualisere explain-output INF3100 V18 Evgenij Thorstensen 35

36 Postgres, større eksempel EXPLAIN ANALYZE SELECT * FROM tenk1 t1, tenk2 t2 WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2 ORDER BY t1.fivethous; QUERY PLAN Sort (cost= rows=101 width=488) (actual time= rows=100 loops=1) Sort Key: t1.fivethous Sort Method: quicksort Memory: 77kB -> Hash Join (cost= rows=101 width=488) (actual time= rows=100 loops=1) Hash Cond: (t2.unique2 = t1.unique2) -> Seq Scan on tenk2 t2 (cost= rows=10000 width=244) (actual time= rows=10000 loops=1) -> Hash (cost= rows=101 width=244) (actual time= rows=100 loops=1) Buckets: 1024 Batches: 1 Memory Usage: 28kB -> Bitmap Heap Scan on tenk1 t1 (cost= rows=101 width=244) (actual time= rows=100 loops=1) Recheck Cond: (unique1 < 100) -> Bitmap Index Scan on tenk1_unique1 (cost= rows=101 width=0) (actual time= rows=100 loops=1) Index Cond: (unique1 < 100) Planning time: ms Execution time: ms INF3100 V18 Evgenij Thorstensen 36

37 Postgres, kostnadsmodell I postgres måles kostnader i abstrakte poeng. Følgende defaults gjelder seq_page_cost = 1 random_page_cost = 4 cpu_tuple_cost = 0.01 (100x raskere) cpu_operator_cost = (400x raskere) cpu_index_tuple_cost = (200x raskere) INF3100 V18 Evgenij Thorstensen 37

Spørsmålskompilering del 2

Spørsmålskompilering del 2 UNIVERSITETET I OSLO Spørsmålskompilering del 2 Estimere størrelsen på mellomresultater Vurdere fysiske spørreplaner Institutt for Informatikk INF3100-7.4.2015 - Ellen Munthe-Kaas 1 Oversikt: Fra spørring

Detaljer

Spørsmålskompilering

Spørsmålskompilering UNIVERSITETET I OSLO Spørsmålskompilering Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Estimere størrelsen på mellomresultater Vurdere fysiske

Detaljer

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina Spørsmålskompilering Basert på foiler av Hector Garcia-Molina Oversikt: Fra spørring til resultat SQL spørring parsere parseringstre konvertere resultat logiske spørreplaner (LSPer) anvende lover forbedrede

Detaljer

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina Spørsmålskompilering i Basert på foiler av Hector Garcia-Molina Oversikt: Fra spørring til resultat SQL spørring parsere parseringstre konvertere resultat logiske spørreplaner (LSPer) anvende lover forbedrede

Detaljer

Spørsmålskompilering del 1

Spørsmålskompilering del 1 UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100 - V18 - Evgenij

Detaljer

Spørsmålskompilering del 1

Spørsmålskompilering del 1 UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100-11.4.2016 - Ellen

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 V18 Evgenij

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 23.3.2015

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 6.4.2016

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Basert på foiler av Hector Garcia-Molina, Ragnar Normann Oversikt Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basis-operasjoner Implementasjons-algoritmer

Detaljer

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 21.3.2014

Detaljer

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 Dagens temaer Relasjonsalgebraen Renavning Algebra Heltallsalgebra Klassisk relasjonsalgebra Mengdeoperatorer Union Snitt

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk INF3100-8.2.2010 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

Detaljer

DBS18 - Strategier for Query-prosessering

DBS18 - Strategier for Query-prosessering Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli

Detaljer

Relasjonsalgebraen. Algebra

Relasjonsalgebraen. Algebra Relasjonsalgebraen Definerer en mengde av operasjoner på relasjoner Gir oss et språk til å beskrive spørsmål om innholdet i relasjonene Språket er prosedyralt: Vi sier hvordan svaret skal beregnes. Alternativet

Detaljer

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO RELASJONSALGEBRA Regning g med relasjoner Institutt for Informatikk INF3100-7.2.2011 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss

Detaljer

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger INF1300 Relasjonsalgebra Et matematisk fundament for å forstå SQL-setninger Innhold Relasjonsalgebraen Operatorene i relasjonsalgebraen Relasjonsalgebratolkning av select-setningen Kostbare operasjoner

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsalgebraen Oversettelse av select-from-where til relasjonsalgebra SQL: union, snitt, differanse, kartesisk produkt INF1300 22.10.2007

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk INF3100-3.2.2016 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

Detaljer

INF3100 V2018 Obligatorisk oppgave nr. 2

INF3100 V2018 Obligatorisk oppgave nr. 2 INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk INF3100-2.2.2015 Ellen Munthe-Kaas Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 11.2.2008 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan

Detaljer

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO SQL Structured Query Language g (forts.) Institutt for Informatikk INF3100 9.2.2009 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan

Detaljer

Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan

Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan select-setningen virker. Temaer som blir tatt inn i SQL-notatet:

Detaljer

Repetisjonsforelesning, SQL og utover

Repetisjonsforelesning, SQL og utover Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering

Detaljer

Integritetsregler i SQL. Primærnøkler

Integritetsregler i SQL. Primærnøkler Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler

Detaljer

UNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas UNIVERSITETET I OSLO Indeksering Hvordan finne et element raskt? Institutt for Informatikk INF3100 2.3.2010 Ellen Munthe-Kaas 1 Oversikt Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser

Detaljer

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3...

Alle attributter har NULL som mulig verdi. mulige verdier for integer: NULL, 0, 1, 2, 3... NULL verdier Alle attributter har NULL som mulig verdi mulige verdier for integer: NULL, 0, 1, 2, 3... Dog mulig å lage tabeller med attributter som forbyr NULL Ulik bruk: manglende informasjon («vet ikke

Detaljer

UNIVERSITETET I OSLO. Oppskriftsbok. FDer og MVDer Relasjonsalgebra. Institutt for Informatikk. INF3100 Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO. Oppskriftsbok. FDer og MVDer Relasjonsalgebra. Institutt for Informatikk. INF3100 Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO Oppskriftsbok FDer og MVDer Relasjonsalgebra Institutt for Informatikk INF3100 Ellen Munthe-Kaas 1 Tillukningsalgoritmen Hvordan finne alle kandidatnøkler FDer og MVDer Hvordan finne

Detaljer

Oppskriftsbok. FDer og MVDer - oversikt: se s. 3 Relasjonsalgebra - oversikt: se s. 45

Oppskriftsbok. FDer og MVDer - oversikt: se s. 3 Relasjonsalgebra - oversikt: se s. 45 UNIVERSITETET I OSLO Oppskriftsbok FDer og MVDer - oversikt: se s. 3 Relasjonsalgebra - oversikt: se s. 45 Oppskriftsboken er ment brukt som oppslagsverk og eksempelsamling. Ikke alt er like viktig. I

Detaljer

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer. UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Litt tabellterminologi Definere tabeller Fylle tabeller med data Hente data fra tabeller select-from-where distinct order by Relasjoner terminologi relasjonsnavn Personale

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 3.3.2014

Detaljer

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde UNIVERSITETET IOSLO Relasjonsalgebra Regning med relasjoner 1 Annen bruk av chasealgoritmen (korrigert lysark) For å vise en FD X Y starter tabellen med to rader som er like for attributtene i X, og ulike

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF3100-17.1.2014 Ellen Munthe-Kaas 1 Definisjon av nøkler Gitt en

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF3100 V18 Evgenij Thorstensen

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL Institutt for Informatikk INF3100 13.2.2007 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende

Detaljer

En lett innføring i foreninger (JOINs) i SQL

En lett innføring i foreninger (JOINs) i SQL En lett innføring i foreninger (JOINs) i SQL Noen ord om forening (JOIN)! 2 JOINs til gjennomgang! 3 1. INNER JOIN! 3 Eksempel på [INNER] JOIN! 4 NATURAL JOIN! 5 Eksempel på NATURAL JOIN! 5 2. LEFT [OUTER]

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse

Detaljer

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett

Detaljer

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas

UNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas UNIVERSITETET IOSLO Indeksering Hvordan finne et element raskt? Basert på foiler av Hector Garcia Molina Basert på foiler av Hector Garcia-Molina, Vera Goebel, Ellen Munthe-Kaas Oversikt Konvensjonelle

Detaljer

Repetisjon: Normalformer og SQL

Repetisjon: Normalformer og SQL IN2090 databaser og datamodellering Repetisjon: Normalformer og SQL Mathias Stang og Stein Michael Storleer 21. november 2018 1 Agenda Normalformer Funksjonelle avhengigheter Nøkler Finne hvilke normalformer

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs spørrespråk: select-from-where distinct order by Indekser INF1300-15.10.2007 Ellen Munthe-Kaas 1 SQL The Intergalactic Dataspeak

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Mer SQL: kandidat-, primær- og fremmednøkler Definere tabeller med integritetsregler Hente data fra tabeller select-from-where distinct order by Eksempler kjøres i PostgreSQL

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 29.2.2016 Ellen

Detaljer

Relasjoner terminologi

Relasjoner terminologi Relasjoner terminologi Kopi av lysark fra forelesningen 1. september. Dette er utdrag fra et notat som snart blir publisert. Dette notatet egner seg bedre til repetisjon og selvstudium enn disse arkene.

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 6.2.2005 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk

Detaljer

SQL Structured Query Language. Repetisjon av select spørringer Nestede select spørringer Mengdeoperasjoner Views Flere operatorer

SQL Structured Query Language. Repetisjon av select spørringer Nestede select spørringer Mengdeoperasjoner Views Flere operatorer SQL Structured Query Language Repetisjon av select spørringer Nestede select spørringer Mengdeoperasjoner Views Flere operatorer Generelt utseende av SQL-spørsmål select [ distinct ]

Detaljer

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013 INF1300 SQL Structured Query Language del 1 Stoff som blir/ble forelest i oktober 2013 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where distinct order by SQLs manipulasjonsspråk Indekser

Detaljer

SQL: Integritetsregler, triggere og views

SQL: Integritetsregler, triggere og views UNIVERSITETET I OSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 14.2.2014 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer

UNIVERSITETET SQL-99. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET SQL-99. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO Objektrelasjonelle DBMSer. SQL-99 Institutt for Informatikk INF3100 2.3.2009 Ellen Munthe-Kaas 1 Objektrelasjonelle DBMSer ORDBMS = Object-Relational Database Management System Motivasjon:

Detaljer

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12 SQL: Datatyper m.m. Evgenij Thorstensen V18 Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12 Datatyper, kort om mye Vi går en rask ekskursjon i manualen, Kap. 8. https://www.postgresql.org/docs/9.2/sql.html

Detaljer

INF1300 Det meste av resten av SQL. Utleggsark v. 2.0

INF1300 Det meste av resten av SQL. Utleggsark v. 2.0 INF1300 Det meste av resten av SQL Utleggsark v. 2.0 Dagens temaer Sammenligning med tekstmønstre Aggregeringsfunksjoner Nestede spørsmål Gruppering Relasjonssammenligninger: View JDBC exists in any all

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning mandag 14.

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning mandag 14. INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning mandag 14. september 2009 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF3100-20.1.2016 Ellen Munthe-Kaas 1 Definisjon av nøkler Gitt en

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22.

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22. INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning onsdag 22. september 2010 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where

Detaljer

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen

Detaljer

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg»

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg» Skjema Prosjekt(PId, Pnavn, KId, Pleder, StartDato) Ansatt(AId, Navn, Tittel, Fdato, Pnr, AnsDato) Timeliste(AId, Dato, PId, Timer) Kunde(KId, Knavn, Adresse) Oppgave: Finn navn og tittel på alle som har

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF300-6..00 Ellen Munthe-Kaas Definisjon av nøkler Gitt et relasjonsskjema

Detaljer

Oppgave 1 ER- og relasjonsmodell 10 %

Oppgave 1 ER- og relasjonsmodell 10 % Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) INF Ellen Munthe-Kaas 1. Institutt for Informatikk

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) INF Ellen Munthe-Kaas 1. Institutt for Informatikk UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 5.2.2008 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk

Detaljer

INF1300 Det meste av resten av

INF1300 Det meste av resten av INF1300 Det meste av resten av SQL Utleggsark v. 1.0 Tekstmønstre I SQL kan vi bruke like for å sammenligne et tekst-attributt med et tekstmønster Et tekstmønster er en tekstkonstant hvor to tegn, kalt

Detaljer

Isolasjon i postgres og mysql

Isolasjon i postgres og mysql Isolasjon i postgres og mysql Evgenij Thorstensen V19 Evgenij Thorstensen Isolasjon i postgres og mysql V19 1 / 20 Isolasjonsnivåer Read uncommitted Read committed Repeatable read Serializable SELECT...

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Det meste av resten av SQL Sammenligning med tekstmønstre Aggregeringsfunksjoner Nestede spørsmål Gruppering Relasjonssammenligninger:

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language Institutt for Informatikk INF3100 3.2.2015 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language Institutt for Informatikk INF3100 10.2.2014 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO SQL Structured Query Language Institutt for Informatikk INF3100 2.2.2012 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser

Detaljer

Databaser fra et logikkperspektiv

Databaser fra et logikkperspektiv Databaser fra et logikkperspektiv Evgenij Thorstensen IFI, UiO Høst 2013 Evgenij Thorstensen (IFI, UiO) Databaser fra et logikkperspektiv Høst 2013 1 / 31 Outline 1 Logikk som verktøy 2 Relasjonsdatabaser

Detaljer

UNIVERSITETET SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO SQL Structured Query Language Institutt for Informatikk INF3100 8.2.2011 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser

Detaljer

Oppdateringsanomalier Normalformer

Oppdateringsanomalier Normalformer UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 26.0.2009 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign?

Detaljer

Andre sett obligatoriske oppgaver i INF3100 V2012

Andre sett obligatoriske oppgaver i INF3100 V2012 Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF212 Databaseteori Eksamensdag: 28. mai 2003 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler:

Detaljer

SQL. SQL-standarder. Flere standarder: ANSI SQL SQL2 (SQL-92) SQL3 (SQL-99) = SQL2 + objekt-relasjonelle egenskaper mm

SQL. SQL-standarder. Flere standarder: ANSI SQL SQL2 (SQL-92) SQL3 (SQL-99) = SQL2 + objekt-relasjonelle egenskaper mm SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser Uttrykkskraften er omtrent som den i relasjonsalgebraen utvidet med tilleggsoperatorene SQL inneholder også

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte

Detaljer

Querying the Internet with PIER

Querying the Internet with PIER Querying the Internet with PIER TDT2 Avanserte distribuerte systemer 17.10.2005 Truls Jørgensen Disposisjon 2 Hva er PIER? (1) Peer-to-Peer Information Exchange and Retrieval Paring av tradisjonell prosessering

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 4. august 015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte

Detaljer

Normalformer utover 4NF (ikke pensum)

Normalformer utover 4NF (ikke pensum) UNIVERSITETET I OSLO Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100 - Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF 4NF ETNF RFNF = KCNF SKNF 5NF INF3100 - Ellen Munthe-Kaas

Detaljer

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language Hvorfor tabeller? Litt tabellterminologi Hente data fra tabeller select-from-where distinct order by Universe of discourse Interesseområdet Hva er vi interessert i å lagre

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer Institutt for Informatikk INF300-9..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Beslektet

Detaljer

Relasjonsalgebra. Hva?

Relasjonsalgebra. Hva? Relasjonsalgebra. Hva? Relasjonsalgebra består av et sett med høynivås operatorer som kan brukes til å manipulere med relasjoner (slå sammen to tabeller, selektere data etc.). Tankegangen er viktig å kjenne

Detaljer

Join. Intuitivt: Skjøte sammen to relasjoner. Intuitivt: 1. Beregn R S 2. Velg ut de tuplene som tilfredsstiller joinbetingelsen C

Join. Intuitivt: Skjøte sammen to relasjoner. Intuitivt: 1. Beregn R S 2. Velg ut de tuplene som tilfredsstiller joinbetingelsen C Join Intuitivt: Skjøte sammen to relasjoner R S C Intuitivt: 1. Beregn R S 2. Velg ut de tuplene som tilfredsstiller joinbetingelsen C Join Bistro bn mkat A kosher A vegetabilsk B uten melk B hallal B

Detaljer

1. SQL spørringer mot flere tabeller

1. SQL spørringer mot flere tabeller 1. SQL spørringer mot flere tabeller Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL spørringer mot flere tabeller Tore Mallaug 29.9.2008 Lærestoffet er utviklet for faget Databaser

Detaljer

IN3020 V2019 Obligatorisk oppgave nr. 1

IN3020 V2019 Obligatorisk oppgave nr. 1 IN3020 V2019 Obligatorisk oppgave nr. 1 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,

Detaljer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informatikk Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39

Detaljer

Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum)

Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum) UNIVERSITETET I OSLO Relasjonsdatabasedesign Ekstramateriale: Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100-26.1.2012 Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet

Detaljer

Andre sett obligatoriske oppgaver i INF3100 V2013

Andre sett obligatoriske oppgaver i INF3100 V2013 Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,

Detaljer

Andre sett obligatoriske oppgaver iinf3100v2011

Andre sett obligatoriske oppgaver iinf3100v2011 Andre sett obligatoriske oppgaver iinf3100v2011 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser, men

Detaljer

Ekstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.

Ekstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt. Side 1 av 5 Noen viktige punkter: (i) (ii) (iii) (iv) Les hele eksamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Skriv svarene dine i svarrutene

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs definisjonsspråk SQLs spørrespråk: select-from-where distinct order by SQLs manipulasjonsspråk Indekser Filmdatabasen INF1300

Detaljer

LO118D Forelesning 3 (DM)

LO118D Forelesning 3 (DM) LO118D Forelesning 3 (DM) Mengder og funksjoner 27.08.2007 1 Mengder 2 Funksjoner Symboler x y Logisk AND, både x og y må være sanne x y Logisk OR, x eller y må være sann x Negasjon, ikke x x For alle

Detaljer

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO Relasjonsmodellen Relasjoner og funksjonelle avhengigheter Institutt for Informatikk INF3100-23.1.2007 Ellen Munthe-Kaas 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for

Detaljer

IN2090 Databaser og datamodellering. Databasedesign og normalformer

IN2090 Databaser og datamodellering. Databasedesign og normalformer IN2090 Databaser og datamodellering Databasedesign og normalformer Evgenij Thorstensen evgenit@ifi.uio.no Universitetet i Oslo 1 / 43 Oversikt Gode og dårlige skjemadesign (og litt historie) Funksjonelle

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language

INF1300 Introduksjon til databaser: SQL Structured Query Language INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning mandag 14. september 2009 SQL Structured Query Language SQL Structured Query Language er

Detaljer

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1 UNIVERSITETET IOSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 28.2.2012 Arne Maus 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer