INF1300 Introduksjon til databaser
|
|
|
- Ingvald Lauritzen
- 9 år siden
- Visninger:
Transkript
1 UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsalgebraen Oversettelse av select-from-where til relasjonsalgebra SQL: union, snitt, differanse, kartesisk produkt INF Ellen Munthe-Kaas 1
2 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om innholdet i relasjonene er et prosedyralt spørrespråk: Vi sier hvordan svaret skal beregnes (Alternativet er deklarative spørrespråk hvor vi sier hva svaret skal oppfylle. SQL er et deklarativt språk.) utgjør det teoretiske grunnlaget for prosessering av SQLspørringer mot relasjonsdatabaser INF Ellen Munthe-Kaas 2
3 Algebra Domene (samling av verdier) Atomære operander Konstanter (representerer konkrete verdier i domenet) Variable (representerer vilkårlige verdier fra domenet) Operatorer Tar som argumenter operander Leverer som resultat en operand Uttrykk Bygges av atomære operander med operatorer og parenteser INF Ellen Munthe-Kaas 3
4 Eksempel: Heltallsalgebra Domene: Heltallene Konstanter:..., -3, -2, -1, 0, 1, 2, 3,... Variable: x, y, z,... Operatorer: +, -,, / Eksempler på uttrykk: ((2-x) 5) + (y/z) INF Ellen Munthe-Kaas 4
5 Klassisk relasjonsalgebra Domene: Endelige relasjoner (endelig mengde av tupler) Atomære operander: Konstanter: Alle endelige relasjoner Variable: Representerer vilkårlige endelige relasjoner Operatorer: union snitt differanse kartesisk produkt projeksjon seleksjon join renavning divisjon INF Ellen Munthe-Kaas 5
6 Mengdeoperatorer Union: R S Snitt: R S Differanse: R\S Rog Småhaparvis identiske attributtnavn (og identiske domener). Eks: Ansatt(navn, tlf, adr) Medlem(navn, adr, tlf) Før operasjonen utføres, ordnes S slik at attributtene kommer i samme rekkefølge som i R Dette kalles unionkompatibilitet INF Ellen Munthe-Kaas 6
7 Union R S er en relasjon hvor alle tupler som er i R eller i S eller i både R og S, er i R S (Om t er i både R og S, er t likevel bare representert én gang i R S (fordi en relasjon er en mengde)) ingen andre tupler forekommer i R S Eksempel på vanlig mengdeunion: {a,b,c} {b,c,d,e} = {a,b,c,d,e} INF Ellen Munthe-Kaas 7
8 Union Eksempel på union av relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Medlem navn adr tlf Lise Bakken Liv Lia Jan Heia Geir Viken Ansatt Medlem navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Liv Lia3 Jan Heia 7 INF Ellen Munthe-Kaas 8
9 Snitt R S er en relasjon hvor alle tupler som er i både R og S, er i R S ingen andre tupler forekommer i R S Eksempel på vanlig mengdesnitt: {a,b,c} {b,c,d,e} = {b,c} INF Ellen Munthe-Kaas 9
10 Snitt Eksempel på snitt mellom relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Ansatt Medlem navn tlf adr Lise Bakken 1 Geir Viken 2 Medlem navn adr tlf Lise Bakken Liv Lia Jan Heia Geir Viken INF Ellen Munthe-Kaas 10
11 Differanse R\S er en relasjon hvor alle tupler som er i R, men ikke i S, er i R\S ingen andre tupler forekommer i R\S Eksempel på vanlig mengdedifferanse: {a,b,c} \ {b,c,d,e} = {a} INF Ellen Munthe-Kaas 11
12 Differanse Eksempel på differanse mellom relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Ansatt \ Medlem navn tlf adr Tor Lia 3 Medlem navn adr tlf Lise Bakken Liv Lia Jan Heia Geir Viken INF Ellen Munthe-Kaas 12
13 Operatorer som fjerner deler av en relasjon Seleksjon: σ C (R) Projeksjon: π L (R) INF Ellen Munthe-Kaas 13
14 Seleksjon σ C (R) er relasjonen som fås fra R ved å velge ut de tuplene i R som tilfredsstiller betingelsen C C er et vilkårlig boolsk uttrykk bygget opp fra atomer på formen op 1 θ op 2 der operandene op 1 og op 2 er enten to attributter i R med samme domene eller ett atributt i R og en konstant fra dette attributtets domene operatoren θ { =,, <, >, <=, >=, like } INF Ellen Munthe-Kaas 14
15 Seleksjon Eksempel: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 σ tlf> (Ansatt) navn tlf adr Lise Bakken 1 Geir Viken 2 INF Ellen Munthe-Kaas 15
16 Projeksjon π L (R) hvor R er en relasjon og L er en liste av attributter i R, er relasjonen som fås fra R ved å velge ut kolonnene til attributtene i L Relasjonen har et skjema med attributtene i L Ingen tupler skal forekomme flere ganger i π L (R) INF Ellen Munthe-Kaas 16
17 Projeksjon Eksempel: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 π navn, adr (Ansatt) navn adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 INF Ellen Munthe-Kaas 17
18 Operatorer som spleiser tupler Kartesisk produkt: R S Join: R joinbetingelse S Naturlig join: R S INF Ellen Munthe-Kaas 18
19 Kartesisk produkt R S er relasjonen som fås fra R og S ved å danne alle mulige sammensetninger av ett tuppel fra R og ett tuppel fra S Vi sier ofte at et tuppel t fra R og et tuppel u fra S blir konkatenert til et tuppel v=t u i R S I resultatskjemaet løses eventuell navnelikhet mellom attributter i R og S ved å kvalifisere navnene med opprinnelsesrelasjonen: R.A, S.B Hvis R og S er samme relasjon, må en av dem først renavnes INF Ellen Munthe-Kaas 19
20 Kartesisk produkt Eksempel: Spisested snavn matkategori A kosher A vegetabilsk B uten melk B lactavegetabilsk B glutenfri B kosher C glutenfri C lactavegetabilsk C kosher D vegetabilsk Menykrav navn matkategori Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri Spisested x Menykrav snavn Spisested. navn Menykrav. matkategori matkategori A kosher Tor lactavegetablisk A vegetabilsk Tor lactavegetablisk B uten melk Tor lactavegetablisk B lactavegetabilsk Tor lactavegetablisk B glutenfri Tor lactavegetablisk B kosher Tor lactavegetablisk C glutenfri Tor lactavegetablisk C lactavegetabilsk Tor lactavegetablisk C kosher Tor lactavegetablisk D vegetabilsk Tor lactavegetablisk A kosher Liv kosher A vegetabilsk Liv kosher B uten melk Liv kosher B lactavegetabilsk Liv kosher B glutenfri Liv kosher B kosher Liv kosher C glutenfri Liv kosher C lactavegetabilsk Liv kosher C kosher Liv kosher D vegetabilsk Liv kosher A kosher Lise kosher A vegetabilsk Lise kosher B uten melk Lise kosher B lactavegetabilsk Lise kosher B glutenfri Lise kosher B kosher Lise kosher C glutenfri Lise kosher C lactavegetabilsk Lise kosher C kosher Lise kosher D vegetabilsk Lise kosher A kosher Geir glutenfri A vegetabilsk Geir glutenfri B uten melk Geir glutenfri B lactavegetabilsk Geir glutenfri B glutenfri Geir glutenfri B kosher Geir glutenfri C glutenfri Geir glutenfri C lactavegetabilsk Geir glutenfri INF Ellen Munthe-Kaas C kosher Geir glutenfri 20 D vegetabilsk Geir glutenfri
21 Join Intuitivt: Skjøte sammen to relasjoner R joinbetingelse S Intuitivt: 1. Beregn R S 2. Velg ut de tuplene som tilfredsstiller joinbetingelsen INF Ellen Munthe-Kaas 21
22 Eksempel: Spisested snavn matkategori A kosher A vegetabilsk B uten melk B lactavegetabilsk B glutenfri B kosher C glutenfri C lactavegetabilsk C kosher D vegetabilsk Menykrav navn matkategori Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri Join Spisested Menykrav Spisested.matkategori = Menykrav.matkategori snavn Spisested. navn Menykrav. matkategori matkategori B lactavegetabilsk Tor lactavegetablisk C lactavegetabilsk Tor lactavegetablisk A kosher Liv kosher B kosher Liv kosher C kosher Liv kosher A kosher Lise kosher B kosher Lise kosher C kosher Lise kosher B glutenfri Geir glutenfri C glutenfri Geir glutenfri INF Ellen Munthe-Kaas 22
23 Naturlig join R S er relasjonen som fås fra R og S ved å danne alle mulige sammensmeltinger av ett tuppel fra R med ett fra S der tuplene skal stemme overens i samtlige attributter med sammenfallende navn Fellesattributtene forekommer bare én gang i de sammensmeltede attributtene Resultatskjemaet har attributtene i R etterfulgt av de attributtene i S som ikke også forekommer i R INF Ellen Munthe-Kaas 23
24 Naturlig join Eksempel: Spisested snavn matkategori A kosher A vegetabilsk B uten melk B lactavegetabilsk B glutenfri B kosher C glutenfri C lactavegetabilsk C kosher D vegetabilsk Menykrav navn matkategori Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri Spisested Menykrav snavn matkategori navn B lactavegetabilsk Tor C lactavegetabilsk Tor A kosher Liv B kosher Liv C kosher Liv A kosher Lise B kosher Lise C kosher Lise B glutenfri Geir C glutenfri Geir INF Ellen Munthe-Kaas 24
25 Hengetupler Et hengetuppel er et tuppel i en av relasjonene som ikke har noe matchende tuppel i den andre relasjonen Hengetupler får ingen representant i resultatrelasjonen etter en join INF Ellen Munthe-Kaas 25
26 Hengetupler Eksempel: Spisested snavn matkategori A kosher A vegetabilsk B uten melk B lactavegetabilsk B glutenfri B kosher C glutenfri C lactavegetabilsk C kosher D vegetabilsk Menykrav navn matkategori Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri hengetupler Spisested Menykrav snavn matkategori navn B lactavegetabilsk Tor C lactavegetabilsk Tor A kosher Liv B kosher Liv C kosher Liv A kosher Lise B kosher Lise C kosher Lise B glutenfri Geir C glutenfri Geir INF Ellen Munthe-Kaas 26
27 Renavning ρ S(A1,A2,...,An) (R) renavner R til en relasjon med navn S og attributter A1,A2,...,An ρ S (R) renavner R til en relasjon med navn S Attributtnavnene fra R beholdes INF Ellen Munthe-Kaas 27
28 Renavning Eksempel: Menykrav ρ Menybegrensning(navn, begrensning) (Menykrav) navn matkategori Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri har som resultat Menybegrensning navn begrensning Tor lactavegetabilsk Liv kosher Lise kosher Geir glutenfri INF Ellen Munthe-Kaas 28
29 Bag Kommersielle DBMSer benytter Bag og ikke Set (mengde) som grunntype for å realisere relasjoner SQL beregner bager (med unntak av noen av operatorene) Set(D): Hvert element i D forekommer maksimalt én gang Rekkefølgen på elementene er likegyldig {a,b,c} = {a,c,b} = {a,a,b,c} = {c,a,b,a} Bag(D): Hvert element i D kan forekomme mer enn en gang Rekkefølgen på elementene er likegyldig {a,b,c} = {a,c,b} {a,a,b,c} = {c,a,b,a} INF Ellen Munthe-Kaas 29
30 Hvorfor Bag og ikke Set Bag gir mer effektive beregninger av union og projeksjon enn Set Ved aggregering (foreleses neste uke) trenger vi bagfunksjonalitet Men: Bag er mer plasskrevende enn Set INF Ellen Munthe-Kaas 30
31 Relasjonsalgebraens operatorer anvendt på Bag Definisjonene blir litt annerledes Ikke alle algebraiske lover som holder for Set holder for Bag Eks: (R S) \T = (R\T) (S\T) Når vi på de videre foilene skriver bagrelasjon, mener vi et relasjonsskjema + en ekstensjon (instans) hvor ekstensjonen er en bag, og ikke en mengde INF Ellen Munthe-Kaas 31
32 Bagunion La R og S være bagrelasjoner Hvis t er et tuppel som forekommer n ganger i R og m ganger i S, så forekommer tn+m ganger i bagrelasjonen R S Eksempel på vanlig bagunion: {a,a,b,c,c} {a,c,c,c,d} = {a,a,a,b,c,c,c,c,c,d} INF Ellen Munthe-Kaas 32
33 Bagunion Eksempel på bagunion av relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Medlem navn adr tlf Lise Bakken Liv Lia Jan Heia Geir Viken Ansatt Medlem navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Lise Bakken 1 Liv Lia3 Jan Heia 7 Geir Viken 2 INF Ellen Munthe-Kaas 33
34 Bagsnitt La R, S være bagrelasjoner Hvis t er et tuppel som forekommer n ganger i R og m ganger i S, så forekommer t min(n,m) ganger i bagrelasjonen R S Eksempel på vanlig bagsnitt: {a,a,b,c,c} {a,c,c,c,d} = {a,c,c} INF Ellen Munthe-Kaas 34
35 Bagsnitt Eksempel på bagsnitt mellom relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Lise Bakken 1 Geir Viken 2 Geir Viken 2 Ansatt Medlem navn tlf adr Lise Bakken 1 Lise Bakken 1 Geir Viken 2 Medlem navn adr tlf Lise Bakken Lise Bakken Liv Lia Jan Heia Geir Viken INF Ellen Munthe-Kaas 35
36 Bagdifferanse La R, S være bagrelasjoner Hvis t er et tuppel som forekommer n ganger i R og m ganger i S, så forekommer t max(0,n-m) ganger i bagrelasjonen R\S Eksempel på vanlig bagdifferanse: {a,a,b,c,c} \ {a,c,c,c,d} = {a,b} INF Ellen Munthe-Kaas 36
37 Bagdifferanse Eksempel på bagdifferanse mellom relasjoner: Ansatt navn tlf adr Tor Lia 3 Lise Bakken 1 Geir Viken 2 Geir Viken 2 Ansatt \ Medlem navn tlf adr Tor Lia 3 Geir Viken 2 Medlem navn adr tlf Lise Bakken Liv Lia Jan Heia Geir Viken INF Ellen Munthe-Kaas 37
38 Bagseleksjon Hvis R er en bagrelasjon, er σ C (R) bagrelasjonen som fås fra R ved å anvende C på hvert enkelt tuppel individuelt og velge ut de tuplene i R som tilfredsstiller betingelsen C INF Ellen Munthe-Kaas 38
39 Bagprojeksjon Hvis R er en bagrelasjon og L er en (ikketom) liste av attributter, er π L (R) bagrelasjonen som fås fra R ved å velge ut kolonnene til attributtene i L π L (R) har like mange tupler som R INF Ellen Munthe-Kaas 39
40 Kartesisk produkt av bager R S er bagrelasjonen som fås fra bagrelasjonene R og S ved å danne alle mulige konkateneringer av ett tuppel fra R og ett tuppel fra S Hvis R har n tupler og S har m tupler, blir det nm tupler i R S INF Ellen Munthe-Kaas 40
41 Join på bager Hvis R og S er bagrelasjoner, fremkommer bagrelasjonen R joinbetingelse Sslik: 1.Beregn R S (kartesisk produkt av bager) 2.Velg ut de tuplene som tilfredsstiller betingelsen INF Ellen Munthe-Kaas 41
42 Naturlig join på bager Hvis R og S er bagrelasjoner, er R S bagrelasjonen som fås ved å sammensmelte matchende tupler i R og S individuelt INF Ellen Munthe-Kaas 42
43 Relasjonsalgebratolkning av select-setningen I 1. Ta det kartesiske produktet av relasjonene i from 2. Selekter ifølge betingelsene i where 3. Projiser ifølge betingelsene i select 4. Fjern flerforekomster hvis select distinct 5. Sorter i henhold til order by INF Ellen Munthe-Kaas 43
44 Relasjonsalgebratolkning av select-setningen I eksempel Skjema: Spisested(snavn, matkategori) Menykrav(navn, matkategori) Relasjonsalgebratolkning: τ snavn (δ( π snavn (σ (navn= Tor or navn= Liv ) and (Spisested x Menykrav))) Spisested.matkategori= Menykrav.matkategori Query: select distinct snavn from Spisested, Menykrav where (navn = Tor or navn = Liv ) and Spisested.matkategori = Menykrav.matkategori order by snavn; δ(r) fjerner flerforekomster av tupler fra bagrelasjonen R. τ A1, A2,..., An (R) sorterer tuplene i R etter verdiene i A1, for like verdier i A1 sorteres tuplene etter verdiene i A2, osv. INF Ellen Munthe-Kaas 44
45 Relasjonsalgebratolkning av selectsetningen II Hvis vi ser nøyere på vanlige select-setninger, er det ofte to vesensforskjellige typer setningsledd i where-klausulen: Seleksjon av tupler i en relasjon Join av tupler på tvers av relasjoner Selv om den forenklede tolkningen av selectsetningen er riktig matematisk sett, vil databasesystemet velge en tolkning som er mer effektivt beregnbar INF Ellen Munthe-Kaas 45
46 Relasjonsalgebratolkning av selectsetningen II (forts.) Derfor vil databasesystemet oversette til et uttrykk som likner det vi får ved å gjøre følgende: 1. Join relasjonene i from i henhold til joinbetingelsene i where 2. Selekter ifølge seleksjonsbetingelsene i where 3. Projiser ifølge betingelsene i select 4. Fjern flerforekomster hvis select distinct 5. Sorter i henhold til order by INF Ellen Munthe-Kaas 46
47 Relasjonsalgebratolkning av select-setningen II eksempel Skjema: Spisested(snavn, matkategori) Menykrav(navn, matkategori) Query: select distinct snavn from Spisested, Menykrav where (navn = Tor or navn = Liv ) and Spisested.matkategori = Menykrav.matkategori order by snavn; Relasjonsalgebratolkning: τ snavn (δ( π snavn (σ navn= Tor or navn= Liv (Spisested Menykrav))) Spisested.matkategori= Menykrav.matkategori I dette tilfellet kunne joinbetingelsen alternativt vært oversatt til naturlig join. INF Ellen Munthe-Kaas 47
48 Klassisk union, snitt, differanse og kartesisk produkt uttrykt i SQL Algebra R S R S R\S R S SQL select * from R union S; select * from R intersect S; select * from R except S; select * from R cross join S; select * from R, S; Husk krav om unionkompatibilitet for R og S i union, intersect, except! INF Ellen Munthe-Kaas 48
49 Bagunion, bagsnitt og bagdifferanse uttrykt i SQL Algebra R S R S R\S SQL select * from R union all S; select * from R intersect all S; select * from R except all S; Husk krav om unionkompatibilitet for R og S i union all, intersect all, except all! INF Ellen Munthe-Kaas 49
50 Kostbare operasjoner i SQL distinct: Sortering er generelt kostbart Bør brukes med forsiktighet union, intersect, except: SQL beregner set-variantene av disse (dvs. at flerforekomster fjernes) Vurder å bruke union all, intersect all, except all som er bag-variantene INF Ellen Munthe-Kaas 50
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 9.2.2010 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk for spørringer mot relasjonsdatabaser
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
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
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
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
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å
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 ]
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
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
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
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
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
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
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO Dagens tema: INF1300 Introduksjon til databaser Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk INF1300 12.9.2016 1 Relasjonsmodellen
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
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
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:
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
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
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
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 8.2.2016 Ellen Munthe-Kaas 1 SQL SQL Structured Query Language er et deklarativt språk
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
INF3100 Databasesystemer
INF3100 Databasesystemer Relasjonsmodellen INF3100-18.1.2005 - Ragnar Normann 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for å beskrive strukturen til en database Relasjonsmodellen Databasen
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
IN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Institutt for informatikk IN2090 26.9.2018!1 Relasjonsmodellen
INF212 - Databaseteori. Kursinnhold
INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign
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.
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
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
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
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
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Flerverdiavhengigheter Høyere normalformer Institutt for Informatikk INF3100-1.2.2016 Ellen Munthe-Kaas 1 Flerverdiavhengigheter FDer uttrykker "en Y for hver
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
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
Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk
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
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
Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso
Høgskolen i østfold EKSAMEN Emnekode: Emnenavn: ITF301415 Store datamengder: analyse og prosessering Ny/utsatt eksamen Dato: Eksamenstid: 20.05.2016 09:00-12:00 Hjelpemidler: Ingen Faglærer: Edgar Bostrøm
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
SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.
SQL og Mengdelære Oracle, MySQL, Access, bruker forskjellige syntaks. Kan vi beskrive, hva SQL er og hva man kan gjøre med SQL, uavhengig av konkret syntaks!!! Hvilke universale formelle språk har vi til
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]
SQL: SELECT-spørringer
SQL: SELECT-spørringer Evgenij Thorstensen V18 Evgenij Thorstensen SQL: SELECT-spørringer V18 1 / 29 Relasjonsalgebra, recap Tre hovedoperatorer i tillegg til mengdeoperatorer: Seleksjon σ θ Projeksjon
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
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
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?
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
INF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -
Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen
INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Mengdelære Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Læreboken Mengder Definisjon
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
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
INF1800 Forelesning 2
INF1800 Forelesning 2 Mengdelære Roger Antonsen - 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Mengdelære Læreboken Det meste av det vi gjør her kan leses uavhengig av boken. Følgende avsnitt i boken
Metaspråket for å beskrive grammatikk
1 SQL-syntaks Korrekt språkbruk bygger på et sett av regler. Eksempler: En SQL utvalgsspørring inneholder alltid ordene SELECT og FROM, mens WHERE og tilhørende betingelse er valgfri. Etter SELECT kan
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen Funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner Institutt for informatikk [email protected]
PENSUM H2012 INF1300. Joakim Myrvoll Johansen. Pensum fra forelesnings-foilere
PENSUM INF1300 H2012 Pensum fra forelesnings-foilere Joakim Myrvoll Johansen Innhold DATA... 6 DATABASE OG DBMS... 6 TRANSAKSJONER... 6 INFORMASJONSMODELLER... 6 SKRANKER... 7 DET BEGREPSMESSIGE SKJEMA...
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 2. desember 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF1300
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
En liten rekap. Spørrespråk. I dag SELECT
[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger ([email protected]) 06/11-15 Databaser høsten 2015 En liten rekap ER-diagram - vi modellerer dataene våre til danne best mulig grunnlag for informasjonen
Relasjonsdatabasedesign
UNIVERSITETET IOSLO Relasjonsdatabasedesign Tapsfri dekomposisjon Normalformer INF3100-26.1.2009 Ragnhild Kobro Runde 1 Repetisjon: funksjonell avhengighet Gitt et relasjonsskjema R(A1,A2,,An) og la X,
Utvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 Databaseteori Eksamensdag : Fredag 6. juni 1997 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg :
OQL Object Query Language
UNIVERSITETET I OSLO OQL Object Query Language ODMGs spørrespråk INF3100 25.2.2008 Ragnar Normann Institutt for Informatikk 1 Hva OQL er OQL er spørrespråket i ODMG-standarden OQL utvider objektorienterte
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Flerverdiavhengigheter Høyere normalformer Institutt for Informatikk INF3100-27.1.2015 Ellen Munthe-Kaas 1 Flerverdiavhengigheter Flerverdiavhengigheter brukes
