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



Relevanta dokument
Idag. Exempel. Exempel modellen (1) Exempel...

Lösningsförslag till tentamen för 1E1601

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

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

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

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

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

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Tentamen i Databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

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

Idag. 1. En enkel databas. 2. Prata med databaser (frågepsråket SQL)

Tentamen i. Databasteknik

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Idag. Hur vet vi att vår databas är tillräckligt bra?

Lösningsförslag till. tentamen för 1E1601

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

Tentamen för DD1370 Databasteknik och informationssystem

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

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

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

Tentamen för DD1370 Databasteknik och informationssystem

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

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

Tentamen i Databasteknik

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

Övningar i SQL. SQLAccess.doc Ove Lundgren

STUDENTBOSTÄDER RAPPORT BASERAD PÅ BOSTADSFÖRMEDLINGENS DATA OM FÖRMEDLADE STUDENTBOSTÄDER

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

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

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?

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

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?

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

Databaser och. SQL, utsökningar mot en tabell

Lösningsförslag till Exempel tentamen

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

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

Extrem bostadsbrist bland Stockholms studenter

Databaser. Vad du ska lära dig: Ordlista

Det bekväma livet mitt i Kävlinge Bonum Brf Kilen. Valfoldern innehåller information om hur du väljer lägenhet.

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

Professorsgatan 9B. Malmö, Söder, Nydala

BOSTADSFÖRMEDLINGEN SÅ GÅR DET TILL

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Information om trygghetstelefon

BOSTADSFÖRMEDLINGEN SÅ GÅR DET TILL

Databaser - Design och programmering

ANVÄNDARMANUAL HSB HYRESRÄTTER HSB PORTALEN

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

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

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

Grunderna i SQL del 1

Stad och hav i samma andetag. Brf Oceankajen. Följande sidor innehåller information om hur du väljer lägenhet.

BOSTADSFÖRMEDLINGEN SÅ GÅR DET TILL

Docentgatan 7A. Malmö, Söder, Hermodsdal

HSB BRF LAESTADIUSPARKEN LUGNA GATAN MITT I CENTRUM

Dagens föreläsning. KTH & SU, CSC Databasteknik Föreläsning 10 sid 1

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

732G16: Databaser - Design och programmering

1. Bestäm vilken typ av bostad du är ute efter. 2. Lägg ut en "sökes"-annons i relevanta medier. Skriv på sociala medier. Lägg ut en annons på Blocket

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Davidshallsgatan 10. Malmö, Norr, Davidshall

Ett hem att längta till Nytt läge i Sigtuna. Bonum Brf Trollberget Följande sidor innehåller information om hur du väljer lägenhet.

Bo på Alnarp - ett levande campus

Förbered dig gärna inför besöket hos NyföretagarCentrum genom att skriva ut och fylla i nedanstående affärsplan! Personnummer:. Adress:..

Rörsjögatan 18. Malmö, Norr, Gamla Staden

Sample exam questions. Database exam TIG058

BRF Sadelmakaren 1 - Hyresavtal

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

STUDBOGUIDEN. En genomgång av studentbostadssituationen på landets största studiorter

Seniorkön. . Bollmora Allé Kumla Allé 7. Bollmoravägen 28 D. Tyresö Bostäder tar över seniorkön. Kön blir webbaserad.

GIS, databasteknik och kartografi. Databasmodellering

An English version of the questions is found at the back of each page.

Timjanstigen 5. Lomma, Bjärred

Mäster Johansgatan 4D. Malmö, Norr, Gamla Staden

BOSTADSFÖRMEDLINGEN HJÄLPER DIG ATT HITTA NYTT HEM

Att tänka på när du beställer transporter till ( )

Boplats Syd Maj 2011 VÄLKOMMEN TILL BOPLATS SYD. den kommunala bostadsförmedlingen

Fridhem. Information om uthyrningsprocessen för kvarteret Fridhem

Hyresavtal för andrahandsuthyrning

