16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning

Relevanta dokument
02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)

Tentamen för DD1370 Databasteknik och informationssystem

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

Tentamen för DD1370 Databasteknik och informationssystem

Introduktion till frågespråket SQL (v0.91)

13/11/14. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Vad är en Databas?

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas?

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

Tentamen för DD1370 Databasteknik och informationssystem

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Övningar i SQL. SQLAccess.doc Ove Lundgren

16/11/14. Databasteknik och informationssystem DD1370. Information. Dagens föreläsning: ERmodeller Dagens föreläsning. Påminnelse: Kursens mål

11/11/13. Databasteknik och informationssystem DD1370. Dagens föreläsning. Dagens föreläsning: ERmodeller Jmf: Relationer i Base

Databaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

Laboration SQL. Kom igång.

Föreläsning 4 Dagens föreläsning går igenom

Thomas Padron-Mccarthy. Databasteknik, 7.5 hp (DT105G ) Antal svarande = 13. Svarsfrekvens i procent = 21. Undersökningsresultat

1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias

Grunderna i SQL del 1

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Tentamen för 1E1601. Måndag 10 mars 2003, kl Alla hjälpmedel tillåtna

Tentamen i Databasteknik

Databaser. Vad du ska lära dig: Ordlista

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Exempel-Tentamen III

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Idag. Exempel. Exempel modellen (1) Exempel...

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Databaser och. SQL, utsökningar mot en tabell

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

FÖ: MVE045, Riemann integral, tekniker Zoran Konkoli, HT 2018

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

Structured query language (SQL)

Databasutveckling Introduktion till SQL och TSQL

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Användarhandledning för SQL- och fönsterfilter

Datalager och datautvinning

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Sid 1 (9) Tillämpad fysik och elektronik Karin Fahlquist. Laboration: Databasdesign & SQL

WCMS-15, Webbutvecklare CMS

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Tentamen i Databasteknik

3. Dynamiska webbplatser, 20 Yhp (4 v)

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Vad är SQL? Introduktion till SQL

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Övning 5. Flygbulleranalys

Structured Query Language (SQL)

Kursanalys. Douglas Wikström 15 juni Problemlösning och programmering under press (DD2458) Högskolepoäng (hp): 9 Kursen gavs: Period 1-2, 2008

Introduktion till MySQL

VAD GÖR DU / VEM ÄR DU?

KURSUTVÄRDERING MATEMATIK I: 5B1115

KURSPROGRAM MODELLERING AV DYNAMISKA SYSTEM, 5hp, period 4

Sample exam questions. Database exam TIG058

Lösningar till tentamen i EDAF75

Labb LABB 15. XML användande i praktiken. Plushögskolan Frågeutveckling inom MSSQL - SU14

Introduktion MySQL och MariaDB

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

SQL del 2. Christer Stuxberg Institutionen för Informatik och Media

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Sammanställning kursvärdering

Föreläsningar Lektioner Laborationer Projekt Tentamina Inlämningsuppgifter Seminarier Annat. D-sektionen IT

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Sammanställning av Kursvärdering Material och Design (CBGB04) Hållfasthetslära Lärare: Nils Hallbäck

Inga hjälpmedel är tillåtna

Starta MySQL Query Browser

2016 GyVUX elev Gymnasial

Jonas Detterfelt Siv Söderlund Johan Högdahl Weine Olovsson Magnus Johansson. Föreläsningar Lektioner Laborationer Projekt

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Tentamen i Databasteknik

Databaser och Datamodellering Foreläsning IV

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar:

Laborationer - databaser, EDAA20 Programmering och databaser

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Bakgrundsinformation Kursens namn: Biomedicinsk laboratorievetenskap: Introduktion

1.Lär känna MS SQL Observera. Tips. Förberedelse

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

1DV423 Databas med Administration

Guide till IceTest. Före tävling. Före, under och efter tävling

Transkript:

Dagens föreläsning (den sista!) Databasteknik och informationssystem DD1370 Allmän information Information om tentan Repetition - Från text till SQL-fråga Föreläsning 8 (info om tentan och repetition) Idag: Inga knappar L Vill gå lite mer på djupet Dock - Om ni vill föreslå användandet av mentometerknappar i någon annan kurs kan ni Säga att de går att låna av Mikael Cronhjort (pedagogisk utvecklare, mikaelc@kth.se) Föreslå ett smartphone-alternativ (t.ex. Viewpipe.com) Även: Kursenkäten kommer att dyka upp på kurswebben, tillsamman med en kursanalys över hur kursen skall förbättras till nästa år Motivera med kokbok! är ni löser - ER-modell à Databasstruktur - Databasstruktur à ER-modell Motivera era val genom att referera till vad Kokboks-regeln säger Antingen - Regel 4: :M-samband bildar egen tabell - Regel: :M-samband bildar egen tabell i måste inte skriva regelnumret i måste skriva hur regeln lyder Annars är det svårt att veta om fel beror på missuppfattningar eller misstag Dagens föreläsning Information om Tentan Allmän information Information om tentan Repetition - Text à SQL Tidigare tentor, inklusive betygsgränser, finns på kurswebben otera: Inga hjälpmedel tillåtna Avsikt: Förstår man föreläsningsanteckningar, kompendier, övningar, labbar och inlämningsuppgifter så har man mycket goda chanser att klara tentan. 1

