introduksjon til fagfeltet

12
LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Else Lervik, august 2012 Forelesning 1, uke 34 Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side 9 Klient-tjener arkitektur side 10 Datakatalog – metadata side 11 Eksempel på databasetabeller side 12 Læreboka, kapittel 1

Upload: jalene

Post on 14-Jan-2016

79 views

Category:

Documents


0 download

DESCRIPTION

Introduksjon til fagfeltet. 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduksjon til fagfeltet

LC238D Datamodellering og databaserhttp://www.aitel.hist.no/fag/_dmdb/

Introduksjon til fagfeltet

Else Lervik, august 2012 Forelesning 1, uke 34

Datafiler side 2Databasesystemer side 3-5Databasearkitektur ANSI/SPARC side 6-7Datamodeller side 8Flerbruker databasesystem side 9Klient-tjener arkitektur side 10Datakatalog – metadata side 11Eksempel på databasetabeller side 12

Læreboka, kapittel 1

Page 2: Introduksjon til fagfeltet

Datamodellering og databaserElse 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

Page 3: Introduksjon til fagfeltet

Datamodellering og databaserElse 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)

Page 4: Introduksjon til fagfeltet

Datamodellering og databaserElse 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

Page 5: Introduksjon til fagfeltet

Datamodellering og databaserElse 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

Page 6: Introduksjon til fagfeltet

Datamodellering og databaserElse Lervik

side 6

Databasearkitektur – ANSI/SPARCEt 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

Page 7: Introduksjon til fagfeltet

Datamodellering og databaserElse Lervik

side 7

Eksempel på de tre nivåene

ansNr fornavn etternavn lønn avdeling

ansNr fornavn etternavn avdeling ansNr fornavn etternavn lønn

struct ansatt { int ansNr, char fornavn[40], char etternavn[30], float loenn, struct ansatt *neste;};index ansNr;index avdeling;

Page 8: Introduksjon til fagfeltet

Datamodellering og databaserElse 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)

Page 9: Introduksjon til fagfeltet

Datamodellering og databaserElse Lervik

side 9

Flerbruker databasesystem

database

OIe

Per

Ingrid

Kari

Page 10: Introduksjon til fagfeltet

Datamodellering og databaserElse Lervik

side 10

Klient-tjener arkitektur

Page 11: Introduksjon til fagfeltet

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 databaserElse Lervik

side 11

Page 12: Introduksjon til fagfeltet

Datamodellering og databaserElse 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