TRYGGT & ENKELT. Hyr en bostad i andra hand. bostaddirekt.com

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Transkript:

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 reda på, de s.k. objektklasserna. Ofta kan man utgå från en problembeskrivning, t.ex. (gammal tentauppg från en annan kurs): Nya studentbostäder AB hyr ut rum och lägenheter till studenter.för att effektivisera verksamheten vill man skapa ett datoriserat register över studenter som står i kö för bostad, studenter som har bostad, bostäder, inventarier i lägenheterna och studiestatus hos både boende och de som står i kö. Man förmedlar både möblerade och omöblerade rum och lägenheter. Man har en speciell kö för de studenter som av olika skäl skall ha förtur till bostad. För att få stå i förturskön krävs att man har intyg som verifierar de skäl man uppgivit som grund för förtur. DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 1 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 2 / 31 Exempel... Exempel modellen (1) De uppgifter man vill ha tillgång till är: ens namn, adress, telefon (alla tänkbara), personnummer, föräldrarnas namn och adress, utbildningslinje, antal lästa poäng termin för termin, namn på studentens högskola, utbildningens längd och kontraktsperiod. Varje lägenhets adress, yta, hyra och inventarieförteckning, som ska stämma med standarden för lägenhetstypen. Samtliga boenden i en lägenhet (varje studerande som innehar kontrakt). För forskarstuderande vill man veta institution och handledarens namn samt handledarens telefonnummer. För de som köar vill man registrera önskemål om bostadsområde, lägenhetsstorlek, om man vill bo i flerpersonsbostad o.s.v. För de som köar med förtur vill man, förutom de uppgifter som man vill ha om alla köanden, veta de skäl som berättigar till särbehandling. DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 3 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 4 / 31

Exempel modellen (2) Exempel modellen (3) bestånd Nr styp styp DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 5 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 6 / 31 Exempel modellen (4) Exempel modellen (5) bestånd bestånd Nr Nr styp styp DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 7 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 8 / 31

Exempel modellen (6) Exempel modellen (7) bestånd bestånd Nr Nr styp styp Datum Studiemerit Datum DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 9 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 10 / 31 Exempel modellen (8) Exempel egenskapsmatrisen (objektklasser) bestånd Typ Namn I-termer E-termer Nr styp Obj Tfn Pnr Namn, Adress ONamn Ort Hnr Adress LghNr Yta, Hyra styp TypNr AntRum, Status INr Beskrivning Datum Datum Studiemerit Datum StandardInv DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 11 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 12 / 31

Exempel egenskapsmatrisen (sambandsklasser) Exempel modell dbstruktur Typ Namn I-termer E-termer Samb ONamn, TypNr, Pnr StartDatum Prio ONamn, TypNr, Pnr StartDatum Studiemerit Pnr, Datum KursBeteckn, Poäng Pnr, LghNr, Datum TillDatum Bestånd ONamn, Hnr LghNr, TypNr StandardInv TypNr, INr Antal LghNr, Hnr LghNr, INr Antal, Datum Följer kokboken: a. Objektklass med e-termer bildar en tabell: (Pnr, Namn, Adress) (ONamn, Ort) (Hnr, Adress) (LghNr, Yta, Hyra) styp (TypNr, AntRum, Status) (INr, Beskrivning) DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 13 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 14 / 31 Exempel modell dbstruktur Exempel modell dbstruktur b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell (Pnr, Namn, Adress) styp (ONamn, Ort) (Hnr, Adress) (LghNr, Yta, Hyra) (TypNr, AntRum, Status) (INr, Beskrivning) (Tfn) c. En sambandsklass av högre ordning än 2 bildar en tabell (Pnr, Namn, Adress) (ONamn, Ort) (Hnr, Adress) (LghNr, Yta, Hyra) styp (TypNr, AntRum, Status) (INr, Beskrivning) (Tfn) (ONamn, TypNr, Pnr, StartDatum) Prio (ONamn, TypNr, Pnr, StartDatum) (Pnr, LghNr, Datum, TillDatum) DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 15 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 16 / 31

Exempel modell dbstruktur d. En M:N-sambandsklass bildar en tabell (Pnr, Namn, Adress) styp Prio Studiemerit StandardInv (ONamn, Ort) (Hnr, Adress) (LghNr, Yta, Hyra) (TypNr, AntRum, Status) (INr, Beskrivning) (Tfn) (ONamn, TypNr, Pnr, StartDatum) (ONamn, TypNr, Pnr, StartDatum) (Pnr, LghNr, Datum, TillDatum) (Pnr, Datum, KursBeteckn, Poäng) (TypNr, INr, Antal) (LghNr, INr, Antal, Datum) Exempel modell dbstruktur e. En 1:N-sambandsklass försvinner men 1-sidans i-term... (Pnr, Namn, Adress) (ONamn, Ort) (Hnr, Adress, ONamn) (LghNr, Yta, Hyra, Hnr, TypNr) styp (TypNr, AntRum, Status) (INr, Beskrivning) (Tfn, Pnr) (ONamn, TypNr, Pnr, StartDatum) Prio (ONamn, TypNr, Pnr, StartDatum) (Pnr, LghNr, Datum, TillDatum) Studiemerit (Pnr, Datum, KursBeteckn, Poäng) StandardInv (TypNr, INr, Antal) (LghNr, INr, Antal, Datum) DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 17 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 18 / 31 Exempel utelämnade uppgifter, diskussion Exempel kontroll av resultatet I modellen fattas uppgifter om föräldrarnas namn och adress, utbildningslinje, namn på studentens högskola, utbildningens längd och för forskarstuderande: institution samt handledarens namn och telefonnummer. Eftersom jag byter ordning på föreläsningarna kommer det senare DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 19 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 20 / 31

