Database | et system til opbevaring og håndtering af data

En database er et system til opbevaring og håndtering af data (enhver form for information).

En databasemotor kan sortere, ændre eller levere oplysningerne i databasen. Selve oplysningerne kan lagres på mange forskellige måder; før digitale computere blev der brugt kortmapper, trykte bøger og andre metoder. Nu opbevares de fleste data på computerfiler.

Et databasesystem er et computerprogram til forvaltning af elektroniske databaser. Et meget simpelt eksempel på et databasesystem er en elektronisk adressebog.

Dataene i en database er organiseret på en eller anden måde. Før der fandtes computere, blev medarbejderdata ofte opbevaret i arkivskabe. Der var normalt ét kort for hver medarbejder. På kortet kunne man finde oplysninger som f.eks. medarbejderens fødselsdato eller navn. En database har også sådanne "kort". For brugeren vil kortet se ud på samme måde som i gamle dage, blot vil det denne gang være på skærmen. For computeren kan oplysningerne på kortet gemmes på forskellige måder. Hver af disse måder er kendt som en databasemodel. Den mest almindeligt anvendte databasemodel kaldes den relationelle databasemodel. Den bruger relationer og sæt til at lagre dataene. Almindelige brugere, der taler om databasemodellen, vil ikke tale om relationer; i stedet vil de tale om databasetabeller.




 

Anvendelse i databasesystemer

Databasesystemer anvendes bl.a. til følgende formål:

  • De lagrer data og giver mulighed for at søge efter specifikke poster i et givet datasæt.
  • De gemmer særlige oplysninger, der bruges til at administrere dataene. Disse oplysninger kaldes metadata og vises ikke for alle de personer, der ser på dataene.
  • De kan løse tilfælde, hvor mange brugere ønsker at få adgang til (og eventuelt ændre) de samme data.
  • De administrerer adgangsrettigheder (hvem har lov til at se dataene, hvem kan ændre dem)
  • Når der er mange brugere, der stiller spørgsmål til databasen, skal spørgsmålene besvares hurtigere. På denne måde kan den sidste person, der stiller et spørgsmål, få et svar inden for en rimelig tid.
  • Visse attributter er vigtigere end andre og kan bruges til at finde andre data. Dette kaldes indeksering. Et indeks indeholder alle de vigtige data og kan bruges til at finde andre data.
  • De sikrer, at dataene altid har en sammenhæng. Der kan tilføjes en masse forskellige regler, der kan fortælle databasesystemet, om dataene giver mening. En af reglerne kan sige, at november har 30 dage. Det betyder, at hvis nogen ønsker at indtaste 31. november som dato, vil denne ændring blive afvist.

 

Ændring af data

I databaser ændres nogle data lejlighedsvis. Der kan opstå problemer, når data ændres; der kan f.eks. være opstået en fejl. Fejlen kan gøre dataene ubrugelige. Databasesystemet ser på dataene for at sikre, at de opfylder visse krav. Det gør det ved hjælp af en transaktion. Der er to tidspunkter i databasen, nemlig tiden før dataene blev ændret, og tiden efter dataene blev ændret. Hvis der går noget galt, når dataene ændres, sætter databasesystemet simpelthen databasen tilbage til den tilstand, der var før ændringen fandt sted. Dette kaldes en rollback. Når alle ændringerne er gennemført med succes, bliver de bekræftet. Det betyder, at dataene giver mening igen; commit-ændringer kan ikke længere fortrydes.

For at kunne gøre dette følger databaser ACID-princippet:

  • Alle. Enten er alle opgaver i et givet sæt (kaldet en transaktion) udført, eller også er ingen af dem udført. Dette er kendt som atomicitet.
  • Komplet. Dataene i databasen giver altid mening. Der er ingen halvfærdige (ugyldige) data. Dette er kendt som konsistens.
  • Uafhængig. Hvis mange personer arbejder med de samme data, vil de ikke se (eller påvirke) hinanden. De har hver især deres egen opfattelse af databasen, som er uafhængig af de andre. Dette er kendt som Isolation.
  • Færdig. Transaktioner skal bekræftes, når de er færdige. Når de først er begået, kan de ikke gøres om. Dette er kendt som holdbarhed.

 

Database model

