1 / 33

ITGK - H2010, Matlab

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser. I dag…. Teori: Databaser Bok: 8.1 – 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign. Data og Informasjon. Data en serie målbare/kvantifiserbare opplysninger

wray
Download Presentation

ITGK - H2010, Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITGK - H2010, Matlab Dagens tema : Teori - Databaser

  2. I dag… • Teori: Databaser Bok: 8.1 – 8.2 (8.1-8.4 i gamle bøker) • Læringsmål • Lære det grunnleggende om databaser • Lære det grunnleggende om databasedesign Kai Olav Ellefsen, NTNU, 2010

  3. Data og Informasjon • Data • en serie målbare/kvantifiserbare opplysninger • For eks. A B C E eller 5 10 12 34 45 0 1 • Metadata • data som forklarer/beskriver annen data • Informasjon • data + metadata • Karakterer i students Ola Norman sine emner i høsten 2008: A B C E • Nedbør i trondheim uke 45: 5 10 12 34 45 0 1 • Informasjon er personavhengig, må informere for å være informasjon • Kunnskap • informasjon + metainformasjon • Hvorfor, hvordan? • Kunnskap er også person- og konteksavhengig Kai Olav Ellefsen, NTNU, 2010

  4. 107 TDT4110 020621 Ola Jonny 203 Normann Peder Nonnegata. 18 010849 010321 354 Pedersen Ustrukturert data Studentov TDT4240 Fjordgt. 4 Jonsen 060326 IT1409 382 TDT4735 Ladev. 3 Smirnof Dronningensgt. 7b IT Grunnkurs Student Studentnr Heltall, 6 siffer Etternavn Tekst, 30 tegn Fornavn Tekst, 30 tegn Adresse Tekst, 50 tegn Stud.post Heltall, 3 siffer Metadata Tar Fag Studentnr Heltall, 6 siffer Fagnr Tekst, 7 tegn Fag Fagnr Tekst, 7 tegn Navn Tekst, 7 tegn Fag Fagnr TDT4110 Navn IT Grunnkurs Student Studentnr 010849 Etternavn Smirnof Fornavn Studentov Adresse Ladev. 3 Stud.post 107 Fag Fagnr TDT4110 Navn IT Grunnkurs Student Studentnr 010849 Etternavn Smirnof Fornavn Studentov Adresse Ladev. 3 Stud.post 107 Tar Fag Studentnr 010849 Fagnr TDT4110 Student Studentnr 010849 Etternavn Smirnof Fornavn Studentov Adresse Ladev. 3 Stud.post 107 Tar Fag Studentnr 010849 Fagnr TDT4110 Fag Fagnr TDT4110 Navn IT Grunnkurs Student Studentnr 010849 Etternavn Smirnof Fornavn Studentov Adresse Ladev. 3 Stud.post 107 Tar Fag Studentnr 010849 Fagnr TDT4110 Tar Fag Studentnr 010849 Fagnr TDT4110 Strukturert data Programvarearkitektur Kai Olav Ellefsen, NTNU, 2010

  5. Hva er en database • En database er en samling strukturerte data • Vi kan lagre data, på en strukturert måte i en database • Data som Personnummer (tall), navn (tekst), osv • I tillegg har databasen metadata som forteller oss noe om våre data • Typer av data, relasjoner mellom data, navn på data osv… (Metadata beskriver struktur og begrensninger på databasen) • Eksepler på databaser: • Folkeregisteret, telefonkatalogen på nett, studieinformasjon på NTNU, oversikt over bøkene på biblioteket… Kai Olav Ellefsen, NTNU, 2010

  6. Hva er en database (2) • En database integrerer en datamengde som alle deler av et informasjonssystem kan benytte • Skjema: • Beskrivelsen av hele databasestrukturen • Delskjema: • Beskrivelse av en del av databasen som er tilgjengelig for en gitt del av informasjonssystemet • En database kontrollerer tilgang til sensitive data • Data i en database brukes ofte på forskjellige måter av de forskjellige delene av et informasjonssystem • Eksempel skattelistene • Skatteetaten har et annet skjema enn de som ser på listene fra internett Kai Olav Ellefsen, NTNU, 2010

  7. Datauavhengighet • En database bør være uavhengig av applikasjonene slik at vi unngår… • Å måtte endre i databasen ved nye applikasjoner • Å endre applikasjoner når strukturen i databasen endres • Vi skiller mellom to typer datauavhengighet • Fysisk datauavhengighet - kan endre måten data er fysisk representert i databasen uten å endre på applikasjoner • Logisk datauavhengighet - kan endre databasens konseptuelle skjema uten å måtte endre på applikasjoner Kai Olav Ellefsen, NTNU, 2010

  8. Databaseverktøy database management system (DBMS) • En samling av programmer for å lage og vedlikeholde en database: • Definereen database • spesifisere metadata for de data som skal lagres: datatyper, datanavn, datastrukturer og verdibegrensninger • Konstruereen database • legge inn og lagre data i databasen • Manipulereen database • spørre etter spesifikke data og oppdatere databasen • Finnes ulike typer databaserprogrammer, men mest vanlig er relasjonsdatabaser som mySQL, Oracle, Microsoft Access, Sybase, DB2, etc. Kai Olav Ellefsen, NTNU, 2010

  9. Databasedesign • Database design består vanligvis av fire steg: • Kravanalyse Innsamling og analyse av krav til databasesystemet • Konseptuelt design Modellere databasens informasjonsinnhold som en konseptuell datamodell • Logisk design: Strukturere informasjonsinnholdet i form av en logisk databasemodell • Fysisk design Konfigurere databasemodellen som et databaseskjema for et spesifikt DBMS Kai Olav Ellefsen, NTNU, 2010

  10. Steg 1: Kravanalyse • Mål: Finne ut og forstå hvilken informasjon som applikasjonen skal håndtere. • Prosess: • Funksjonelle krav Finne ut hva applikasjonen (programmet) skal gjøre og hvilke operasjoner applikasjonen skal gjøre mot databasen. • Databasekrav Bestemme hvilken informasjon fra den virkelige verden som man trenger å gjøre seg bruk av i programmet. Kai Olav Ellefsen, NTNU, 2010

  11. Finne databasekrav • Fra en beskrivelse av den virkelige verden, må man finne miniverden (domenet) som beskriver den informasjon applikasjonen skal bruke. • Miniverden = • Del av virkeligheten som databasen skal beskrive • Eks: Alle bøkene i bokhylla di med tittel, forfatternavn og hvem som har lånt dem • Bruker beskrivelse av miniverden til å lage en datamodell som er utgangspunktet for selve databasen Kai Olav Ellefsen, NTNU, 2010

  12. Steg 2: Konseptuelt design (modellering) 2.1 Definere området som skal analyseres, avgjør modellens miniverden 2.2 Definer entiteter 2.3 Definererelasjonermellom entitetene 2.4 Avgjør hva som skal være nøkkelattributt(er) 2.5 Fullfør hver entitet ved å finne samtlige attributter 2.6 Sikre at databasen kan brukes til det som er ønsket (at alt vi ønsker å hente ut av informasjon er mulig) Kai Olav Ellefsen, NTNU, 2010

  13. Steg 2.1 Miniverden • Identifisere informasjon som er sentral for domenet som det fokuseres på • Film, skuespiller, filmselskap, manus… • Husk også at det som ikke er viktig må utelukkes Kai Olav Ellefsen, NTNU, 2010

  14. Steg 2.2. Definer Entiteter (1) • Entitet: • tingi miniverden som vi har opplysninger om, eks: kunde, konto, sted, vare... • De viktigste substantivene • Skuespiller, regisør, film, filmselskap • Det er vanlig å bruke navn i entall • En entitet representeres senere som en tabell i en database • Attributt: • en enkeltstående opplysning om/egenskap til en entitet: • Eks: Navn, fødselsdato, nasjonalitet Kai Olav Ellefsen, NTNU, 2010

  15. Steg 2.2 Definer Entiteter (2) Skuespiller Film Kai Olav Ellefsen, NTNU, 2010

  16. Steg 2.3 Avgjør Relasjoner (1) • Relasjon: en sammenheng mellom entiteter (ting) • En boker skrevet av en forfatter • En student tar et fag Kai Olav Ellefsen, NTNU, 2010

  17. Steg 2.3 Avgjør Relasjoner (2) Filmselskap Film Lages av Kai Olav Ellefsen, NTNU, 2010

  18. Kardinalitet (1) • 1 til 1 Filmselskap Film Lages av Kai Olav Ellefsen, NTNU, 2010

  19. Kardinalitet (2) • 1 til n = 1 til mange • Leses: 1 filmselskap kan lage mange filmer Filmselskap Film Lages av Kai Olav Ellefsen, NTNU, 2010

  20. Kardinalitet (3) • m til n = mange til mange • 1 film kan ha mange skuespillere og 1 skuespiller kan være med i mange filmer Skuespiller Film Spiller i Kai Olav Ellefsen, NTNU, 2010

  21. Steg 2.4 Finn Nøkkelattributt (1) • Entitet Abstrakt begrep • Venn • Instans En fysisk/faktisk realisering av en entitet • Erlend • Gry Venn Kai Olav Ellefsen, NTNU, 2010

  22. Steg 2.4 Finn Nøkkelattributt (2) • Alle instanser av en entitet må kunne identifiseres unik • Derfor må alle instanser ha et attributt som aldri kan være den samme for to forskjellige instanser • Kalles nøkkelattributt • Personnummer • Studentnummer • Telefonnummer Venn Kai Olav Ellefsen, NTNU, 2010

  23. Steg 2.4 Finn Nøkkelattributt (3) • En skuespiller kan identifisere vha personnummer Skuespiller Personnr Kai Olav Ellefsen, NTNU, 2010

  24. Steg 2.5 Fyll ut Attributter • Fyll på alle andre attributter på hver enkelt entitet Skuespiller Personnr Fornavn Etternavn Adresse Kjønn Nasjonalitet Fødselsdag Kai Olav Ellefsen, NTNU, 2010

  25. Steg 2.6 Sikre krav • Forsikre deg om at modellen din kan støtte alle krav som stilles til databasen • Sjekker om at modellen du har kommet fram til kan brukes til det den er tenkt: • Eks. at du kan få svar på de spørringene du vil gjøre mot databasen. Kai Olav Ellefsen, NTNU, 2010

  26. Steg 3: Logisk design Student Studerer Fag Beskrive den konseptuelle modellen som en logisk databasemodell, ofte som tabeller: Kai Olav Ellefsen, NTNU, 2010

  27. Steg 3: Logisk design (2) • Tabeller beskrives helst som logisk skjema. • Et logisk skjema beskrives ofte som et tabellnavn i store bokstaver, der attributtnavn beskrives i etterkant i parenteser hvor nøkkelattributter er understreket: • STUDENT(studnr, etternavn, fornavn) • FAG(fagkode, navn) • STUDERER(studnr, fagkode) Kai Olav Ellefsen, NTNU, 2010

  28. Steg 4: Fysisk design Fysisk design av en database er å spesifisere hvordan databasen skal representeres i en konkret DBMS. Spesifiseringen gjøres ofte i et databasespørrespråk som heter SQL: Structured Query Language Spesifiseringen innebærer at man oppretter tabeller med ulike attributter, der man spesifiserer datatype for hvert attributt, hva som er nøkkerattribut osv. Kai Olav Ellefsen, NTNU, 2010

  29. Steg 4: Fysisk design (2) • Eksempel på SQL for å opprette databaser: CREATE TABLE fag ( fagkode VARCHAR(10) NOT NULL PRIMARY KEY, navn VARCHAR(20) ); CREATE TABLE student ( studnr INT AUTO_INCREMENT NOT NULL PRIMARY KEY, etternavn VARCHAR(20), fornavn VARCHAR(20) ); Kai Olav Ellefsen, NTNU, 2010

  30. Oppsummering • Databaser brukes til å håndtere store datamengder • Databaser modelleres ved hjelp av: • Entiteter: substantiver som f.eks. person, konto, film, bok, etc. • Relasjoner: forbinder substantivene som f.eks. bok har forfatter • Attributter: beskriver substantivene som f.eks. personnummer Kai Olav Ellefsen, NTNU, 2010

  31. Oppsummering (2) • Database design består vanligvis av fire steg: • Kravanalyse: Innsamling og analyse av krav til databasesystemet • Konseptuelt design: Modellere databasens informasjonsinnhold som en konseptuell datamodell • Logisk design: Strukturere informasjonsinnholdet i form av en logisk databasemodell • Fysisk design: Konfigurere databasemodellen som et databaseskjema for et spesifikt DBMS Kai Olav Ellefsen, NTNU, 2010

  32. Oppgave: ER-diagram • Lag et ER-diagram for en filmdatabase • Relevante tabeller er film, regissør og skuespiller • Attributter: • Film: Navn, årstall • Skuespiller: Navn, fødselsår • Regissør: Navn, fødselsår • Velg relasjoner, primærnøkler og kardinalitet selv Kai Olav Ellefsen, NTNU, 2010

  33. Løsningsforslag Spiller i Regissør -id -Navn -Fødselsår Film -id -Navn -Årstall Skuespiller -id -Navn -Fødselsår Regisserer Kai Olav Ellefsen, NTNU, 2010

More Related