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, repetition ) Om Lab Dagens föreläsning En SQL-fråga som beräknar portföljvärde och orealiserad vinst skall inte innehålla - Where Aktie=ABB or Aktie=ERIC-B - Where Date=20 oktober - Det räcker inte med en SQL-fråga som plockar fram rätt tabell Man kan kolla sina bonuspoäng (och avklarade delmoment) på: https://rapp.csc.kth.se/ Repetition: Kokboken Tips från Assistenterna Skriva tabeller mer kompakt Olika sorters attribut (nyckel/referens) Svaga Entiteter (igen) Att välja datatyp till attribut (text eller siffror?) Importera/Exportera till/från Calc (Excel) Förberedelser för Lab2 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell amn Postr r Typ r amn Invr u: Övningsexempel Fråga: Tabell () eller kolumn (2)?
02/2/4 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell amn Postr r Typ r amn Invr Fråga: Tabell () eller kolumn (2)? De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell Prio Typ bestånd bestånd AvTyp De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell Prio Typ bestånd bestånd AvTyp 2
02/2/4 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell Prio Typ bestånd bestånd AvTyp De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell Prio Typ bestånd AvTyp Inflyttningsdatum bestånd De Stegen (Kokbok) SSSB: Attribut. Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell Antal amn Typ amn Postr r r Invr Fråga: Tabell () eller kolumn (2)? Vy 3
02/2/4 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Subklass i arv får egen tabell amn amn Typ Postr r r Invr Fråga: Tabell () eller kolumn (2)? De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell amn amn Typ Postr r r Invr Fråga: Tabell () eller kolumn (2)? De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Prio Typ bestånd bestånd AvTyp 4
02/2/4 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Prio Typ bestånd bestånd AvTyp De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Prio Typ bestånd bestånd AvTyp De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Prio Typ bestånd AvTyp Inflyttningsdatum bestånd 5
02/2/4 De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Antal amn Postr r Typ r amn Invr Fråga: Tabell () eller kolumn (2)? Vy De Stegen (Kokbok). Varje vanlig entitetstyp blir tabell 2. :-samband blir kolumn (referensattribut) i -tabellen 3. :-samband blir kolumn i någon 4. :M-samband blir egen tabell 0. Härledda attribut blir inte tabell. Arv, Subklass blir egen tabell Bil Regr Modell Ägare abc23 BMW 8300-0000 def00 Volvo 8300-0000 Skriva tabeller mer kompakt Hur beskriver vi en databasstruktur om ni inte vill rita tabellerna? - Bil (Regr, Modell, Ägare) - Person (, amn, ) Person amn 9300-0000 Kalle 070-000000 8300-0000 Lisa 073-000000 amn Postr r Typ r amn Invr Gör om till databasstruktur! Prio Gör om till Databasstruktur! Typ bestånd AvTyp Inflyttningsdatum bestånd 6
02/2/4 Arv mellan entiteter Arv mellan entiteter En entitet kan vara en specialisering av en annan Ritas med halvmåne på strecket Exempel - Chafför är en speciell sorts Anställd - Konsult, barnmorska Lön Anställd C rkortstyp r Chaufför Lastbil Varje subklass får egen tabell, superklassens primärnyckel, kolumner är de extra attribut och samband som tillkommer Anställd amn Lön 880000 Kalle 0000 990000 Lisa 0000 Chafför rkort r 770000 ABCD ABC23 990000 AB CCC23 rkortstyp Chaufför Lön amn Anställd C Lastbil r Dagens föreläsning Från assistenterna: Repetition: Kokboken Skriva tabeller mer kompakt Tips från Assistenterna Olika sorters attribut (nyckel/referens) Svaga Entiteter (igen) Att välja datatyp till attribut (text eller siffror?) Importera/Exportera till/från Calc (Excel) Förberedelser för Lab2 Inför Ö3 - Skriv gärna ut (eller kolla igenom) uppgiftslydelsen för Övning 3 innan själva övningen Svaga entitetstyper (igen) Attribut i ER-modellen Kan inte existera utan annan entitet Dubbelsträck överallt - Entitet (svag) - Sambandet (identifierande) - Fullständigt deltagande ummer Pris (ummer, Pris) Rum(Lägenhetr, amn, Yta) Yta Tillhör amn Yta Rum Regr Attribut är lite olika i ER-modellen och tabeller L amn Modell Bil Äger Person Primärnyckel för Rum blir Lägenhetsr (från andra entiteten) & amn (partiell nyckel) 7
02/2/4 Attribut i tabellerna Mer om Attribut i tabellerna Regr Attribut: kolumnerna i tabeller Exempel - Person(, amn, ) - Bil(Regr,Modell,Ägare) Bil Modell Äger ER-modell-samband kan alltså bli tabell-attribut amn Person Attribut: kolumnerna i tabeller Exempel ER-modell-samband kan - (, ) alltså bli tabell-attribut - Bostadskö (,Typ,) Understruken - Primärnyckel - Unikt värde - Kallas även I-term (identifierar, i gamla tentor) - Kan vara flera Inte understruken - Kallas även E-term (egenskap, i gamla tentor) Referensattribut ett attribut som refererar till (primärnyckel i) annan tabell Men hur refererar man till en kombinerad primärnyckel? Referera till fler kolumner? Exempel: Referera till Kombinerad primärnyckel Exempel - (, ) - Bostadskö (,Typ,) Hur refererar man till - Bostadskö (,Typ,)? (ummer, Pris) Rum(Lägenhetr, amn) (nr, Lägenhetr, amn) - Alt: Ha 3 kolumner i tabellen som skall referera - Alt2: Skapa ny primärnyckel: Pris Yta amn Bostadskö (ObjektsID,,Typ,) - (Rätt för båda på tentan) ummer Tillhör Rum Flervärt Attribut får egen tabell, med kombinerad primärnyckel Att välja datatyper till Attribut Hur ser vi till att man inte skriver data i fel ruta? - Personr i amn-rutan? Till varje attribut kan vi styra vad som accepteras (datatyp) jmf Excel Alternativ - Varchar (text) - Integer (,2,3, ) - Float (3.2476, 9843255, ) - Date (3/-203) - Time (23:04) - Timestamp (3/-203 23:04) Enter queson text... Alternativ. Varchar (text) 2. Integer (,2,3, ) 3. Float (3.2476, 9843255, ) 4. Date (3/-203) 5. Time (23:04) 6. Timestamp (3/-203 23:04) Vilket alternativ passar för Medlemsr? Bilregistreringsnr? Tidpunkt för aktiekurs Födelsedag Förmögenhet Badkarsvolym 2 6 4 2 eller 3 2 eller 3 8
02/2/4 Att välja datatyper till Attribut Alternativ. Varchar (text) 2. Integer (,2,3, ) 3. Float (3.2476, 9843255, ) 4. Date (3/-203) 5. Time (23:04) 6. Timestamp (3/-203 23:04) Vilket alternativ passar för Medlemsr? Bilregistreringsnr? Tidpunkt för aktiekurs Födelsedag Förmögenhet Badkarsvolym 2 6 4 2 eller 3 2 eller 3 Att välja datatyper till Attribut Alternativ - Varchar (text) - Integer (,2,3, ) - Float (3.2476, 9843255, ) - Date, time, timestamp 4 Kriterier Få med alla möjliga värden Stötta data-integritet (rätt data i databasen) Stödja datamanipulering (de SQL-frågor man vill ställa) Ta lite plats på hårddisken (ofta inte så viktigt) Skapa databas Importera och Exportera till Calc (Excel) Se kurswebben Videomaterial Create a table... # (youtube) Create a table #2 (youtube) Se kurswebben Videomaterial Import data from Calc-file (jmf Excel-fil) #3 (youtube) Create a table using a Calc-file #4 (youtube) Export data to Calc-file #5 (youtube) Förberedelse för Lab2 Lab2: Företaget i jobbar på ett företag Alla använder Excel i skall övertyga chefen om nyttan med en databas Uppgift: - Gör ER-modell u! - Övergång till Databasstruktur - Skapa Databas - Importera riktiga data från Excel - Skapa exempelfrågor i SQL - Sälj in till chefen (spelad av lab-assen) Stallet Gyllene Gnägget - 2000 Ryttare amn, Medlr - 500 Hästar amn, Timpriser - Tävlingar amn Anmälda, har betalt, placering otera: Er ER-modell skall vara större än denna 9
02/2/4 Entiteter och Attribut Samband Placering Har betalt Medlr amn Ryttare HästId Hästar Timpris Tävlingar amn Medlr amn Ryttare HästId Anmälda Timpris Hästar Tävlingar amn amn amn Förberedelse för Lab2 Slut i jobbar på ett företag Alla använder Excel i skall övertyga chefen om nyttan med en databas Uppgift: - Gör ER-modell - Övergång till Databasstruktur - Skapa Databas - Importera riktiga data från Excel - Skapa exempelfrågor i SQL - Sälj in till chefen (spelad av lab-assen) 0