Information om Tentan Dagens föreläsning Viktiga kursmoment som förmodligen kommer: Problem-text à ER-modell ER-modell à Databasstruktur Databasstruktur à Databas (t.ex. datatyper) Problem-text à SQL Databasstruktur à ER-modell Allmänt om Databaser, Excel och beslutsstöd (F1,F7) Allmän information Information om tentan Repetition - Text à SQL Kombinera tabeller: Alla möjliga rad-kombinationer Kombinera tabeller: Alla möjliga rad-kombinationer Select * from Siffra, Bokstav Kolumn 1 Kolumn 2 Kolumn 1 Kolumn 2 1 11 A Aa 1 11 B Bb 1 11 C Cc 2 22 A Aa 2 22 B Bb 2 22 C Cc Bokstav Kolumn 1 Kolumn 2 A Aa B Bb C Cc Siffra Kolumn 1 Kolumn 2 1 11 2 22 Select * from Siffra, Bokstav Where Siffra. Kolumn 1 = Bokstav. Kolumn 2 Bokstav Kolumn 1 Kolumn 2 A 1 B 2 Kolumn 1 Kolumn 2 Kolumn 1 Kolumn 2 C 3 1 11 A 1 1 11 B 2 Siffra 1 11 C 3 Kolumn 1 Kolumn 2 2 22 A 1 1 11 2 22 B 2 2 22 2 22 C 3 ya tabellen har *M rader om resp M rader från början. Här 2*3=6 rader. SQL-frågor (step by step) Idag: Stallet Gyllene Gnägget Steg för att skiva SQL-frågor 1. Förstå Databasstrukturen 1. Vilka tabeller finns 2. Vilka attribut finns 3. Hur sitter tabellerna ihop (samband?) 2. Förstå vad som söks 1. Behövs info från en eller flera tabeller? 3. Hitta SQL-kommandon som plockar fram rätt info 1. Leta i SQL-kommandon som ingår i kursen 4. Kombinera ihop ovanstående TävlingsId, Har betalt, Placering) Medlr Ryttare HästId Placering Hästar Har betalt Anmälda Timpris Tävlingar 2

Databasstruktur otera: samma information i 3 olika former TävlingsId, Har betalt, Placering) Medlr Ryttare HästId Placering Hästar Anmälda Timpris Har betalt ER-modell Relations i Base Tävlingar Kan man kombinera tabellinfo hur som helst? Ja, notera att man kan skriva frågor som kombinerar lite hur som helst - T.ex. Hitta hästar och ryttare med samma namn Ofta är det dock via sambanden (här: Anmälda) som man vill kombinera tabeller - T.ex. Vilka häst-ryttarekombinationer som vunnit mest etc SQL-frågor (step by step) Steg för att skiva SQL-frågor 1. Förstå Databasstrukturen 1. Vilka tabeller finns 2. Vilka attribut finns 3. Hur sitter tabellerna ihop (samband?) 2. Förstå vad som söks 1. Behövs info från en eller flera tabeller? 3. Hitta SQL-kommandon som plockar fram rätt info 1. Leta i SQL-kommandon som ingår i kursen 4. Kombinera ihop ovanstående Anmälda(Ryttare, Hästar, Tävlingar, Har betalt, Placering) Uppgift: Vilka Hästar (HästID) har hamnat på prispallen? Uppgift: Vilka Hästar (HästID) har hamnat på prispallen? 3

Uppgift: Vilka Hästar (HästID) har hamnat på prispallen? Select HästId from Anmälda where Placering < 4 Uppgift: Vilka Hästar () har hamnat på prispallen? All info finns i tabellerna Anmälda och Hästar Vi måste klistra ihop (join) dessa två för att koppla placering till namn Uppgift: Vilka Hästar () har hamnat på prispallen? Join on (alt2) Join on Uppgift: Vilka Hästar () har hamnat på prispallen? Uppgift: Vilka Hästar () har hamnat på prispallen? Select HästId from Anmälda where Placering < 4 (förra) Select from Anmälda join Hästar on Anmälda. HästId = Hästar. HästId where Placering < 4 Select HästId from Anmälda where Placering < 4 (ger bara HästId) Select from Hästar where HästId in (Select HästId from Anmälda where Placering < 4) 4

