Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.

Liknende presentasjoner


Presentasjon om: "LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside."— Utskrift av presentasjonen:

1 LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside 2 Databasesystemerside 3-5 Databasearkitektur ANSI/SPARCside 6-7 Datamodellerside 8 Flerbruker databasesystemside 9 Klient-tjener arkitekturside 10 Datakatalog – metadataside 11 Eksempel på databasetabellerside 12 Læreboka, kapittel 1

2 Datamodellering og databaser Else Lervik side 2 Datafiler •Historien –papirbaserte arkiver –elektroniske arkiver •Hva karakteriserer datafiler og et programs bruk av disse? –ofte har hver applikasjon sitt sett av filer –flere programmer / brukere kan ikke jobbe samtidig på filene –svært tungvint med annet enn sekvensielle filer –datidens maskinressurser krevde direkte tilgang •Generelle problemer –sterk avhengighet mellom program og datafiler –all datakontroll må ligge i programmene –endringer tungvindt, programmene forutsetter dataene i bestemt format og rekkefølge –dobbeltlagring

3 Datamodellering og databaser Else Lervik side 3 Databasesystemer •En database er en samling data som logisk hører sammen. Sammen med dataene lagres en beskrivelse av dataene (metadata, datakatalog). •Datakatalogen gjør data og program uavhengig av hverandre. •Et databasesystem (Database Management System DBMS) er et stort programsystem som hjelper oss å holde orden på dataene –Databasesystemet tar seg av filbehandlingen –Effektive rutiner for lagring og søking –Standardisert språk for å håndtere dataene: SQL •Språk for å definere dataene: DDL Data Definition Language •Språk for å vedlikeholde og søke i dataene: DML Data Manipulation Language –Ulike grupper brukere •Sentral rolle: DBA – database-administrator •Andre brukere kan gis rettigheter på forskjellige nivåer –Sikkerhet og flerbrukerhåndtering •Kjente relasjonsdatabasesystemer –SQL Server –MySQL –Oracle –PostgreSQL –(Java DB / Derby)

4 Datamodellering og databaser Else Lervik side 4 Databasesystemets funksjonalitet •Data må kunne lagres, endres, gjenfinnes og slettes •Metadata må lagres og være tilgjengelig for brukerne •Støtte for transaksjonshåndtering –En transaksjon er en enhet arbeid som må utføres i sin helhet. Kan bestå av flere oppdateringer. –En transaksjon er enheten ved gjenoppretting. Transaksjoner må holdes intakt. –Systemet må sørge for låsing av data når flere brukere skal oppdatere samtidig, slik at dataene blir oppdatert korrekt. •Sikkerhet –Dataene må beskyttes mot uautorisert bruk –Gjenoppretting etter systemutfall •Integritet –Krav må kunne legges i databasen

5 Datamodellering og databaser Else Lervik side 5 Fordeler/ulemper ved databasesystemer •Fordeler –Kontrollert duplisering av data, kun for å kople sammen tabeller –Hele organisasjonen / mange applikasjoner /mange brukere har adgang til de samme dataene –Bedre dataintegritet og sikkerhet –Helhetssyn framfor særinteresser –Enklere vedlikehold pga program – datauavhengighet –Rutiner for sikkerhetskopiering og gjenoppretting •Ulemper –Kompleks programvare som ofte krever kompetent driftspersonale –Investeringskostnadene kan være store, men open-source-systemer (PostgreSQL, mySQL, Java DB) er konkurransedyktige –Kan bli dyrt å flytte applikasjoner fra et system til et annet, dersom en ikke tenker standardisering og kompatibilitet –Ytelsen i forhold til spesiallagde programmer kan i helt spesielle tilfeller være lav

6 Datamodellering og databaser Else Lervik side 6 Databasearkitektur – ANSI/SPARC Et ideal som skal gjøre DBMS mest mulig robuste Datauavhengighet er stikkordet •skjema = databasebeskrivelse •eksternt skjema (subskjema) –applikasjonens vindu(-er) mot databasen –brukerne er sluttbrukere •konseptuelt skjema –modell av hele databasen –brukerne er DBA –dataene som tabeller •internt nivå –indekser, fysisk rekkefølge av poster, etc •fysisk nivå –oppdelingen av disken i sider, blokker osv. •logisk datauavhengighet –eksterne skjema uavhengig av endringer i det konseptuelle skjema •fysisk datauavhengighet –lagringsstrukturer må kunne endres uten at det berører det konseptuelle skjema

7 Datamodellering og databaser Else Lervik side 7 Eksempel på de tre nivåene ansNr fornavn etternavn lønn avdeling ansNr fornavn etternavn avdelingansNr fornavn etternavn lønn struct ansatt { int ansNr, char fornavn[40], char etternavn[30], float loenn, struct ansatt *neste; }; index ansNr; index avdeling;

8 Datamodellering og databaser Else Lervik side 8 Datamodeller •En datamodell beskriver data, sammenhenger mellom data og krav til dataene •Et verktøy for kommunikasjon mellom brukere/oppdragsgivere og utviklere •Ekstern datamodell, konseptuell datamodell, intern datamodell •Objektbasert datamodell (UML) •Postbasert datamodell (tabellene)

9 Datamodellering og databaser Else Lervik side 9 Flerbruker databasesystem database OIe Per Ingrid Kari

10 Datamodellering og databaser Else Lervik side 10 Klient-tjener arkitektur

11 Datakatalog - metadata •Databasesystemet inneholder alltid en datakatalog •En database med metadata = data om data –”Derby system tables” i Derby Reference Manual •Grafisk grensesnitt •SQL-basert grensesnitt –select * from SYS.SYSCONSTRAINTS; // mulig å gjenfinne primærnøkkelen i person-tabellen her Datamodellering og databaser Else Lervik side 11

12 Datamodellering og databaser Else Lervik side 12 Eksempel på databasetabeller •Lag database: –studnr, navn, adresse, postnr, poststed, emnekode, emnenavn, karakter (kun én karakter pr. student og emne) –Hvilke tabeller? –Prøv! –Tenk objektorientert, finn objekter (klasser) og fordel attributtene. –Tegn klassediagram uten operasjoner («datamodell») –Lag tabellene. –Hva karakteriserer en databasetabell? •Vis enkel bruk av Java DB i NetBeans (repetisjon) –Kun én tabell med persondata (navn og nr) –SQL-setninger •Data Definition Language (DDL) –lage tabellen •Data Manipulaton Language (DML) –legge inn data –søke –endre data –slette data


Laste ned ppt "LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside."

Liknende presentasjoner


Annonser fra Google