Database-begreber (databaser, del 2)
RHS – Informationsteknologi 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
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
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
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
RHS – Informationsteknologi Relations-database Måske således… Elev Navn Adresse Fødselsdato Klassenavn … Lærer Navn Adresse Fødselsdato Ansat Fagnavn … Klasse Klassenavn Årgang Navn … Fag Fagnavn Niveau Navn … RHS – Informationsteknologi
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
RHS – Informationsteknologi Tabel En tabel rummer kun data om én type entitet, og altid på samme form Person Navn Adresse Telefon Født Gift Per Jensen Skolevej 12 31458791 17-07-1962 Nej Jane Høst Allégade 70 52442109 31-03-1971 Ja Allan Ravn Svinget 49 44553177 12-12-1977 Ole Olsen Junivej 112 41764430 26-04-1950 Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 RHS – Informationsteknologi
RHS – Informationsteknologi Tabel Godt med Ål… Dyr Ben Ko 4 So John 2 Abe Ål Bi 6 RHS – Informationsteknologi
RHS – Informationsteknologi Post En post er en enkelt linie i en tabel, altså data for en enkelt, specifik entitet Person Navn Adresse Telefon Født Gift Per Jensen Skolevej 12 31458791 17-07-1962 Nej Jane Høst Allégade 70 52442109 31-03-1971 Ja Allan Ravn Svinget 49 44553177 12-12-1977 Ole Olsen Junivej 112 41764430 26-04-1950 Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 RHS – Informationsteknologi
RHS – Informationsteknologi Felt Et felt er en enkelt oplysning om en enkelt, specifik entitet Person Navn Adresse Telefon Født Gift Per Jensen Skolevej 12 31458791 17-07-1962 Nej Jane Høst Allégade 70 52442109 31-03-1971 Ja Allan Ravn Svinget 49 44553177 12-12-1977 Ole Olsen Junivej 112 41764430 26-04-1950 Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 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 Management System RHS – Informationsteknologi
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
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
RHS – Informationsteknologi Redundans Aftenskoleelever Navn Adresse Telefon Født Fag Per Jensen Skolevej 12 31458791 17-07-1962 Engelsk IT Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Økonomi Matematik RHS – Informationsteknologi
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
RHS – Informationsteknologi Inkonsistens Aftenskoleelever Navn Adresse Telefon Født Fag Per Jensen Skolevej 12 31458791 17-07-1962 Engelsk Skolevej 21 IT Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Økonomi Bakkehøj 22 33128769 28-03-1976 RHS – Informationsteknologi
RHS – Informationsteknologi At lave et produkt Kunde Designer Konstruktør RHS – Informationsteknologi
RHS – Informationsteknologi At lave et produkt For et hus Kunde Designer (Arkitekt) Konstruktør (Murer) RHS – Informationsteknologi
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
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
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
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
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
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
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
RHS – Informationsteknologi At lave et produkt For en database Kunde Designer (DB-Arkitekt) Konstruktør (Access-koder) RHS – Informationsteknologi
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
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
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
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
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
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
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