Der er forskellige måder at repræsentere data på.

  • Enkle filer (såkaldte flade filer): Dette er den mest enkle form for databasesystem. Alle data gemmes i en fil i almindelig tekst. Hver oplysning kan adskilles med en ny linje eller et komma osv.
  • Hierarkisk model: Dataene er organiseret som en træstruktur. De interessante data befinder sig i træets blade. Relationerne mellem dataene er af en sådan art, at nogle data er direkte afhængige af andre data.
  • Netværksmodel: Brug records og sæt til at gemme data. Svarer til hierarkisk model, men har en meget mere kompleks struktur.
  • Relationel model: Denne model anvender mængdelogik og prædikatlogik. Den er meget anvendt. Data ser ud som om de er organiseret i tabeller. Disse tabeller kan så sammenføjes, så der kan vælges enkle forespørgsler ud fra dem.
  • Objektorienteret model: Dataene repræsenteres i form af objekter, som det er tilfældet i objektorienteret programmering. De kan interagere direkte med det anvendte OOP-sprog, da de begge har den samme repræsentation af dataene internt.
  • Objekt-relationel model: Dette er en hybrid af den objektorienterede model og den relationelle model.
  • NoSQL-model: Dette er en ny form for databasemodel, som i stigende grad anvendes i industrien i big data- og realtidswebapplikationer. Dataene i denne model lagres som nøgle-værdipar uden noget strengt hierarki som i andre modeller. NoSQL-systemer kaldes også "Not only SQL", fordi de ikke tillader brug af forespørgselssprog, der ligner Structured Query Language.

 

Måder at organisere dataene på

Ligesom i virkeligheden kan de samme data ses fra forskellige perspektiver, og de kan organiseres på forskellige måder. Der er forskellige ting at tage hensyn til, når man organiserer dataene:

  • Hver enkelt oplysning skal gemmes så få gange som muligt. Forestil dig, at en ugift kvinde er opført i amtets registre, statens motorkøretøjsafdeling, den føderale socialsikringsafdeling og den internationale pasafdeling. Hvis hun gifter sig og beslutter sig for at ændre sit navn, skal alle disse afdelinger underrettes. Hvis alle afdelingerne var forbundet, og hendes navn kun var gemt ét sted, ville det være nemt at opdatere det.
  • Hvis dataene er gemt i flere forskellige databaser, kan de modsige sig selv.
  • Dette problem gør det langsommere at finde data. Hvis der er mange data, vil dette problem med at lagre et enkelt datastykke mange steder optage meget plads. I vores eksempel var der fire databaser for én person. Det vil være otte ændringer, hvis en anden person har nøjagtig samme problem.
  • Hvis du har dette problem, er der udviklet en metode, der hedder databasernormalisering, for at løse det. I øjeblikket findes der seks normalformer. Det er metoder til at gøre nogle databaser hurtigere og få dataene til at fylde mindre.

 

Relaterede sider

 

Spørgsmål og svar

Q: Hvad er en database?


A: En database er et system til opbevaring og håndtering af data (enhver form for information). Den kan bruges til at sortere, ændre eller betjene de oplysninger, der er gemt i den.

Spørgsmål: Hvordan lagrede folk data før digitale computere?


Svar: Før digitale computere blev der brugt kortmapper, trykte bøger og andre metoder til at lagre data.

Spørgsmål: Hvad er et databasesystem?


Svar: Et databasesystem er et computerprogram til forvaltning af elektroniske databaser. Det kan bruges til at organisere dataene på en eller anden måde.

Spørgsmål: Hvordan ser et "kort" ud i et gammeldags arkivskab?


A: I et gammeldags arkivskab var der normalt et kort til hver medarbejder med oplysninger som f.eks. fødselsdato eller navn på.

Spørgsmål: Hvordan ser den moderne pendant til dette "kort" ud?


A: Den moderne pendant til dette "kort" vises på skærmen i stedet for i fysisk form.

Spørgsmål: Hvad er en databasemodel?


A: En databasemodel henviser til de forskellige måder, hvorpå oplysningerne på "kortet" kan lagres af computeren. Den mest almindeligt anvendte model kaldes den relationelle databasemodel, som anvender relationer og mængder til at lagre data.

Spørgsmål: Hvordan refererer normale brugere til disse modeller, når de taler om dem? A: Almindelige brugere vil typisk omtale disse modeller som "databasetabeller" i stedet for at bruge tekniske udtryk som relationer eller mængder, når de taler om dem.

AlegsaOnline.com - 2020 / 2023 - License CC3