08/12/14 Behövs Föreläsning 8? Databasteknik och informationssystem DD1370 Idag F7 - (sista nyheterna & repetition) F8 (?) - (repetition, repetition, repetition ) Föreläsning 7 Svara med knapptryckning - 1: Jag tänker stanna hemma på F8-2: Jag ser fram emot lite repetition Kursens (återstående) mål Dagens föreläsning 1. Förklara ett databashanteringssystems funktioner och uppbyggnad 2. Använda frågespråk för att formulera frågor 3. Modellera och strukturera data utgående från en given problemställning 4. Använda ett enkelt beslutsstödssystem. 3: ER-modellen Förklara ett databassystems funktioner och uppbyggnad Driftdatabas eller beslutsstödssystem? Förberedelser för Lab2 (som vi inte hann sist) Från Databasstruktur till ER-modell 1: Tabeller 2: SQL-frågor Databashanteringssystemets funktioner och uppbyggnad Externa användare (kunder) Hemnet eller Webhallen (Applikationsprogram) Obs: Base har även en inbyggd databas Drift vs. Beslutsstöd (1) Driftdatabaser Exempel: Interna användare (i!) Base eller MS Access (Database Management System, DBMS) - Kunder, Ordrar, Lager - Varuhuset-exemplet - SSSB-exemplet ya data läggs in ofta (varje dag?) Återkommande frågor Hur mycket finns i lager? Vilken adress har kund X? Databasadministratör Man gör: On Line Transaction Processing (OLTP) Databas Mer detaljer än så här finns, men behövs inte i den här kursen 1
08/12/14 Drift vs. Beslutsstöd (2) Drift vs. Beslutsstöd (3) Beslutstödsssystem Exempel Driftdatabaser - Kunder, Ordrar, Lager, Varuhuset-exemplet, SSSBexemplet - On Line Transaction Processing (OLTP) - Ändras ofta - Återkommande frågor (Hur mycket finns i lager?) - Aktiekurser, (över tid) - Försäljningsdata, (över tid) - Underhållskostnader (över tid) Databasen kallas ibland Data Warehouse Beslutstödsssystem Om data är samlat och organiserat för analys Data ändras mer sällan Mycket data (samlad över tid) Komplexa frågor skapas direkt (för att stödja beslut) Man gör: On Line Analytical Processing (OLAP) - Aktiekurser, försäljningsdata, underhållskostnader (över tid) - On Line Analytical Processing (OLAP) - Ändras sällan - Komplexa frågor som skapas direkt Mer detaljer än så här finns, men behövs inte i den här kursen Kursens (återstående) mål Fråga: 1. Förklara ett databashanteringssystems funktioner och uppbyggnad 2. Använda frågespråk för att formulera frågor 3. Modellera och strukturera data utgående från en given problemställning 4. Använda ett enkelt beslutsstödssystem. 3: ER-modellen Vad är Open Office Base? 1. En Databas 2. Ett Applikationsprogram 3. Ett misstag 4. Ett DBMS (Database Management System) 1: Tabeller 2: SQL-frågor Fråga: Ett Data Warehouse 1. Uppdateras oftare än en driftsdatabas och används för OLTP 2. Innehåller mer data än en driftsdatabas och används för OLTP 3. Uppdateras oftare än en driftsdatabas och används för OLAP 4. Innehåller mer data än en driftsdatabas och används för OLAP Dagens föreläsning Förklara ett databassystems funktioner och uppbyggnad Driftdatabas eller beslutsstödssystem? Förberedelser för Lab2 Från Databasstruktur till ER-modell 2
Lab2: Företaget i jobbar på ett företag i skall övertyga chefen om nyttan med en databas - 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, Medlr - 500, er -, har betalt, placering otera: Er ER-modell skall vara större än denna Entiteter och Attribut Samband Medlr Medlr i jobbar på ett företag i skall övertyga chefen om nyttan med en databas - 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) 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell 3
Medlr #1 Varje vanlig entitetstyp blir tabell (Medlr,) (,,) (TävlingsId,) 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #2 1:-samband blir kolumn (referensattribut) i - (Medlr,) (,,) (TävlingsId,) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #3 1:1-samband blir kolumn i någon av tabellerna (Medlr,) (,,) (TävlingsId,) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell 4
#4 :M-samband blir egen tabell (Medlr,) (,,) (TävlingsId,) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #5 Flervägssamband blir egen tabell (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #6 Attribut på samband blir kolumner (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell 5
#7 Svag entitetstyp blir tabell (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #8 Sammansatta attribut blir som delarna (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #9 Flervärt attribut blir egen tabell (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell 6
#10 Härledda attribut blir inte tabell (istället SQL-vy) (Medlr,) (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr 2. 1:-samband blir kolumn (referensattribut) i - 4. :M-samband blir egen tabell #11 Arv, Subklass blir egen tabell Färdig databasstruktur (Medlr,) (,,) (TävlingsId,) Klart! (Medlr,, TävlingId,, ) Medlr (Medlr,) u: In i Base! (,,) (TävlingsId,) (Medlr,, TävlingId,, ) Medlr Skapa databas (tabeller) i jobbar på ett företag i skall övertyga chefen om nyttan med en databas - 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) Starta Base Klicka på Create Skriv in - Attribut - Datatyp (text/siffror) Välj Primary Key 7
Skapa databas (innehåll) Skapa databas (kopplingar) Dubbelklicka på Fyll i värden Gå in på Tools/Relationships Koppla referensattribut till rätt primärnycklar Drag and Drop mellan attributen Kontrollera att kopplingarna fungerar Dubbelklicka på Fyll i felaktiga värden - Referenser till saker som inte existerar Base protesterar otera även Boolean (ja/nej-ruta) i jobbar på ett företag i skall övertyga chefen om nyttan med en databas - 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) Importera/exportera till Calc Importera/exportera till Calc Exportera - Högerklicka på en tabell - Välj copy - Välj File/ew/ Spreadsheet - Välj paste Öppna en fil med riktiga data Editera filen i Calc så att den har rätt kolumner Markera det som skall läggas till i Copy Gå till base Högerklicka på rätt tabell Välj Paste Välj append/create Kolla att det fungerade 8
08/12/14 Skapa SQL-frågor i jobbar på ett företag i skall övertyga chefen om nyttan med en databas select from "" JOI "" on "".""=""."Medlr" where "Har betalt"=false - 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) Sälj in till chefen i jobbar på ett företag i skall övertyga chefen om nyttan med en databas Se föreläsning 1 - - Fördelar med databaser - Databaser vs Excel - Anpassa till ditt företagsexempel 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) Dagens föreläsning Förklara ett databassystems funktioner och uppbyggnad Driftdatabas eller beslutsstödssystem? Förberedelser för Lab2 Från Databasstruktur till ER-modell Databasstruktur à ER-modell I designprocessen går vi från ER-modell till Databasstruktur (mha kokboken) Man kan även gå baklänges - Ifall man vill analysera hur designen är gjord 3: ER-modellen 1: Tabeller 2: SQL-frågor 9
Databasstruktur till ERmodell Databasstruktur till ERmodell Regr Modell Ägare Telefon Regr Modell Ägare Telefon Bil Bil Äger 1 Bil Regr Modell Ägare Telefon abc123 BMW 830101-0000 930101-0000 Kalle 070-000000 def100 Volvo 830101-0000 830101-0000 Lisa 073-000000 Diskutera: Varför är detta inte bra? Bil Regr Modell Ägare Telefon abc123 BMW 830101-0000 930101-0000 Kalle 070-000000 def100 Volvo 830101-0000 830101-0000 Lisa 073-000000 Diskutera: Hur vet vi att :1 (inte :M) från? :M-samband blir egen tabell 2. 1:-samband blir kolumn (referensattribut) i - 3. 1:1-samband blir kolumn i någon av tabellerna 4. :M-samband blir egen tabell 8. Sammansatta attribut blir som delarna 10. Härledda attribut blir inte tabell (istället SQL-vy) Lägenhet Kvm Lgh Lghr Kvm 100 54 123 102 Äger M Telefon 930101-0000 Kalle 070-000000 830101-0000 Lisa 073-000000 Lghr Hur blir ER-modellen, diskutera Äger Lghr 123 930101-0000 123 830101-0000 100 830101-0000 SSSB-exemplet 2. 1:-samband blir kolumn (referensattribut) i - 3. 1:1-samband blir kolumn i någon av tabellerna 4. :M-samband blir egen tabell 8. Sammansatta attribut blir som delarna 10. Härledda attribut blir inte tabell (istället SQL-vy) Databasstruktur Område () Hus(Fastighetsbeteckning, Adress, Område) Hur ser ER-modellen ut? 1. 2 Entiteter 2 Samband 4 Attribut 2. 3 Entiteter 1 Samband 4 Attribut 3. 2 Entiteter 1 Samband 3 Attribut 4. 2 Entiteter 0 Samband 3 Attribut Område 1 Husbestånd Hus Adress Fastighetsbeteckning 10
StartTid SSSB: Flervägs-samband Databasstruktur StartTid Student (, ) Område () Kö(, Omr, Typr, StartTid) LghTyp (Typr, ) PrioKö(,Omr,Typr, StartTid) Hur ser ER-modellen ut? Student PrioKö Kö Område LghTyp 2. 1:-samband blir kolumn (referensattribut) i - 3. 1:1-samband blir kolumn i någon av tabellerna 4. :M-samband blir egen tabell 8. Sammansatta attribut blir som delarna 10. Härledda attribut blir inte tabell (istället SQL-vy) Typr Samband eller flervärda-attribut? Databasstruktur Student (, Adress) Telefon (Telefonnr, ) Hur ser ER-modellen ut? 1. Tfnr Student Tfnr Telefon Äger 1 Student 2. 2. 1:-samband blir kolumn (referensattribut) i - 3. 1:1-samband blir kolumn i någon av tabellerna 4. :M-samband blir egen tabell 8. Sammansatta attribut blir som delarna 10. Härledda attribut blir inte tabell (istället SQL-vy) Ägare à 1, Ägareà 2 Adress Adress Slut. 11