5. Hva består en database av ?
SelveSelve databasendatabasen med lagrede datamed lagrede data
Data DictionaryData Dictionary (System-kataloger)(System-kataloger)
med alle nødvendige opplysninger om databasensmed alle nødvendige opplysninger om databasens
strukturstruktur
DBMSDBMS - DataBase Management System- DataBase Management System
Database software til operasjoner på databasenDatabase software til operasjoner på databasen
6. DBMS
Akseptere data og instruksjoner fraAkseptere data og instruksjoner fra
brukerbruker
Gjenfinne informasjon fra databasenGjenfinne informasjon fra databasen
Oppdatere databasenOppdatere databasen
Sikre dataene i databasenSikre dataene i databasen
Software system for håndtering av informasjon i en database.
Software system for å organisere data som modellerer informasjon
fra den virkelige verden.
DBMS har 4 hoved-oppgaver:
7. Eksempel på innhold i en database
TablesTables
IndexesIndexes
TriggersTriggers
ViewsViews ProceduresProcedures
RulesRules
DatatypesDatatypes
DefaultsDefaults
Database
12. Ulike typer databaser
Hierarkiske databaserHierarkiske databaser
Nettverks-databaserNettverks-databaser
Invertert liste databaseInvertert liste database
Relasjons-databaseRelasjons-database
Nr 1Nr 1
Nr 2Nr 2
Nr 3Nr 3
Nr 4Nr 4
Invertert liste databaseInvertert liste database Invertert liste databaseInvertert liste database Relasjons databaseRelasjons database
Hierarkisk databaseHierarkisk database Relasjons databaseRelasjons database Hierarkisk databaseHierarkisk database
Nettverks databaseNettverks database Hierarkisk databaseHierarkisk database Nettverks databaseNettverks database
Relasjons databaseRelasjons database Nettverks databaseNettverks database Invertert liste databaseInvertert liste database
Rang- Platelager- CPU- Utviklings- og
ordning belastning forbruk vedlikeholds-kostnader
Editor's Notes
I dette kapitlet skal vi benytte kunnskapene våre fra de foregående kapitlene til å utarbeide ulike diskrete sannsynlighetsmodeller.For en gitt oppgave vil det da kunne være hensiktsmessig å finne ut om betingelsene er oppfylt for å kunne benytte en eller flere av disse modellene med tilhørende ferdige utarbeidede metoder.Simuleringer knyttet til dette kapitlet finner du her.
<number>
Det finnes ingen presis definisjon av database.
Kanskje er det nærliggende å starte med en mest mulig omfattende
definisjon for etterhvert å la den bli mer detaljert.
I første omgang kan vi si at:
En database er en samling av data.
En slik definisjon vil være svært generell og omfatte langt mer enn det
de fleste forbinder med en database.
Siden det i en database eksisterer relasjoner (forbindelser) mellom ulike data,
kan vi forsøke med følgende definisjon:
En database er samling av relatert informasjon
<number>
En database inneholder data.
I en database kan vi tillegge dataene eierforhold eller tilgangsrettigheter.
Typisk for en database er at data deles mellom ulike eiere eller at ulike
brukere har tilgang til felles data i tillegg til egne data.
<number>
Til høyre vises databasens tre hoved-deler:
Selve dataene, DD (Data Dictionary) og DBMS.
Brukere av databasen benytter ulike applikasjons-program ved operasjoner
mot databasen. Disse applikasjons-programmene opererer ikke direkte på
databasen, men henvender seg til DBMS. DBMS fungerer altså som et slags
mellomledd mellom brukernes applikasjons-program og selve dataene
i databasen.
<number>
En database kan vi dele i følgende tre hoved-deler:
- Selve databasen hvor dataene ligger lagret.
- Data Dictionary (System-kataloger) hvor det ligger lagret informasjon om
databasens struktur (eierforhold, tilgangsrettigheter, tabeller, relasjoner, …)
- DBMS (Database Management System).
Dette er program (software) til bruk ved operasjoner (lesing, oppdatering,
innsetting, sletting, …) på databasen.
<number>
Fire hoved-oppgaver for DBMS
<number>
La oss se litt nærmere på selve databasen der dataene ligger lagret.
I en relasjons-database ligger alle dataene lagret i såkalte tabeller.
Dette er to-dimensjonale arrays bestående av rader og kolonner.
Views:Virtuelle tabeller.
Dataene kan være deler av tabell-data eller
en sammenslåing av data fra flere relaterte tabeller.
Indexes:Hjelpetabeller for raskere oppslag i tabeller.
Procedures:Ferdigkompilerte sekvenser av SQL-statement.
Triggers:Ferdigkompilerte rutiner som eksekveres under gitte
forutsetninger.
Rules:Regler for kolonne-verdier (eks: Datoer skal være innen 1-31.
Datatypes:Opplysninger om datatyper i de enkelte kolonner (eks: Number)
Defaults:Kolonne-verdier hvis ingenting annet er spesifisert
(eks: Dagens dato hvis ingenting annet er spesifisert)
<number>
Fordeling av et database-programsystem på brukerens applikasjon
og databasens DBMS har endret seg over tid.
I hoved-trekk har flere oppgaver etterhvert blitt flyttet fra brukerens
applikasjon til databasens DBMS.
De to mest ekstreme tilfellene viser DBMS med kun programdeler rettet mot
de enkelte datafilene og en brukerapplikasjon som kun tar seg av
brukergrensesnittet henholdsvis.
<number>
I et større informasjons-system er databaser og ulike bruker-applikasjoner
koblet sammen i et nettverk.
Databasene med sine DBMS er samlet på en eller flere såkalte servere,
mens de enkelte bruker-applikasjoner befinner seg som såkalte klienter.
En server tar seg vanligvis av de tyngste database-operasjonene, mens
en klient tar seg av de lettere delene av database-oppgavene eller
i de mest ekstreme tilfellene kun grensesnittet.
<number>
Det finnes ulike typer Client/Server modeller fra servere som tar seg av de
fleste oppgavene (til og med deler av brukergrensesnittet (BGS))
til servere som kun inneholder en del av dataene og hvor klient-siden
tar seg av de fleste operasjonene.
<number>
Ulike generasjoner utviklingsverktøy er blitt utviklet i tilknytning til
database-utvikling.
Figuren viser databasen, 4GL og CASE plassert i forhold til
utviklingsfasene analyse, design og konstruksjon
og i forhold til selve dataene, prosessene knyttet til database-aksess
og brukergrensesnitt.
<number>
Relasjons-databaser danner pr idag en standard blant ulike typer
databaser. Dette henger samamen med bl.a.:
- Relativt lave utviklings- og vedlikeholds-kostnadene.
- Reduserer lagring av redundante (overflødige) data.
- Data kan lett omorganiseres og kombineres i nye relasjoner.
- Data kan lett oppdateres idet disse vil bli oppdatert på en minimum antall
steder.
- Reduserer behovet for diskplass.