Uppgift: Hur mycket har de olika hästarna tävlat? Vi måste räkna förekomsten av varje häst TävlingsId, Har betalt, Placering) Count( ) Group by TävlingsId, Har betalt, Placering) Count( ) Group by Uppgift: Hur mycket har de olika hästarna tävlat? Uppgift: Hur mycket har de olika hästarna tävlat? Select HästId, count(*) from Anmälda group by HästId TävlingsId, Har betalt, Placering) Count( ) Group by Hur mycket har de olika ryttarna tävlat? Select HästId, count(*) from Anmälda group by HästId (förra) Select Medlr, count(*) from Anmälda group by Medlr 5

Steg4: (nu vill vi ha namnen!) Hur mycket har de olika ryttarna (namn) tävlat? TävlingsId, Har betalt, Placering) Hur mycket har de olika ryttarna (namn) tävlat? Count( ) Group by join on SELECT Medlr, COUT(*) FROM Anmälda GROUP BY Medlr SELECT "Ryttare"."", COUT( * ) FROM "Anmälda" JOI "Ryttare" O "Anmälda"."Medlr" = "Ryttare"."Medlr" GROUP BY "Ryttare"."" Snittplacering för Ryttare? Häst? Par av Ryttare&Häst? Uppgift: Beräkna snittplacering för hästarna. Ändra namnet på den beräknade kolumnen till snittplacering Vi måste räkna räkna ut snittet för varje häst Och byta namn på den nya kolumnen Select as from where avg( ) Group by Uppgift: Beräkna snittplacering för hästarna. Ändra namnet på den beräknade kolumnen till snittplacering Select as from where Avg( ) Group by Uppgift: Beräkna snittplacering för hästarna. Ändra namnet på den beräknade kolumnen till snittplacering Select HästID, avg(placering) as snittplacering from Anmälda group by HästID 6

För par av Ryttare&Häst Select as from where Avg( ) Group by Uppgift: Beräkna snittplacering för par av häst & ryttare. Ändra namnet på den beräknade kolumnen till snittplacering Snittplacering för Ryttare? Häst? Par av Ryttare&Häst Select Medlr, HästID, avg(placering) as snittplacering from Anmälda group by HästID, Medlr Vi måste hitta rader som är FALSE eller inte ifyllda Is ULL = FALSE and, or Uppgift: Lista de Ryttare (Medlr) som inte har betalt sina tävlingar Uppgift: Lista de Ryttare (Medlr) som inte har betalt sina tävlingar Anmälda(Ryttare, Hästar, Tävlingar, Har betalt, Placering) Uppgift: Lista de Ryttare (Medlr) som inte har betalt sina tävlingar Is ULL = FALSE and, or select Ryttare from "Anmälda" where "Har betalt" is ULL or "Har betalt"='false' Skapa en sorterad topplista (flest segrar) över Ryttare-Häst-par T.ex. Både Kalle oc Lisa har vunnit VM 7

Steg3: Hitta SQL kommandon Uppgift: Har någon (Medlr) rapporterat samma placering i samma Vi vill hitta rader som har samma Tävlingar och Placering men olika Ryttare Vi vill kunna jämföra tabellen med sig själv Vi joinar tabellen med sig själv! (lite klurigt ) Uppgift: Har någon rapporterat samma placering i samma tävling (alltså anmält fel)? Select from join on Uppgift: Har någon rapporterat samma placering i samma tävling (alltså anmält fel)? SELECT "Anmälda". Medlr", "Anmälda". TävlingsId", "Anmälda"."Placering" FROM "Anmälda JOI "Anmälda" AS "Anmälda2" O "Anmälda"."TävlingsId" = "Anmälda2"."TävlingsId" AD "Anmälda"."Placering" = "Anmälda2"."Placering" AD "Anmälda". Medlr" <> "Anmälda2". Medlr" Skapa en sorterad topplista (flest segrar) över Ryttare-Häst-par, med namn på både häst och ryttare Direkt på Slut. Uppgift: Skapa en sorterad topplista (flest segrar) över Ryttare-Häst-par, med namn på både häst och ryttare SELECT Ryttare". ", Hästar". ", count(*) FROM Ryttare, Hästar,"Anmälda" WHERE Ryttare. Medlr = Anmälda. Medlr AD Hästar. HästId = Anmälda. HästId and Placering =1 GROUP BY Ryttare., Hästar. ORDER BY count(*) DESC Lycka till på tentan! 8