Dagens tema : Teori - Databaser

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Prissetting i norske bedrifter. Resultater fra en spørreundersøkelse
Trykk på mus eller tastatur for neste bilde…
1 NTNUs Multimediesenter 1.Integrasjon 2.Produksjon 3.Framtidsvisjon NTNUs Multimediesenter REN Medlemsmøte Trondheim 31. August 2005.
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Etablering av effektiv produksjon på tvers av landegrenser
Kartleggingsmateriell: Språkkompetanse i grunnleggende norsk
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
© 2006 IFS AB. All rights reserved.
Litt mer om PRIMTALL.
Hjemmeoppgave 1: Å høre etter NAVN: ……………………………….. DATO: ……………………….
Datamodellering/database
Grafisk design Visuell kommunikasjon
Programmering i ActionScript - hva er det, og hvordan undervise?
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Modeller for design av Web-Applikasjoner ➔ Kapittel 2: Data Modell ➔ Kapittel 3: Hypertekst Modell Av Eskil Saatvedt og Arianna Kyriacou.
Hva trenger jeg av data, og hvordan skal jeg innhente disse?
Møre og Romsdal. 2 Ligger det et bedehus eller et kristelig forsamlingshus (ikke kirke) i nærheten av der du bor? (n=502) i prosent.
Seksjon psykoser, sykehuset Levanger
Forskningsrapporten: Sjekkliste før innlevering (empirisk rapport)
NRKs Profilundersøkelse NRK Analyse. Om undersøkelsen • NRK Analyse har siden 1995 gjennomført en undersøkelse av profilen eller omdømmet til NRK.
Databaseteori.
1 Kap 04 Datamodellering. 2 Datamodellering -Et språk for å analysere og beskrive virkeligheten. -En metode for å beskrive naturlige sammenhenger i data.
Resultater Kundesenter
IS-102 Klassedefinisjoner
Prinsesse eller pirat – et fritt valg!
Gjenfinningssystemer og verktøy II
Databasehåndtering med MySQL
Søking og referansehåndtering Rurik Greenall universitetsbibliotekar Universitetsbiblioteket i Trondheim.
1 Øvingsforelesning 7 Kai Olav Ellefsen. 2 I dag… Databaser: Databasedesign og SQL JSP: Koble databasen til nettsiden Kai Olav Ellefsen, NTNU, 2010.
“Metonymi i orddannelse: russisk, tsjekkisk og norsk”
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
Prosjektoppgaven – krav og suksessfaktorer. Suksessfaktorer Bruk biblioteket Bruk veilederen Start skrivingen tidlig Jobb jevnt (lag gjerne tids- og handlingsplaner.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Software Requirements Elicitation
Skriv om slik at setningene betyr omtrent det samme
Kapittel 1, oppgave b) å kaste loss å seile uvær (n) kuling (m)
SINTEF Teknologi og samfunn PUS-prosjektet Jan Alexander Langlo og Linda C. Hald 1 Foreløpig oppsummering – underlag for diskusjon på PUS-forum
GRØNNALGER BRUNALGER RØDALGER
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Structured Query Language Kræsj-kurs
Anvendt statistisk dataanalyse i samfunnsvitenskap
ER-modellen, notasjon ENTITETS- Attributter TYPE Relasjon
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Introduksjon I126 Databaser og datamodellering Høsten 2000 Institutt for informatikk Universitet i Bergen.
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Spørsmål og aktiviteter på ulike nivåer
Samhandling og informasjon Kunnskaps- utvikling og refleksjon Menings- danning og over- talelse Skrive- kompetanser Handlinger og formål Kunn- skaps- lagring.
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Se ellers læreboka, kap , side
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Hvorfor? E/R-modellen Begreber Fremgangsmåde Diagrammering.
Kapittel 1, oppgave i) Sett inn preposisjoner eller adverb som passer.
Dagligbankundersøkelsen Fakta Dagligbankundersøkelsen intervju Befolkning 15 år + TNS Gallup Forfatter Bente Pettersen Roar Thorvaldsen.
Praksis krav, rapport & eksamen SPED 4000 – LML -
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Sneak peek og svar på spørsmål Ulf Jarre Jerpseth & Gyda Kjekshus
Grunnleggende begreper i personopplysningsloven (legaldefinisjoner)
Basisgrupper en nær professoren-opplevelse Knut Kaasen Nordisk institutt for sjørett Det juridiske fakultet Knut Kaasen 1.
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Utskrift av presentasjonen:

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

I dag… Teori: Databaser Læringsmål 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

Data og Informasjon Data Metadata Informasjon Kunnskap 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

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

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

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

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

Databaseverktøy database management system (DBMS) En samling av programmer for å lage og vedlikeholde en database: Definere en database spesifisere metadata for de data som skal lagres: datatyper, datanavn, datastrukturer og verdibegrensninger Konstruere en database legge inn og lagre data i databasen Manipulere en 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

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

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

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

Steg 2: Konseptuelt design (modellering) 2.1 Definere området som skal analyseres, avgjør modellens miniverden 2.2 Definer entiteter 2.3 Definere relasjoner mellom 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

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

Steg 2.2. Definer Entiteter (1) ting i 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

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

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

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

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

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

Kardinalitet (3) Skuespiller Film 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

Steg 2.4 Finn Nøkkelattributt (1) Entitet Abstrakt begrep Venn Instans En fysisk/faktisk realisering av en entitet Erlend Gry Venn Navn Antall DVDer Erlend 25 Gry 12 Kai Olav Ellefsen, NTNU, 2010

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 Persnr Navn Telefonnr 122386 22312 Erlend 5555 5555 241289 13313 Gry 2525 2525 Kai Olav Ellefsen, NTNU, 2010

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

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

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. Er det f.eks. mulig å finne hvilke forelesere en student har dersom man har studentnummeret til vedkommende. Kai Olav Ellefsen, NTNU, 2010

Steg 3: Logisk design Beskrive den konseptuelle modellen som en logisk databasemodell, ofte som tabeller: Student Studerer Studnr Etternavn Fornavn 1 Biff Mør 2 Eplekjekk Jo 3 Smør Kari Studnr Fagkode 1 TDT4105 2 TDT4240 3 Fag Fagkode Navn TDT4105 IT Grunnkurs TDT4240 Prog.arkitektur Kai Olav Ellefsen, NTNU, 2010

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

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

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

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

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

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

Løsningsforslag Regissør Film Skuespiller -id -id -Navn -id -Navn -Fødselsår Film -id -Navn -Årstall Skuespiller -id -Navn -Fødselsår Kan ha både skuespillere, filmer og regissører med samme navn Regisserer Kai Olav Ellefsen, NTNU, 2010