Dagens föreläsning. KTH & SU, CSC Databasteknik Föreläsning 10 sid 1
|
|
- Andreas Månsson
- för 8 år sedan
- Visningar:
Transkript
1 Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av frågor Algoritmer för relationsoperatorer Beräkning av resultatets storlek KTH & SU, CSC Databasteknik Föreläsning 10 sid 1
2 Vad du skall komma ihåg från tidigare föreläsningar DML-delen av SQL Relationsalgebraiska operatorer Mappning av SQL-uttryck på relationsalgebra Indexering KTH & SU, CSC Databasteknik Föreläsning 10 sid 2
3 Data dictionary Databasen innehåller en beskrivning av sig själv. Denna beskrivning lagras i en databas, Data dictionary (DD). I DD finns information om: alla termer och deras typer, relationer, användare och deras rättigheter, indexfiler, rapporter, statistik, analys, filer, backup-filer, historik, återhämtningsinformation, program i systemet, in- och utdata till programmen. DD för varuhuset: RelName AttrName Domain ITerm ForKey FKRel FRITerm Anställd Namn VarChar(50) 1 no - - Anställd Chef VarChar(50) - yes Anställd Namn Anställd Lön Integer - no - - Anställd Avd VarChar(30) - yes Avdelning Avd Försäljning Avd VarChar(30) 1 yes Avdelning Avd Försäljning Varunr Smallint 2 yes Vara Varunr KTH & SU, CSC Databasteknik Föreläsning 10 sid 3
4 Evaluering av frågor Evaluering av frågor Fråga DD lexikal analys syntaxkontroll Data Data frågan på internt format (RA) optimering (evalueringsplan) kodgenerering frågan i körbar kod exekvering svaret (om det finns ett svar) KTH & SU, CSC Databasteknik Föreläsning 10 sid 4
5 Varför optimera? Ex: Vilka firmor levererar sportskor till sportavdelningen? B-trädsindex med partiell matchning av nyckeln företag (σ lager.varunr=vara.varunr vara.typ='sportskor' lager.avd='sport' (lager vara)) Antag att lager har tupler och vara har tmp lager vara tupler från lager 600 tupler från vara tupler till tmp 2. σ lager.varunr=vara.varunr vara.typ='sportskor' lager.avd='sport' (tmp) tupler filtreras genom primärminnet 50 tupler kvar i primärminnet 3. resultat företag 3 tupler kvar i primärminnet accesser till sekundärminnet i värsta fall KTH & SU, CSC Databasteknik Föreläsning 10 sid 5
6 Varför optimera? företag ( σ avd='sport' ( lager varunr (σ typ='sportskor' (vara))) lager har tupler, vara har tmp varunr (σ typ='sportskor' (vara)) 600 tupler från vara läses in med 600 läsningar från sekundärminnet 50 tupler till tmp 2. resultat företag (σ avd='sport' (lager tmp)) max tupler filtreras genom primärminnet 3 tupler kvar i primärminnet = accesser till sekundärminnet i värsta fall Det är klart att vi skall optimera! KTH & SU, CSC Databasteknik Föreläsning 10 sid 6
7 Transformationsregler 1. Kaskadering av σ. σc1 c2 c3 (R ) σc1(σc2(σc3( (R )))) 2. Kommutativitet hos σ. σc1(σc2(r )) σc2(σc1(r )). 3. Kaskader av. Lista1 ( Lista2 ( Lista3 ( (R )))) Lista1 (R ). 4. Kommutering av σ och. Lista (σ c (R )) σ c ( Lista (R )), om c opererar endast på de attribut som finns i listan. 5. Kommutativitet hos (eller ). R c S S c R. 6. Kommutering av σ och (eller ). Om attributen i villkoret c för selektionen endast kommer från R så: σ c (R S) σ c (R) S. 7. Kommutering av och (eller ). Om Lr är attribut i R och Ls är attribut i S och L = Lr Ls, så L (R c S) Lr (R) c Ls (S). Om joinvillkoret c innehåller attribut som inte finns i L så behövs en slutlig projektion, dvs om L Lr Ls så L (R c S ) L ( Lr (R ) c Ls (S )). KTH & SU, CSC Databasteknik Föreläsning 10 sid 7
8 Transformationsregler 8. Mängdoperationers kommutativitet. är kommutativa, men - är inte kommutativ. 9. Associativitet hos,. Om ϕ är en av,, eller så: (R ϕ S ) ϕ T R ϕ (S ϕ T ). 10. Kommutering av σ och mängdoperationer. σ kommuterar med,, och. Om ϕ är en av,,, eller så: σ c (R ϕ S ) σ c (R ) ϕ σ c (S ). 11. Kommutering av och mängdoperationer. kommuterar med,, och. Om ϕ är en av,,, eller så: L (R ϕ S ) L (R ) ϕ L (S ). 12. De Morgans lag: (c1 c2) ( c1) ( c2) (c1 c2) ( c1) ( c2) KTH & SU, CSC Databasteknik Föreläsning 10 sid 8
9 En heuristisk algoritm för optimering. Bygg ett initialt evalueringsträd. En enkel algoritm 1. Använd regel 1 för att kaskadera alla σ som har konjunktiva villkor. 2. Använd reglerna 2, 4, 6 och 10 för att flytta ner alla σ så långt som möjligt i trädet. 3. Kombinera med efterföljande σ till. 4. Använd reglerna 3, 4, 7 och 11 för att föra ner så långt som möjligt i trädet. 5. Använd regel 9 för att arrangera om trädets lövnoder så att de mest restriktiva exekveras först. Mest restriktiv = minst utrymme i primärminnet. 6. Slutligen, identifiera grupper som kan exekveras som en sammanhängande operation och gör rutiner för exekvering. KTH & SU, CSC Databasteknik Föreläsning 10 sid 9
10 Antag databas: Bok (ISBN, titel, förf, förl) Förläggare (Förl, adress, ort) Låntagare (Namn, adress, ort, kortnr) Lån (KortNr, ISBN, Datum) Ett enkelt exempel En virtuell vy men inte temporär vy, XLån, finns, skapad genom satsen create view XLån as select titel, förf, förl, Lån.ISBN, adress, ort, Lån.kortnr, datum from Lån, Låntagare, Bok where Lån.kortnr = Låntagare.kortnr and Bok.ISBN = Lån.ISBN dvs: f (σ g (Lån, Låntagare, Bok)) där f är titel, förf, förl, Lån.ISBN, adress, ort, Lån.kortnr, datum och g är Lån.kortnr = Låntagare.kortnr Bok.ISBN = Lån.ISBN KTH & SU, CSC Databasteknik Föreläsning 10 sid 10
11 Ett enkelt exempel, forts Vi vill veta vilka titlar som lånats ut mellan och Endast titlarna är intressanta. Kan ske genom select titel from XLån where datum > and datum < ; eller titel (σ datum > datum < (XLån)) Vi får ett evalueringsträd enligt: resultatbok titel σ datum > datum < f σ g Bok Lån Låntagare KTH & SU, CSC Databasteknik Föreläsning 10 sid 11
12 Ett enkelt exempel, forts resultatbok titel σ datum > σ datum < titel, förf, förl, Lån.ISBN, adress, ort, Lån.kortnr, datum σ Lån.kortnr = Låntagare.kortnr Bok.ISBN = Lån.ISBN Bok Lån Låntagare KTH & SU, CSC Databasteknik Föreläsning 10 sid 12
13 Ett enkelt exempel, forts a. splittra σ g i σ Bok.ISBN=Lån.ISBN och σ Låntagare.kortnr=Lån.kortnr. b. datum har endast med Lån att göra. Flytta ned till strax ovanför Lån. c. σ Låntagare.kortnr=Lån.kortnr har endast med nedre vänstra kartesiska prod att göra, för ned till strax ovanför denna. resultatbok titel σ Bok.ISBN = Lån.ISBN titel, förf, förl, Lån.ISBN, adress, ort, Lån.kortnr, datum σ Lån.kortnr = Låntagare.kortnr Bok σ datum > datum < Låntagare Lån KTH & SU, CSC Databasteknik Föreläsning 10 sid 13
14 Ett enkelt exempel, forts a. Kombinera titel och f samt använd reglerna 3 och 4 på res + σ Bok.ISBN=Lån.ISBN resultatbok titel σ Bok.ISBN = Lån.ISBN titel,bok.isbn, Lån.ISBN σ Lån.kortnr = Låntagare.kortnr Bok σ datum > datum < Låntagare Lån KTH & SU, CSC Databasteknik Föreläsning 10 sid 14
15 Ett enkelt exempel, forts Använd regel 7 på första kartesiska produkten och proj ovanför denna resultatbok titel σ Bok.ISBN = Lån.ISBN Lån.ISBN titel, Bok.ISBN σ Lån.kortnr = Låntagare.kortnr Bok σ datum > datum < Låntagare Lån KTH & SU, CSC Databasteknik Föreläsning 10 sid 15
16 Ett enkelt exempel, forts Använd regel på proj + sel ovanför andra kartesiska produkten resultatbok titel σ Bok.ISBN = Lån.ISBN Lån.ISBN titel, Bok.ISBN σ Lån.kortnr = Låntagare.kortnr Lån.ISBN, Låntagare.kortnr, Lån.kortnr Bok σ datum > datum < Låntagare Lån KTH & SU, CSC Databasteknik Föreläsning 10 sid 16
17 Ett enkelt exempel, forts Använd regel 7 på andra kartesiska produkten och proj ovanför denna resultatbok titel σ Bok.ISBN = Lån.ISBN Lån.ISBN titel, Bok.ISBN σ Lån.kortnr = Låntagare.kortnr Bok Lån.ISBN, Lån.kortnr Låntagare.kortnr σ datum > datum < Lån Låntagare KTH & SU, CSC Databasteknik Föreläsning 10 sid 17
18 Ett enkelt exempel, forts Proj + sel + kartesisk prod på två ställen kan kombineras till naturlig-join (steg 4 i alg) resultatbok titel Lån.ISBN titel, ISBN Bok ISBN, kortnr σ datum > datum < Lån kortnr Låntagare KTH & SU, CSC Databasteknik Föreläsning 10 sid 18
19 Ett enkelt exempel, forts Ordna om lövnoderna så att minsta datamängden hamnar längst till vänster o s v resultatbok titel Lån.ISBN titel, ISBN Bok ISBN, kortnr σ datum > datum < Lån kortnr Låntagare KTH & SU, CSC Databasteknik Föreläsning 10 sid 19
20 Tidsuppskattning för operationer Antal blocköverföringar: b Tiden för att föra över ett block: t T Antal disksökningar: S Tiden för en sökning: t S Antal block som behövs för att lagra relationen R: b(r) Tiden för att söka igenom relationen R: b(r)*t T + t S Tiden för bearbetning i primärminnet är i allmänhet mycket mindre än diskhanteringen. KTH & SU, CSC Databasteknik Föreläsning 10 sid 20
21 Selektion Linjärsökning: b(r)*t T + t S efter nyckel: b(r) /2 *t T + t S men i värsta fall b(r)*t T + t S Binärsökning (om filen är sorterad): (log 2 b(r))*(t T + t S ) I båda fallen kan man behöva lagra resultatet på disk och då tillkommer denna kostnad. Selektiviteten hos ett villkor: 1/V(A, r) där V är antalet distinkta värden för attributet A i relationen r Storleken i block: 1/V(A, r)*n r /f r där n r är antalet tupler i relationen r och f r är blockningsfaktorn för r (antalet tupler i ett block) Antal block för en punktselektion 1/V(A, r)*n r /f r som måste mellanlagras till en kostnad av (1/V(A, r)*n r /f r )*t T + t S KTH & SU, CSC Databasteknik Föreläsning 10 sid 21
22 Selektion med hjälp av index B + -träd med höjden h. Primärindex Likhet i nyckel: Kostnad (h+1)*(t T + t S ) Likhet i ickenyckelattribut: Som linjärsökning. Sekundärindex (h+n)*(t T + t S ) där n är antalet tupler som selekteras Hash-index Primärindex Likhet i nyckel: Kostnad 2*(t T + t S ) Likhet i ickenyckelattribut: Som linjärsökning. Sekundärindex (n+1)*(t T + t S ) där n är antalet tupler som selekteras KTH & SU, CSC Databasteknik Föreläsning 10 sid 22
23 Sortering Vanligast: mergesort Två faser: Hitta sorterade följder Samsortera följder Antal blockläsningar/skrivningar: 2*B(R)*log 2 B(R) (om vi inte buffrar några block) Tiden blir då: (log 2 B(R))*(B(R)/4)*t S +(2*B(R)*log 2 B(R))*t T Här är det lite förenklade beräkningar jfrt med boken. KTH & SU, CSC Databasteknik Föreläsning 10 sid 23
24 Projektion Primärnyckel: Som sekventiell sökning Lagring av resultatet: n(x)/n(t)* b(r) antal block där n(a) är antalet byte för attributet/attributen X och n(t) är tupelstorleken i byte. Övriga attribut: Som för ovanstående men följt av eliminering av dubbletter. Dubbletter kan elimineras genom att sortera relationen eller med hjälp av hashing. Hash-baserad dubbletteliminering: Partitionera relationen m a p hash-värde för hela tupler. Varje partition läses in och varje unikt värde skrivs till resultatet. KTH & SU, CSC Databasteknik Föreläsning 10 sid 24
25 Join Nästlad loop: foreach r in R do foreach s in S do add(r s) I värsta fall (kartesisk produkt) n R *b(s)+ b(r) block läses och n R *n S /f resultat skrivs annars n R *b(s)+ b(r) block läses och (n R *n S /V(A, r))/f resultat där A är det selekterande attributet. Förbättring: Blockbaserad join: M-1 block används till R och ett block för S. S kommer att skannas b(r)/(m-1) ggr Index kan användas i den inre loopen för att undersöka villkoren för joinoperationen. KTH & SU, CSC Databasteknik Föreläsning 10 sid 25
26 Merge-join Kan används för naturlig- och equi-join R(X), S(Y) sorteras m a p X Y. R S A B B C Vi behöver bara genomlöpa relationerna en gång+sortering KTH & SU, CSC Databasteknik Föreläsning 10 sid 26
27 Hash-join Hasha alla tupler till M hinkar m a p X Y. För varje par av hinkar med samma hash-värde skriv den konstruerade tupeln, bestående av unika kombinationer, till resultatet Antal blockoperationer: 3*(b(R) + b(s)) Obs 1: Alla tupler med samma värde på H(X Y) ligger i samma hink 2: Alla tupler i en hink måste ligga i primärminnet så antalet hinkar måste väljas efter utrymmet i PM. KTH & SU, CSC Databasteknik Föreläsning 10 sid 27
28 Gruppering och aggregering 1 Sortera med det/de grupperande attributet/en som sorteringsbegrepp. Applicera den aggregerande funktionen för varje värde på det grupperande attributet. Skriv till resultatet värdet av den aggregerande funktionen och det/de grupperande attributet/en 2 Använd hashing för att skapa grupperingen. För varje hink appliceras den aggregerande funktionen Antalet blockoperationer: 3*b(R) + resultat KTH & SU, CSC Databasteknik Föreläsning 10 sid 28
29 Optimeringskostnad Heuristisk optimering att föredra men Kostnadsberäkningar ger en bättre evaluseringsplan. Pipelining (utdata från en algoritm tas som indata till en annan) kan minska kostnaden. Minnesanvändningen viktig för exekveringen. Indexering kan både minska och öka kostnaden Materialiserade vyer (en vy som lagrar värden) kan minska kostnaden (såväl som öka) men har nackdelen att den måste synkroniseras med underliggande relationer. KTH & SU, CSC Databasteknik Föreläsning 10 sid 29
30 Det viktigaste på denna föreläsning Förstå principerna för optimering Flytta selektion och projektion så nära basrelationerna som möjligt Kombinera selektion och kartesisk produkt till join Ordna lövnoderna efter storleksordning så att förstaoperanden om möjligt kan ligga i PM Beräkning av antalet blockoperationer för de grundläggande operationerna Algebraiska ekvivalenser KTH & SU, CSC Databasteknik Föreläsning 10 sid 30
Vad du skall komma ihåg från tidigare föreläsningar. Dagens föreläsning. Evaluering av frågor. Data dictionary
Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av
Läs merTentamen i Databasteknik
Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merTentamen i Databasteknik
Tentamen i Lördagen den 21 oktober 2006 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merFrågeoptimering. Frågeoptimering kapitel 14
Frågeoptimering kapitel 14 Frågeoptimering sid Introduktion 1 Transformering av relationsuttyck 4 Kataloginformation för kostnadsestimering Statisk information för kostnadsestimering Kostnadsbaserad optimering
Läs merTentamen i Databasteknik
Tentamen i Databasteknik Tisdagen den 15 mars 2010 Tillåtna hjälpmedel: Allt skrivet material och räknedosa Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera
Läs merTentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material
Tentamen i lördagen den 13 mars 2004 Tillåtna hjälpmedel: Allt upptänkligt material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merTentamen i. Databasteknik
Tentamen i Databasteknik Torsdagen den 10/3 2005 14.00-19.00 Tillåtna hjälpmedel: Allt tänkbart material Använd bara framsidan på varje blad Skriv max en uppgift per blad. Skriv tydligt. Motivera allt.
Läs merKarlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 151 Lagring av databaser på sekundärminne Att läsa/skriva på sekundärminne (hårddisk) är en långsam process jämfört med operationer i primärminnet
Läs merDatabaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
Läs merDatabaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
Läs merSQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
Läs merMinnesteknik. Minnen lämpliga för databaser. Minnesteknik, forts. Databaser design och programmering. temporärt/flyktig Snabbt Dyrt
Databaser design och programmering n Fysisk design av databasen Minnesteknik n Primärminne (kretsteknik) n att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 temporärt/flyktig
Läs merKarlstads Universitet, Datavetenskap 1
2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i
Läs merIdag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...
Idag Databaskvalitet(??) Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? Det finns metoder
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs merDatabaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation
Läs merDatabaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation
Läs merIdag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)
Idag 1. Från modell till databasstruktur 2. Prata med databaser (frågepsråket SQL) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten 2008 1 / 22 Från verklighet via modell till
Läs merFrån verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas
Idag 1. Från modell till databasstruktur Från verklighet via modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem
Läs merTentamen DATABASTEKNIK - 1DL116
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,
Läs merIdag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20
Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?
Läs merRelationsalgebra. Varför behöver jag lära mig relationsalgebra?!
Relationsalgebra 1 Varför behöver jag lära mig relationsalgebra?! Relationsmodellen är den datamodell som används i de flesta moderna databassystemen Data beskrivs och lagras som relationer, dvs. som ett
Läs merVad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan
Läs merIntroduktion till frågespråket SQL (v0.91)
DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 24 Augusti 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs merProgramdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys
Läs merDIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:
DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL r s använder vi för att uttrycka frågor där ordet alla figurerar: Ex. Vilka personer har stamkundskort vid ALLA klädesbutiker i stad X? Vilka personer har bankkonto
Läs merÖvningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14
Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.
Läs merFillagring och indexering
Fillagring och indexering Lena Strömbäck Institutionen för datavetenskap (IDA) Databaser Världen Databas Modell Databas- Hanterings- System (DBMS) Queries Svar Queries Svar Användare Anv Updates Queries
Läs merTentamen för 1E1601. Måndag 10 mars 2003, kl 08.00 13.00. Alla hjälpmedel tillåtna
Tentamen för 1E1601 Måndag 10 mars 2003, kl 08.00 13.00 Alla hjälpmedel tillåtna Totalt kan tentan ge 45p + max 10p för gjorda övningsuppgifter 27p ger säkert betyget 3, 35p ger säkert betyget 4 och 43p
Läs merFiktiv tentamen för DD1370 Databasteknik och informationssystem
Fiktiv tentamen för 1370 atabasteknik och informationssystem Hösten 2011 Hjälpmedel: Allt man kan tänka sig, men ingen kontakt med hjälpsamma kamrater och inga elektroniska hjälpmedel. Tänk på: Skriv högst
Läs merDatastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Läs merStarta MySQL Query Browser
Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör
Läs merFöreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering
2D1458, Problemlösning och programmering under press Föreläsning 1: Dekomposition, giriga algoritmer och dynamisk programmering Datum: 2007-09-04 Skribent(er): Anders Malm-Nilsson och Niklas Nummelin Föreläsare:
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.
Läs merVad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.
Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling
Läs merVad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Läs mer1.Lär känna MS SQL Observera. Tips. Förberedelse
1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra
Läs merKarlstads Universitet, Datavetenskap 1
* * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut
Läs merIdag. Exempel. Exempel modellen (1) Exempel...
Idag Exempel Knyta ihop säcken Repetition av hela processen från värld till databas Kontroll av resultatet Exempel på frågor mot varuhusdatabasen Man börjar alltid med att bestämma vad man måste hålla
Läs mer9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar
FÖ 8: Databaskursen 1. SQL 2. Utsökningar mot en tabell 3. Od Order by 4. Funktionerna upper, lower och initcap 5. Konkatenering 6. Kolumnalias 7. Distinct 8. Hantera nullvärden med nvl-funktionen 9. Between
Läs merDatabaser. Vad du ska lära dig: Ordlista
Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en
Läs merInformationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.
Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer
Läs merDatabasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Läs merDatabaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Läs merTommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2
Föreläsning 4 ADT Map/Dictionary, hashtabeller, skip-listor TDDC91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 9 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 4.1
Läs merFöreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek
Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt
Läs merFöreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Läs merFiktiv tentamen för DD1370 Databasteknik och informationssystem
Fiktiv tentamen för DD1370 Databasteknik och informationssystem Torsdag 4 dec 2008 Hjälpmedel: Allt inklusive kursbok, försläsningsanteckningar, gamla tentor och egna anteckningar, men inte tentalösningar
Läs merLär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse
Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill
Läs merTentamen. TDDB38 - Databasteknik
Tekniska Högskolan i Linköping, Institutionen för datavetenskap Almut Herzog / Olof Johansson / Patrick Lambrix / Cecile Åberg Tentamen TDDB38 - Databasteknik (Svensk version) Datum: Fredag 12:e januari
Läs merFrågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5
Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5 1 Frågor mot en tabell och något selektionsvillkor. A Ta fram personnummer, namn, adress och postnummer på personer som bor i Solna! B Ta fram
Läs merLösningsförslag till Exempel tentamen
Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Lösningsförslag till Exempel tentamen 2I-1033 IT i Organisationer och Databasteknik Tentamenstiden är 5 timmar Skriv bara på
Läs merInnehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd
Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:
Läs merMagnus Nielsen, IDA, Linköpings universitet
Föreläsning ADT Map/Dictionary, hashtabeller TDDC9,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 7 september 208 Magnus Nielsen, IDA, Linköpings universitet. ADT Map/Dictionary.
Läs merLösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem
Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem Hösten 2011 1. a) Jag följer kokboken (förel 3, bild 34) a. Regeln säger att alla objektklasser med e-termer ska bilda
Läs merKomplement till databasdelen på 1E1601. Kursmaterial
Komplement till databasdelen på 1E1601 Kursmaterial Våren 2004 Innehåll 1 Vad är nu detta?........................... 2 2 Relationsalgebrans divisionsoperator................ 2 3 Tupelkalkyl.............................
Läs merInlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 10 April 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs mer02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)
02/2/4 Behövs Föreläsning 8? Databasteknik och informationssystem DD370 Idag F6 ästa vecka: F7 (sista nyheterna & repetition) Föreläsning 6: ER-modellenà Databas (del 2) F8 (?) (repetition, repetition,
Läs merDatabasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Läs merLaborationer - databaser, EDAA20 Programmering och databaser
LUNDS TEKNISKA HÖGSKOLA EDAA20 Programmering och databaser Institutionen för datavetenskap HT 2015 Laborationer - databaser, EDAA20 Programmering och databaser I kursens databasdel ingår två obligatoriska
Läs merLösningar till tentamen i EDAF75
Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte
Läs merDatabasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?
Databasteknik Vad är data? föreläsare: Kjell Lindqvist och NADA databaser? och vad är de bra för? och varför ska ni kunna något om dem? Copyright c NADA, KTH DBT, bild 1 Copyright c NADA, KTH DBT, bild
Läs merEMPS(NAME, SALARY, DEPT)
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
Läs merDatabaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
Läs merTentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13
Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning
Läs merInnehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
Läs merTentamen DATABASTEKNIK - 1DL116, 1MB025
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande
Läs merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom
Läs merDatabasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes
Databasutveckling Tabeller Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Datatyper Heltal bit 0, 1 eller NULL tinyint 1 byte (0-255) smallint int bigint 2 bytes 4 bytes 8 bytes Decimaltal
Läs merFöreläsning 5: Relationsmodellen
Föreläsning 5: Relationsmodellen DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över hur relationsmodellen fungerar Relationsmodellen Relationsalgebra
Läs merÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!
ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan
Läs merTentamen Databasteknik
Försättsblad Tentamen Databasteknik 2003 04 29, 8.00 13.00 Inga hjälpmedel. Bedömning (preliminär): uppgifterna ger maximalt 14 + 11 + 11 + 6 + 4 + 4 = 50 poäng. För godkänt krävs 25 poäng (3/25, 4/33,
Läs merObjektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 9 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Fält Grunderna Fält med komponenter av struct-typ Fält med referenser Standardklassen
Läs merTDDI16 Datastrukturer och algoritmer. Algoritmanalys
TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att
Läs merNORMALISERING. Mahmud Al Hakim
NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas
Läs merDatabaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg
Databaser och Informationssystem 15 hp IK1008 Föreläsning 8 SQL, utsökningar mot flera tabeller Övningsuppgifter STUDENT TENTA KURS # studnr * fnamn * enamn o regdatum # radnr (#) studnr (#) kursnr * tentadatum
Läs merSökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering
Läs merExempel-Tentamen III
Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Exempel-Tentamen III Inga hjälpmedel tillåtna (syntaxsammanställning behövs inte på denna tentamen) Skriv bara på en sida av
Läs merDatabaser och. SQL, utsökningar mot en tabell
Databaser och Informationssystem 5 hp IK008 Föreläsning 7 SQL, utsökningar mot en tabell Övningsuppgifter Övningstabell SQL> desc personal Name Null? Type ------------------------------------- --------
Läs merDatabasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner
Databasföreläsning Del 2 lagrade procedurer, vyer och transaktioner Lagrade procedurer (Stored procedures) En stored procedure är en procedur (funktion) lagrad i en databas, och exekveras direkt på databasservern
Läs merAlgoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet
Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter
Läs merStructured query language (SQL)
Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser
Läs merDesign och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Läs merStructured Query Language (SQL)
Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning
Läs merFöreläsning 4 Dagens föreläsning går igenom
Databasbaserad publicering Föreläsning 4 1 Föreläsning 4 Dagens föreläsning går igenom E/R-modellen, fortsättning Frågor till flera tabeller samtidigt Många-till-många-relationer Läs om E/R-diagram i kapitel
Läs merTentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag
Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Inga hjälpmedel är tillåtna (annat än ordbok). Kort syntaxsamling för delar av SQL samt lista med symboler för relationsalgebraiska
Läs merLaboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht...
Page 1 of 5 Laboration SQL Syfte: Under denna laboration skall du bekanta dig med SQL. När laborationen är genomförd skall du klara av att själv formulera enklare SQL-frågor för att kunna ta fram information
Läs merDatabaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:
Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel
Läs mer1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias
FÖ 9: Databaskursen 1. SQL 2. Utsökningar mot flera tabeller 3. Nästlad sökning eller sub queries 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias 8. Distincti 9. Group by 10. Having 11. In
Läs merDatalager och datautvinning
Datalager och datautvinning 1 Datalager och datautvinning! Databaser kan innehålla stora mängder information om ett företags eller en organisations verksamhet" Data kan också användas för att analysera
Läs merLabb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...
Läs merDatastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 AVL-träd 1 2 5 2 0 4 1 8 3 2 1 11 1 7 Lecture 6 2 Insättning i AVL-träd Sätt först in det nya elementet på samma sätt som i ett vanligt BST! Det nya trädet kan bli
Läs merTentamen plus lösningsförslag
Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje
Läs merTentamen Datastrukturer D DAT 036/INN960
Tentamen Datastrukturer D DAT 036/INN960 18 december 2009 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. Betygsgränser, CTH: 3 = 24 p, 4 = 36 p, 5 = 48 p, GU:
Läs merTENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor
TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,
Läs mer