Här är det bättre att ställa frågor mot varuhusdatabasen (som ju existerar) Vara Avdelning Anställd Leverantör Lager Försäljning (varunr, typ) (avd, våning) (namn, lön, chef, avd) (företag, adress) (företag, avd, varunr, volym) (avd, varunr, volym) Vad är genomsnittslönen för alla anställda? Det räcker att betrakta tabellen anställd SELECT AVG(lön) FROM anställd; DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 21 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 22 / 31 Vilka anställda arbetar på leksaksavdelningen? Det räcker att betrakta tabellen anställd SELECT namn FROM anställd WHERE avd = leksaker ; Vilka varor finns till försäljning på andra våningen? Man måste titta både i försäljning och i avdelning och matcha avd i de båda tabellerna mot varandra. Välj naturlig join SELECT varunr FROM försäljning NATURAL JOIN avdelning WHERE våning = 2; eller vanlig join: SELECT F.varunr FROM försäljning F, avdelning A WHERE F.avd = A.avd AND A.våning = 2; DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 23 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 24 / 31

Vilka varor säljs inte av någon avdelning på andra våningen? Vi kan faktiskt använda oss av resultatet från förra frågan och ta alla varor minus de vi fick fram då SELECT varunr FROM vara WHERE varunr NOT IN (SELECT varunr FROM försäljning NATURAL JOIN avdelning WHERE våning = 2); Vilka varor säljs av minst två avdelningar på andra våningen? Om vi har en tabell med alla varor och avdelningar på vån 2 så kan vi titta två gånger i den. Steg 1: CREATE VIEW avdvån2 AS SELECT avd, varunr FROM försäljning NATURAL JOIN avdelning WHERE våning = 2; Steg 2: SELECT DISTINCT A.varunr FROM avdvån2 A, avdvån2 B WHERE A.varunr = B.varunr AND A.avd <> B.avd; DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 25 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 26 / 31 Hur mycket tjänar Andersson L s chef? Det räcker att betrakta tabellen anställd två gånger, en gång för att hitta chefen och sedan en gång för chefens lön SELECT lön FROM anställd WHERE namn = (SELECT chef FROM anställd WHERE namn = Andersson L ); Vilka företag levererar varor till mer än en våning? Vi måste titta både i lager, där vi hittar företag, och i avdelning, där vi hittar våningsplan. Om vi sedan grupperar över företag och räknar våningsplan kan vi kanske hitta någon. Steg 1: CREATE VIEW fv AS SELECT företag, COUNT(DISTINCT våning) as antal FROM lager NATURAL JOIN avdelning GROUP BY företag; Steg 2: SELECT företag FROM fv WHERE antal > 1; eller, i ett steg: SELECT företag FROM lager NATURAL JOIN avdelning GROUP BY företag HAVING COUNT(DISTINCT våning) > 1; DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 27 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 28 / 31

Vilka företag levererar mer än en typ av vara till någon avdelning på 3:e våningen, och hur många typer då? Vi måste titta i tre tabeller samtidigt. I lager hittar vi företag, varunr och avdelningar. I avdelning hittar vi våningsplan för avdelningarna och i vara hittar vi varutyper. SELECT företag FROM lager NATURAL JOIN avdelning NATURAL JOIN vara WHERE våning=3 GROUP BY företag HAVING COUNT(DISTINCT typ) > 1 Vilka företag levererar pennor? Vi måste titta i både lager och vara och matcha varunr i båda tabellerna mot varandra SELECT företag FROM lager NATURAL JOIN vara WHERE typ = penna ; DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 29 / 31 DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 30 / 31 Vilka anställda tjänar mer än alla på skoavdelningen? Det räcker att titta i tabellen anställd två gånger SELECT namn FROM anställd WHERE lön > ALL (SELECT lön FROM anställd WHERE avd= skor ); DD1370 (Föreläsning 6) Databasteknik och informationssystem 7,5 hp Hösten 2008 31 / 31