Hvad er en database? Definition og typer
โก Smart opsummering
Hvad er en database? En database er en systematisk, struktureret samling af data, der understรธtter elektronisk lagring, hentning og administration. Den driver hverdagssystemer fra telefonbรธger til sociale netvรฆrk og drives via software kaldet et databasestyringssystem (DBMS).

Hvad er data?
I enkle vendinger, data er fakta om et objekt af interesse. Dit navn, alder, hรธjde og vรฆgt er alle data om dig. Billeder, filer og PDF-filer kan ogsรฅ tรฆlle som data, fordi hver isรฆr indeholder oplysninger, der kan gemmes og behandles.
Hvad er en database?
A database er en systematisk indsamling af data. Databaser understรธtter elektronisk lagring, hentning og manipulation af data, hvilket gรธr datahรฅndtering nem i stor skala.
Overvej et par velkendte eksempler. En online telefonbog bruger en database til at gemme personer, telefonnumre og kontaktoplysninger. En elleverandรธr bruger en database til at hรฅndtere fakturering, kundeproblemer og fejlhistorik. Facebook gemmer medlemmer, venskaber, opslag, beskeder, annoncer og meget mere โ alt sammen findes i databaser. Mรธnsteret er det samme pรฅ tvรฆrs af brancher: organiser information, sรฅ applikationer og folk kan sรธge pรฅlideligt i den.
Typer af databaser
De mest almindelige databasetyper er opsummeret nedenfor. Hver er egnet til en bestemt dataform og arbejdsbyrde.
Distribuerede databaser
En distribueret database spreder data pรฅ tvรฆrs af flere websteder eller lokationer. Hvert websted beholder sit eget slice, mens klienter ser รฉn logisk database. Modellen er almindelig i globale applikationer, der krรฆver lav latenstid og lokal tilgรฆngelighed.
Relationsdatabaser
En relationsdatabase lagrer data i tabeller med rรฆkker og kolonner og bruger nรธgler til at relatere en tabel til en anden. Den kaldes ofte en RDBMS, men er stadig den mest populรฆre DBMS familie pรฅ markedet. Eksempler inkluderer MySQL, Oracle Database, PostgreSQLog Microsoft SQL Server.
Objektorienterede databaser
Objektorienterede databaser lagrer data som objekter, der hver isรฆr bรฆrer attributter og metoder, der definerer, hvilke operationer der er tilladt pรฅ dataene. De knytter sig tydeligt til objektorienterede programmeringssprog og fjerner behovet for et ORM-lag.
Centraliseret database
En centraliseret database opbevarer alle poster pรฅ en enkelt central server. Brugere opretter forbindelse fra mange steder til den samme database, hvilket forenkler administrationen, men gรธr serveren til et enkelt stridspunkt.
Open source databaser
Open source-databaser udgiver deres kildekode under en permissiv licens, sรฅ alle kan bruge, รฆndre og videredistribuere dem. MySQL, PostgreSQL, SQLite, MariaDBog MongoDB er vidt udbredte eksempler.
Cloud databaser
En cloud-database er optimeret til virtualiseret on-demand infrastruktur. Den leveres som en administreret tjeneste, skalerer lagring og beregning elastisk og tilbyder hรธj tilgรฆngelighed gennem indbygget replikering. Eksempler inkluderer Amazon RDS, Azure SQL-database, og Google Cloud Skruenรธgle.
Datavarehuse
A datalager centraliserer historiske og kumulative data fra mange kildesystemer for at understรธtte beslutningstagning, rapportering og prognoser. Det forenkler analyser ved at give organisationen en enkelt, pรฅlidelig version af sandheden.
NoSQL databaser
NoSQL-databaser hรฅndterer meget store, ofte ustrukturerede datasรฆt, der ikke passer pรฆnt ind i rรฆkker og kolonner. Dokument-, nรธglevรฆrdi-, kolonnefamilie- og graflagre adresserer hver isรฆr et forskelligt adgangsmรธnster og giver horisontal skalerbarhed, som traditionelle relationelle databaser har svรฆrt ved at matche.
Grafdatabaser
En grafdatabase bruger grafteori โ noder og kanter โ til at gemme og forespรธrge pรฅ relationer direkte. Den er ideel til svindeldetektion, anbefalingsprogrammer og analyse af sociale netvรฆrk, hvor forbindelserne mellem enheder betyder lige sรฅ meget som enhederne selv.
OLTP-databaser
OLTP-databaser (Online Transaction Processing) fokuserer pรฅ transaktioner med hรธj kapacitet og lav latenstid i flerbrugermiljรธer. De garanterer ACID-egenskaber og er indstillet til mange smรฅ lรฆsninger og skrivninger, der driver operativsystemer sรฅsom salgssteder og bankapplikationer.
Personlig database
En personlig database lagrer data pรฅ en enkelt computer for en enkelt bruger eller et lille team. Microsoft Adgang og SQLite er typiske eksempler.
Multimodal database
En multimodal database understรธtter flere datamodeller โ for eksempel dokument, graf og nรธglevรฆrdi โ i en enkelt database. ArangoDB og Microsoft Azure Cosmos DB er populรฆre multimodale muligheder.
Dokument/JSON-database
I en dokumentorienteret database er hver post et selvstรฆndigt dokument, normalt i JSON, BSON eller XML. Et enkelt dokument kan indeholde rigt indlejrede data og varierende felter, hvilket gรธr modellen fleksibel til hurtige applikationer. MongoDB og Couchbase er velkendte eksempler.
Hierarkisk database
En hierarkisk database bruger en trรฆstruktur med forรฆldre-barn-relationer. Noder reprรฆsenterer poster, og grene reprรฆsenterer felter. Windows Registreringsdatabasen er aktiveret Windows XP og IBM IMS er klassiske eksempler pรฅ hierarkiske databaser.
Netvรฆrksdatabase
Et netvรฆrks-DBMS understรธtter mange-til-mange-relationer mellem poster, hvilket producerer mere komplekse strukturer end den hierarkiske model. RDM Server er et eksempel pรฅ et databasestyringssystem, der implementerer netvรฆrksmodellen.
Database komponenter
Databasekomponenter.
Enhver database er bygget op af fem komponenter, der arbejder sammen:
Hardware
Hardware er det fysiske lag โ computere, I/O-enheder, lagringsmedier og netvรฆrk. Det fungerer som grรฆnseflade mellem databasen og resten af โโverden.
Software
Software dรฆkker alt, der administrerer og kontrollerer databasen: selve DBMS'en, operativsystemet, netvรฆrkssoftwaren, der lader flere brugere dele data, og de applikationer, der lรฆser og skriver gennem DBMS'en.
Data
Data er de rรฅ fakta, observationer, tal, symboler og billeder, som databasen gemmer. Rรฅdata alene er meningslรธse; databasen organiserer og bearbejder dem til nyttig information.
Procedurer
Procedurer er de dokumenterede instruktioner og regler, der styrer, hvordan databasen designes, drives og vedligeholdes. De fortรฆller administratorer og brugere, hvordan systemet skal kรธres pรฅlideligt.
Sprog til databaseadgang
Et databaseadgangssprog โ oftest SQL โ giver brugere og applikationer mulighed for at indsรฆtte, opdatere, slette og forespรธrge pรฅ data. Brugere udsteder specifikke kommandoer, som DBMS'et analyserer, planlรฆgger og udfรธrer mod det underliggende lager.
Hvad er et Database Management System (DBMS)?
A Database Management System (DBMS) er det softwarelag, der lader brugerne definere, gemme, hente, opdatere og sikre data. A DBMS koordinerer adgang mellem mange brugere og applikationer, hรฅndhรฆver integritet og kontrollerer, hvem der kan se eller รฆndre hvad.
DBMS-teknologi er ikke ny โ Charles Bachmans Integreret datalager (IDS), bygget hos General Electric i begyndelsen af โโ1960'erne, er bredt anerkendt som det fรธrste databasesystem (DBMS). Siden da har feltet udviklet sig gennem hierarkiske, netvรฆrks-, relationelle, objektorienterede og NoSQL-modeller, der hver isรฆr adresserer den nรฆste generation af dataarbejdsbelastninger.
Historien om databasestyringssystemer
Milepรฆlene nedenfor trace udviklingen af โโdatabaseteknologi.
- 1960s โ Charles Bachman designer det fรธrste DBMS (Integrated Data Store) hos General Electric.
- 1968 โ IBM Skibes Informationsstyringssystem (IMS), et af de tidligste hierarkiske DBMS'er.
- 1970 โ Edgar F. Codd udgiver โEn relationel datamodel til store delte databankerโ og introducerer den relationelle model.
- 1976 โ Peter Chen formaliserer Entity-Relationship (ER)-modellen.
- 1980s - Det relationel model bliver det dominerende databaseparadigme, og SQL standardiseres.
- 1985 โ Objektorienterede DBMS'er ser ud til at passe til fremkomsten af โโOOP-sprog.
- 1990s โ Objektrelationelle funktioner ankommer i mainstream RDBMS'er.
- 1992 โ Microsoft udgiver den fรธrste version af Microsoft Adgang til personlige databaser.
- 1995 โ Webapplikationer begynder at drive brugen af โโdatabaser i internetskala.
- 1997 โ XML indtastes i databaser som bรฅde et format og et forespรธrgselsmรฅl.
- 2009 โ Udtrykket NoSQL gevinster traction i takt med at dokument-, nรธglevรฆrdi- og graflagre vokser hurtigt.
- 2010'erne og videre โ Cloud-native og distribuerede SQL-databaser (Aurora, Spanner, CockroachDB) dukke op.
Fordele ved DBMS
Et velimplementeret DBMS giver organisationer adskillige praktiske fordele:
- Tilbyder mange teknikker til effektiv lagring og genfinding af data.
- Balancerer behovene hos flere applikationer, der deler de samme data.
- Sรธrger for ensartede administrationsprocedurer.
- Beskytter applikationsprogrammรธrer mod lagringsoplysninger.
- Leverer dataintegritet og sikkerhed gennem begrรฆnsninger og adgangskontrol.
- Planlรฆgger samtidig adgang, sรฅ kun gyldige handlinger lykkes.
- Reducerer applikationsudviklingstiden gennem genanvendelige tjenester.
Ulemper ved DBMS
DBMS-modellen har ogsรฅ afvejninger:
- Omkostningerne til hardware og software kan vรฆre betydelige.
- De fleste systemer er komplekse, sรฅ brugere og administratorer har brug for trรฆning.
- Centralisering af data i en enkelt database skaber et vรฆrdifuldt mรฅl for nedbrud, korruption eller angreb.
- Samtidig adgang krรฆver omhyggeligt design for at undgรฅ tabte opdateringer og fastlรฅste situationer.
- Et DBMS er ikke designet til tung numerisk beregning; specialiserede vรฆrktรธjer hรฅndterer den arbejdsbyrde bedre.

