410 likes | 789 Views
Database-begreber (databaser, del 2). Database-typer. Der findes flere slags database-systemer: Hierakisk database Netværks-database Objekt-orienteret database Relations-database Relations-databasen er langt den mest almindelige; vi koncentrerer os om den fra nu af!. Relations-database.
E N D
Database-typer • Der findes flere slags database-systemer: • Hierakisk database • Netværks-database • Objekt-orienteret database • Relations-database • Relations-databasen er langt den mest almindelige; vi koncentrerer os om den fra nu af! RHS – Informationsteknologi
Relations-database • Hvad betyder det egentlig…? • I en database har vi naturlig-vis data om forskellige ting • I en database over en skole kunne vi f.eks have data om elever, lærere og fag RHS – Informationsteknologi
Relations-database • I en relations-database kan vi nemt gemme data om relationerne mellem tingene Elev Navn Adresse Fødselsdato … Lærer Navn Adresse Fødselsdato Ansat … Klasse Klassenavn Årgang … Fag Fagnavn Niveau … RHS – Informationsteknologi
Relations-database • Hvor har vi data om, hvilke elever der går i en bestemt klasse, hvilke lærere der underviser i hvilke fag, og så videre…? Elev Navn Adresse Fødselsdato … Lærer Navn Adresse Fødselsdato Ansat … Klasse Klassenavn Årgang … Fag Fagnavn Niveau … RHS – Informationsteknologi
Relations-database • Måske således… Elev Navn Adresse Fødselsdato Klassenavn … Lærer Navn Adresse Fødselsdato Ansat Fagnavn Fagnavn … Klasse Klassenavn Årgang Navn Navn Navn Navn … Fag Fagnavn Niveau Navn Navn Navn … RHS – Informationsteknologi
Relations-database • Vi skelner mellem to slags data • Data som fortæller noget om en ”ting” – en ting kaldes generelt for en entitet • Nadia er 1,64 m høj • Data som fortæller noget om relationer mellem entiteter • Nadia underviser i faget fransk RHS – Informationsteknologi
Elementer i en database • Hvordan ville man opbevare data i gamle dage…? • På et arkivkort kunne der være data om f.eks en enkelt person • Alle arkivkort om personer i samme skuffe, en anden skuffe til en anden entitet… RHS – Informationsteknologi
Elementer i en database • For en relationel database minder organi-sationen af data om et arkivskab: • Hele arkivskabet er databasen • Hver skuffe rummer kun data om en enkelt type entitet, og data er altid på den samme form • I en relationel database er det tilsvarende begreb en tabel RHS – Informationsteknologi
Tabel • En tabel rummer kun data om én type entitet, og altid på samme form Person RHS – Informationsteknologi
Tabel Godt med Ål… RHS – Informationsteknologi
Post • En post er en enkelt linie i en tabel, altså data for en enkelt, specifik entitet Person RHS – Informationsteknologi
Felt • Et felt er en enkelt oplysning om en enkelt, specifik entitet Person RHS – Informationsteknologi
Tænk på en relations-database som… • …et gammeldags arkivskab • Hele skabet er en database • En skuffe er en tabel • Et kartotekskort er en post • En oplysning på et kort er et felt • Men en database bliver ikke støvet og skrammet… RHS – Informationsteknologi
Et database-system kaldes ogsåDBMS • Data • Base • Management • System RHS – Informationsteknologi
Er det nemt…? • Umiddelbart ser det ret nemt ud at definere en database • Udfordringen er at definere den korrekt! • Korrekt: undgå vore to dødsfjender • Redundans • Inkonsistens RHS – Informationsteknologi
Redundans • Redundans: at det samme data forekommer flere gange i databasen • Gør databasen unødvendigt stor • Databasen arbejder langsommere • Øger faren for inkonsistens RHS – Informationsteknologi
Redundans Aftenskoleelever RHS – Informationsteknologi
Inkonsistens • Inkonsistent: at data, som burde være ens, ikke er ens • Hvilke data skal vi stole på…? • Tæt forbundet med redundans • Hvis der ikke er redundans, kan (simpel) inkonsistens ikke forekomme RHS – Informationsteknologi
Inkonsistens Aftenskoleelever RHS – Informationsteknologi
At lave et produkt Kunde Designer Konstruktør RHS – Informationsteknologi
At lave et produkt For et hus Kunde Designer (Arkitekt) Konstruktør (Murer) RHS – Informationsteknologi
At lave et produkt Det ville være skønt med et nyt hus… Mere plads, nemmere at gøre rent,… Ethvert nyt produkt ud-springer af et ønske… RHS – Informationsteknologi
At lave et produkt Jeg vil gerne have et nyt hus, der er flot og lækkert, nemt at gøre rent, en stor stue, og… Det kan jeg ikke arbejde med… Murermester Jensen Nogen skal realisere vores ønske… RHS – Informationsteknologi
At lave et produkt Jeg vil gerne have et nyt hus, der er flot og lækkert, nemt at gøre rent, en stor stue, og… Rolig, du må være mere præcis i din beskrivelse… Arkitekt Larsen …så først må det specificeres korrekt RHS – Informationsteknologi
At lave et produkt Hmmmm, ”stor stue” = 40-50 m2 ”nemt at gøre rent” = ét plan ”flot” = sort tag + hvide sten … Den som specificerer er måske ikke den der bygger… RHS – Informationsteknologi
At lave et produkt Mente du et hus som dette? Jeps, dog vil jeg gerne lige have rettet lidt til… Designeren har værktøjer til at lave en specifikation RHS – Informationsteknologi
At lave et produkt Så er kunden glad, nu skal mureren bare have en mere detaljeret tegning Flere værktøjer til flere trin i specifikations-processen RHS – Informationsteknologi
At lave et produkt Se, det kan jeg godt arbejde med! Væg: 2,30m Farvekode 4512 Vindue 1,10x1,10 Prod.nr 12-387B Kontakt Højde 40cm, 30 cm fra hjørne Med tilstrækkeligt mange detaljer kan konstruktøren tage over! RHS – Informationsteknologi
At lave et produkt For en database Kunde Designer (DB-Arkitekt) Konstruktør (Access-koder) RHS – Informationsteknologi
At lave et produkt Det ville være skønt med et system til holde styr på min aftenskole. Hvem er mine kursister, hvilke fag tager de,… Ethvert nyt produkt ud-springer af et ønske… RHS – Informationsteknologi
At lave et produkt Jeg vil gerne have en database til at holde styr på data for min aftenskole, med elever, lærere, kurser, og… Det kan jeg ikke arbejde med… Access-koder Andersen Nogen skal realisere vores ønske… RHS – Informationsteknologi
At lave et produkt Jeg vil gerne have en database til at holde styr på data for min aftenskole, med elever, lærere, kurser, og… Rolig, du må være mere præcis i din beskrivelse… DB-Arkitekt Damgaard …så først må det specificeres korrekt RHS – Informationsteknologi
At lave et produkt Hmmmm, Entiteterne er Lærer, Elev, Kursus, Klasse, Lokale, … Relationerne er Underviser, Afholdes i, Går i, … … Den som specificerer er måske ikke den der bygger… RHS – Informationsteknologi
At lave et produkt Mente du, at databasen skal rumme data om disse entiteter og relationer? Jeps, dog vil jeg gerne lige have rettet lidt til… Designeren har værktøjer til at lave en specifikation RHS – Informationsteknologi
At lave et produkt Så er kunden glad, nu skal Access-koderen bare have et TS-diagram og en Data Dictionary at arbejde med Flere værktøjer til flere trin i specifikations-processen RHS – Informationsteknologi
At lave et produkt Se, det kan jeg godt arbejde med! Med tilstrækkeligt mange detaljer kan konstruktøren tage over! RHS – Informationsteknologi