25//4 Påminnelse inför Lab redovisningen Databasteknik och informationssystem DD370 Föreläsning 5: ER-modellenà Databas Påminnelse: Kursens mål. Förklara ett databashanteringssystems funktioner och uppbyggnad 2. Använda frågespråk för att formulera frågor 3. era och strukturera data utgående från en given problemställning 4. Använda ett enkelt beslutsstödssystem. Skriv ut labbkvitto (så att ni kan visa att ni är godkända, se kursweb) Ställer i kö för redovisning eller hjälp (SIMA, se kursweb) Spara SQL-kommandon i separat textfil (inte word) I pausen kan ni hämta inloggningsuppgifter till datorsalen. Missar man föreläsningen kan man gå till IT-supporten i Kårhuset Repetition: ER modellering (gammalt + nytt) ER-modellen - Entiteter Svaga entiteter (nytt) Arv mellan entiteter (nytt) - Samband :, :, :M Fullständigt deltagande 3: ER-modellen : Tabeller Flervägs-samband - Attribut yckelattribut Härledda attribut Dagens föreläsning Flervärda attribut (nytt) Sammansatta attribut (nytt) Förra föreläsningen och idag 2: SQL-frågor Först gammalt ER-modellen ER-modellen (Relationships) ER står för Entitiy-Relationship Entities (entiteter-saker) Relationships (samband) (Attribut) Tre sorter - : (ett till ett) Kör - : (ett till många) amn Regr - M: (många till många) M
25//4 Hur avgör man :, :, M:? ER-modellen (Relationships) Hitta på två saker av varje entitet - Gula huset, Röda huset - Kalle, Lisa Välj en på ena sidan: Entitet - Entitet=Lisa Kan Entitet Samband båda de andra entiteterna? - Kan Lisa Äga både Gula huset och Röda huset? Ja à på de bådas sida ej à på de bådas sida - på hus-sidan Välj en på andra sidan: Entitet2 - Entitet2=Röda huset Kan Entitet2 Samband båda de andra entiteterna? - Kan Röda huset Ägas av både Kalle och Lisa? Ja à på de bådas sida ej à på de bådas sida - på person-sidan Kör M Om :, byt mot :M M Fullständigt deltagande Flervägssamband Dubbelsträck betyder att Entiteten måste delta i Sambandet Samband kan vara mellan fler än två entiteter Rullande Kör Film Har sett Varje person måste inte köra en rullande bil Varje rullande bil måste köras av en person Biograf Bra sätt att garantera relevant databas (kräva viss info) Exempel: Kö till SSSB (student, område, lgh-typ) yckel-attribut: Unika Härledda attribut (vyer) Regr amn Regr amn Regr Ägare amn abc23 BMW 8300-9300- Kalle 070-00 def00 Volvo 8300-8300- Lisa 073-00 Måste finnas nyckel-attribut i varje tabell (unika rader) (kan vara komb. av kol.) Räknas ut på nytt från annan data Ritas med streckad linje Använd Vyer för att räkna ut härledda attribut Antal bilar 2
25//4 Repetition: ER modellering (gammalt + nytt) Svaga entitetstyper (nytt) ER-modellen - Entiteter Svaga entiteter (nytt) Arv mellan entiteter (nytt) - Samband :, :, :M Fullständigt deltagande Flervägs-samband - Attribut yckelattribut Härledda attribut Flervärda attribut (nytt) Kan inte existera utan annan entitet Dubbelsträck överallt - Entitet (svag) - Sambandet (identifierande) - Fullständigt deltagande ummer Pris Tillhör amn Rum Sammansatta attribut (nytt) Arv mellan entiteter (nytt) Arv mellan entiteter (nytt) 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 Körkortstyp Kö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 88 Kalle 99 Lisa Chafför Körkort Kör Körkortstyp Chaufför Lön amn Anställd C Lastbil Kör 77 ABCD ABC23 99 AB CCC23 Flervärda attribut (nytt) Rep: Dubbelsträck (nytt) Attribut som kan ha flera (många) värden Ritas med dubbel-ellipser Får egen tabell i databasen, kombinerad primärnyckel amn Attribut: - Flervärda Entiteter - Svaga Samband - Identifierande Deltagande - Fullständigt Pris amn amn amn 88 Kalle 99 Lisa 88 Kalle 99 Lisa ummer Tillhör Rum 3
25//4 Sammansatta attribut (nytt) Ibland kan ett attribut bestå av flera delar T.ex. amn, nummer Behandlar som om (förnamn och efternamn) satt direkt på Entiteten Förnamn Efternamn 88 Kalle Ström 99 Lisa Brant Förnamn Efternamn amn Repetition: ER modellering (gammalt + nytt) ER-modellen - Entiteter Svaga entiteter (nytt) Arv mellan entiteter (nytt) - Samband :, :, :M Fullständigt deltagande Flervägs-samband - Attribut yckelattribut Härledda attribut Flervärda attribut (nytt) Sammansatta attribut (nytt) u: Från ER-modell till Tabeller Sammanställningen av reglerna för att hitta tabeller kallas ibland för Kokbok 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 Vi sorterar om detta De Stegen (Kokbok) 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. Egen tabell:. Entitetstyper 2. Svaga entitetstyper 3. :M samband 4. Flervägssamband 5. Flervärt attribut 2. Inte tabell (vy). Härledda attribut 3. Kolumn. : samband 2. : samband 3. Attribut på samband. 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 Fråga: Blir det en tabell eller en kolumn? 4
25//4 : Varje entitetstyp blir tabell (och attributen blir kolumner) De Stegen (Kokbok) Regr Regr abc23 BMW def00 Volvo amn amn 9300- Kalle 070-00 8300- Lisa 073-00. 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 Regr :-samband blir kolumn i -tabellen Regr Ägare abc23 BMW 8300- def00 Volvo 8300- amn amn 9300- Kalle 070-00 8300- Lisa 073-00 amn Fråga: Är vi klara? amn 9300- Kalle 070-00 8300- Lisa 073-00 : Ja!, 2: Extra kolumn behövs i, 3: Extra kolumn behövs i Hund, 4: Extra tabell behövs amn Hund Fido Ludde Lady Hund Ras Pudel Tax K.spaniel amn Fråga: Är vi klara? amn 9300- Kalle 070-00 8300- Lisa 073-00 : Ja!, 2: Extra kolumn behövs i, 3: Extra kolumn behövs i Hund, 4: Extra tabell behövs amn Hund Fido Ludde Lady Blindhund Ras Pudel Tax K.spaniel 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 5
25//4 :M-samband blir egen tabell De Stegen (Kokbok) r Lägenhet Kvm 00 54 23 02 r 23 9300-23 8300-00 8300- M amn 9300- Kalle 070-00 8300- Lisa 073-00. 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 Flervägssamband blir tabell De Stegen (Kokbok) -typ Kö. 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 Attribut på :M-samband De Stegen (Kokbok) r Lägenhet Kvm 00 54 23 02 r 23 9300-23 8300-00 8300- Andel M amn 9300- Kalle 070-00 8300- Lisa 073-00 Var skriver vi Andel-kolumn? (), (2), eller (3). 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 Enda skillnaden är primärnycklarna 6
25//4 Pris ummer Pris Svaga entitetstyper blir tabell ummer 223 2.mkr 224 2.2mkr Tillhör amn Rum Rum ummer amn 223 Kök 20 223 Sovrum 25 Primärnyckel blir Kombinationen: identifierande entitetens primärnyckel & partiella nyckeln (dvs ummer & amn) 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 Ingen skillnad! De Stegen (Kokbok) Flervärt 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 Tfnr Ägare 070-00 8300-073-00 8300- amn amn 9300- Kalle 070-00 8300- Lisa 073-00 De Stegen (Kokbok) Härledda attribut (vyer). 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 Regr amn Räknas ut på nytt från annan data Ritas med streckad linje Använd Vyer för att räkna ut härledda attribut Antal bilar (Förutom Vyer) 7
25//4 De Stegen (Kokbok) SSSB: Attribut (samband sedan). 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 Balkong Typ AntRum Postr r r Invr Hyra u: Övningsexempel Fråga: Tabell () eller kolumn (2)? Beskrivning De Stegen (Kokbok) SSSB: Attribut (samband sedan). 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 Balkong Typ AntRum Postr r r Invr Hyra Fråga: Tabell () eller kolumn (2)? Beskrivning De Stegen (Kokbok) SSSB: Attribut (samband sedan). 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 Balkong Typ AntRum Postr r r Invr Hyra Fråga: Tabell () eller kolumn (2)? Beskrivning 8
25//4 De Stegen (Kokbok) SSSB: samband. 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 PrioKö Kö Typ Kontrakt bestånd bestånd AvTyp Invbestånd Fråga: Tabell eller kolumn? De Stegen (Kokbok) SSSB: samband. 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 PrioKö Kö Typ Kontrakt bestånd bestånd AvTyp Invbestånd Fråga: Tabell eller kolumn? De Stegen (Kokbok) SSSB: samband. 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 PrioKö Kö Typ Kontrakt bestånd bestånd AvTyp Invbestånd Fråga: Tabell eller kolumn? 9
25//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 SSSB: samband PrioKö Kö Fråga: Tabell eller kolumn? Typ Kontrakt bestånd AvTyp Inflyttningsdatum bestånd Invbestånd 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 SSSB: Attribut (samband sedan) Antal amn Postr Balkong r Typ r amn AntRum Invr Hyra Fråga: Tabell () eller kolumn (2)? Beskrivning 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 Slut 0