
I web-applikationer er databaser typisk fundamentet for hele applikationen - databasen indeholder det vigtigste, nemlig applikationens data. Data i en database er struktureret og på en form, der oftest understøtter, at data er nemt at trække ud igen.
I gamle dage, før udbredelsen af computere, strukturerede man også data, så det var nemt at holde styr på. Biblioteker holdte dengang styr på deres bøger og udlån i kartoteker med kartotektskort. En database kan netop opfattes som kartoteker med kartotekskort. Nedenfor er en database for et bibliotek. Databasen indeholder tre typer kartoteker (i database sprog, tabeller): En lånertabel, en bogtabel, og en udlånstabel.
Lånere:
Låner Nr. | Adresse | Postnr. | By | Fornavn | Efternavn |
---|---|---|---|---|---|
1 | Vestergade 7 | 1234 | Udby | Andrea | Andersen |
2 | Bredgade 1 | 1234 | Aarhus | Kasper | Hansen |
Bøger:
ISBN | Fornavn | Efternavn | Titel |
---|---|---|---|
6660000000000 | Andrea | Andersen | Intro til Databaser |
8883161484101 | Danny | Dalum | Mere om Databaser |
Udlån:
Dato | ISBN | Låner nr |
---|---|---|
01-03-2011 | 6660000000000 | 1 |
Tabellerne består af søjler og rækker. Rækkerne kan ses som et konkret kartoketskort, søjlerne i de enkelte rækker kan ses som indholdet af kortet i et struktureret format. I lånertabellen findes der to rækker, svarende til to kartotekskort.
I nutiden, kan man i stedet for kartoketskort, realiserer en sådan database som tre filer. Denne tilgang er fin, sålænge filerne indeholder et begrænset antal udlån, og der kun er en person til at adminstere filerne.
Antag i stedet at filerne var en database for alle kommunens biblioteker. I dette tilfælde vil der dukke problemer op:
- Filerne bliver meget lange og det vil komme til at tage lang tid at finde ting i databasen.
- For at der ikke skal opstå flaskehalse bliver flere brugere nødt til at kunne indsætte og slette data samtidigt. Dette medfører høj risiko for at data går tabt, fx hvis en bruger åbner filen, en anden bruger åbner efterfølgende filen, den første gemmer, og den sidste gemmer. I dette tilfælde vil den første brugers information gå tabt.
Et database system, fx MySql, løser de ovenstående problemer ved hjælp af avancerede algoritmer. Hovedsageligt er fordelen ved at benytte et database system kontra regulære filer på disken at:
- Flere brugere kan læse og skrive data på samme tid uden at data går tabt eller kommer til at indeholde fejl.
- Data kan findes hurtigt
I de følgende lektioner bliver det gennemgået hvordan en database som biblioteksdatabasen designes.