250 likes | 565 Vues
Modell: struktur som avbildar vissa aspekter av någon del av verkligheten Exempel: Kartor Differentialekvationer Miniatyrmodeller Syfte med modeller: Studera verkligheten indirekt genom att studera modellen Underlätta kommunikation. MODELLER. Modeller förenklar
E N D
Modell: struktur som avbildar vissa aspekter av någon del av verkligheten Exempel:KartorDifferentialekvationerMiniatyrmodeller Syfte med modeller:Studera verkligheten indirekt genom att studera modellenUnderlätta kommunikation MODELLER
Modeller förenklar Modeller förvanskar - Afrika, Grönland Modeller fokuserar - topografisk, politisk KARTOR
SYSTEMASPEKTER MÅLMODELLERING MÅL uttrycker önskvärda tillstånd hos styr påverkar HAND- LINGAR OBJEKT KONCEPTUELL MODELLERING BETEENDE MODELLERING
Grundbegrepp ObjektAttributTyperReglerHändelser KONCEPTUELL MODELLERING PERSON BIL äger (m,1,t,p) En person kan äga många bilar En bil ägs av högst en person En person behöver ej äga en bil En bil måste ägas av en person har_mor PERSON
OGDENS TRIANGEL TERM EXTENSION INTENSION
På vilka sätt används ordet ”bok” i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker SAMMA ORD - OLIKA BEGREPP KurskodKursnamn Startdatum Antal poängKursansvarig KURS
Avskeda - Friställa Arbetsgivare - Arbetsköpare Afro-American - Colored - Black - Negro SAMMA BEGREPP - OLIKA ORD
Introduktion till databaser • Vad är en databas? • Logiskt sammanhängande mängd av data, med en därtill hörande betydelse, strukturerad och försedd med data avsedda för ett visst ändamål, med en viss användargrupp i åtanke och återspeglande någon aspekt av världen. • Vad är ett databashanteringssystem? • En mängd program som tillåter användaren att skapa och underhålla databaser.
Databashanteringssystem Användare / Programmerare Databassystem Applikationsprogram / Frågor DBMS Program för att hantera frågor/program Program för att hantera lagrade data Metadata Databas
Varför databaser? Beständighet Delning Dataoberoende
Typer av databaser Relationsdatabaser Hierarkiska databaser Nätverksdatabaser
Relationsdatabaser Ett relationsschema är en mängd av attribut Exempel: PERSON(Pnr, Namn, Ålder, Lön) Till varje attribut hör en domän Exempel: Namn har domänen Sträng, Ålder har domänen Heltal En tupel för ett relationsschema ger ett värde till varje attribut i schemat Exempel: (Kalle Svensson, 710101-1133, 26, 13000) Värdet för varje attribut måste hämtas ur domänen En relation är en mängd av tupler
Relationsdatabaser PERSON Relations- schema Pnr Namn Ålder Lön 650101-2288 Eva Svensson 33 25000 750203-3133 Per Jonsson 23 20000 500107-5532 Sven Olsson 47 25000 800515-0044 Pia Eriksson 17 18000 Relation Man kan tänka på en relation som en tabell där inga dubletter får förekomma
Världen Delmängd bibliotek låntagare skola elev Modell lån kurs bok lärare ämne bibliotek ((bNamn), adress) skola ((sNr), adress) låntagare ((lNr), förNamn, efterNamn) elev ((eNr), förNamn, efterNamn) Databasstruktur bok ((ISBN), titel) lärare ((lNr), förNamn, efterNamn) lån ((bNamn, lNr, ISBN, datum) ämne ((äNamn), kursBok) kurs ((sNr, eNr, lNr, äNamn) Från verksamhet till databas
Databasdesign bibliotek låntagare bibliotek ((bNamn), adress) låntagare ((lNr), förNamn, efterNamn) lån bok ((ISBN), titel) lån ((bNamn, lNr, ISBN, datum) bok Varför design? Varför inte bara en enkel tabell? ISBN Titel Förf Bibl BAdr LåntNamn LåntAdr Datum 12345 Mitt liv Pelle Stora Storgatan 19 Kalle Karlavägen 12 891102 23456 Ditt liv Lisa Stora Storgatan 19 Kalle Karlavägen 12 890723 12346 Vårt liv Pelle Stora Storgatan 19 Vera Verdandig 3 890809 12347 Vilket liv! Lisa Stora Storgatan 19 Mona Månvägen 7 891011 23412 Mitt liv Lisa Stora Storgatan 19 Kalle Karlavägen 12 891112 121212 Stickning Johan Stora Storgatan 19 Kalle Karlavägen 12 890909 1212 Matlagning Eva Stora Storgatan 19 Vera Verdandig 3 891010 100 Matematik Vera Stora Storgatan 19 Mona Månvägen 7 891102
Ett onormaliserat relationsschema Namn Regnr Andel Lön Märke Per Eriksson ABC123 50 25000 Volvo Eva Olsson ABC123 50 18000 Volvo Per Eriksson DEF456 100 25000 Mercedes Per Eriksson GHI789 50 25000 Toyota Pia Johnsson GHI789 50 30000 Toyota Pia Johnsson BCD321 100 30000 Ford Bo Persson CDE654 100 18000 Volvo
Problem med onormaliserade scheman Redundans Uppdateringsanomalier
Funktionella beroenden Ett funktionellt beroende innebär att ett attribut unikt bestämmer ett annat attribut. Exempel: Namn --> Lön Detta funktionella beroende innebär att om två tupler har samma värde på Namn så måste de ha samma värde på Lön.
Funktionella beroenden Vilka av följande funktionella beroenden är uppfyllda i relationen ovan? A --> B AB --> C CD --> B CD --> E
Nycklar En nyckel i ett relationsschema är är ett attribut (eller en minimal mängd av attribut) som funktionellt bestämmer övriga attribut i schemat. Det betyder att en nyckel entydigt identifierar en tupel i en relation. Vilken är nyckeln i följande relationsschema? RULLE(Film, Biograf, Klocka, Pris)
Ett relationsschema är i första normalform om alla attributvärden är atomära. Första normalform Persnr Efternamn Förnamn 750101-0032 Svensson Gunnar, Sven 550401-0044 Olsson Karin, Eva Ej 1NF Vilka är nycklarna? Persnr Efternamn Förnamn 750101-0032 Svensson Gunnar 750101-0032 Svensson Sven 550401-0044 Olsson Karin 550401-0044 Olsson Eva 1NF
Ett relationsschema är i andra normalform om varje attribut är funktionellt beroende av hela nyckeln. Àndra normalform Namn Regnr Lön Per Eriksson ABC123 25000 Per Eriksson DEF456 25000 Pia Johnsson GHI789 30000 Pia Johnsson BCD321 30000 Namn Regnr Per Eriksson ABC123 Per Eriksson DEF456 Pia Johnsson GHI789 Pia Johnsson BCD321 Namn Lön Per Eriksson 25000 Pia Johnsson 30000
Tredje normalform Ett relationsschema är i tredje normalform om varje attribut är funktionellt beroende av nyckeln, hela nyckeln och inget annat än nyckeln.
Om ett attribut inte uppfyller villkoret för 3NF så bryter man ut det och låter det bilda ett nytt relationsschema tillsammans med de attribut som det är funktionellt beroende av. Exempel: PERSON(Pnr, Namn, Land, Antal_inv) Pnr --> Namn, Land Land --> Antal_inv Antal_inv uppfyller ej villkoret för 3NF. Så det bryts ut till ett nytt relationsschema tillsammans med Land: PERSON(Pnr, Namn, Land) LAND(Land, Antal_inv) Tredje normalform
Bryt ned följande relationsschema till relationsscheman i 3NF. BOK(Exemplarnr, Personnr, Lånedatum, Återlämningsdatum, Bibliotek, Biblioteksadress, Personadress, Titel) Ett exemplar av en bok med en titel lånas ut till en person, som har en adress, vid ett datum och återlämnas ett annat datum. Bokexemplaret finns på ett bibliotek som har en adress. Tredje normalform