Hvad er en database?

En database er en samling af data, som er organiseret i et bestemt logisk system, så det nemt kan tilgås og opdateres. Databasen gør det muligt at oprette, slette, opdatere og trække data ud, så man kan benytte det til bl.a. at holde regnskab og foretage beslutninger baseret på den tilgængelige data.


Men hvad er “data”? Det kan kort sagt defineres som informationer, som kommer fra enten kvalitative eller kvantitative kilder, i form af bl.a. observationer, erfaringer og præmisser. Data kan komme i mange forskellige former – oftest er det tal, men det kan også være tekst, billeder, videoer og meget andet. Nogle mennesker skelner mellem udtrykkene “data” og “information”, hvor data bliver omdannet til information, i forbindelse med at det bliver analyseret.

Database

Data bliver brugt i forskningsarbejde, virksomhedsledelse, finans, statistik, og generelt i alt menneskelig organiseret aktivitet. Du kan bl.a. besøge hjemmesiden, Danmarks Statistik, for at se hvordan data er samlet til at skabe forskellige statistikker over Danmarks befolkning, såsom antallet af beskæftigede i Danmark og den gennemsnitlige levetid i Danmark.

Databasestyresystemer

Størstedelen af databaser styres på en computer med et databasestyresystem (Database Management System, DBMS). Et databasestyresystem er et program, som gør det muligt for brugeren at håndtere data i en digital database. Et godt databasestyresystem skal formå at gøre det nemt for mennesker at interagere med den, administrere den og opdatere, slette og hente data fra den. Databasestyresystemets funktioner kan overordnet defineres i fire grupper:

  • Datadefinition: Skabelse og organisering af data i databasen
  • Opdatering: Opdatering af eksisterende data i databasen
  • Hentning: Hentning af data i databasen, så det kan benyttes til analyse
  • Administrering: Registrering og overvågning af brugere, så kun de rigtige personer kan tilgå det rigtige data i databasen

Pga. den store udbredelse af databasestyresystemer, og fordi at man i dag sjældent bruger databaser som ikke er digitale, så bliver databasestyresystemer oftest bare refereret til som databaser.

Databaser kan komme i rigtig mange former og størrelser. Det kan variere fra mindre databaser som bliver opbevaret på en computers harddisk, til kæmpe virksomhedsdatabaser, som bliver opbevaret på store servere, som er forbundet til andre serverer i et digitalt netværk.

Databasemodeller

Databasens model definerer den logiske struktur for, hvordan dataet indrettes i et system og derfor har den stor betydning for, hvordan man interagerer med databasen. I 1960’erne, hvor databasestyresystemer begyndte at blive et udbredt fænomen, var det databasemodellerne, den hierarkiske model og netværksmodellen, som var de mest benyttede. I 1970 begyndte man at arbejde med relationelle databaser, som blev så udbredte, at alle databasemodeller som kom efter er blevet betegnet som “NoSQL-databaser”, altså ikke-relationelle databaser.

I dette afsnit vil vi gennemgå relationelle- og NoSQL-databaser da disse er de mest relevante og velkendte databasemodeller.

Relationelle databaser

Den relationelle databasemodel blev opfundet i 1970 af Edgar F. Codd i Californien. Relationelle databaser er umiddelbart den simpleste og mest benyttede databasemodel der findes. Strukturen i en relationel database kan sammenlignes med strukturen i et regnearksprogram, som f.eks. Microsoft Excel eller Google Sheets. De er opdelt i en eller flere tabeller, som består af kolonner og rækker.

Hver tabel indikerer en bestemt slags entitet – denne entitet kan være hvad som helst, f.eks. kunne tabellen indholde data om dine yndlingssange. I det tilfælde vil entiteten være “Yndlingssange”, og den kunne f.eks. se sådan her ud:

IDSANGKUNSTNERALBUMGENRE
1RunawayKanye WestMy beautiful Dark Twisted FantasyHip-Hop
2Smells Like Teen SpiritNirvanaNevermindGrunge
3One More TimeDaft PunkDiscoveryFrench house
4Ung For EvigtL.O.C.LibertinerHip-Hop
5The MorningThe WeekndHouse of BalloonsAlternative R&B
6PyramidsFrank OceanChannel OrangeAlternative R&B
77 RingsAriana Grandethank u, nextTrap-pop
8Kiss It BetterRihannaANTIPop
9White FerrariFrank OceanBlondeAlternative R&B
10Moonage DaydreamDavid BowieThe Rise and Fall of Ziggy Stardust and the Spiders from MarsGlam rock

Hver række i tabellen er en dataenhed af entiteten – i ovenstående eksempel er hver række en bestemt sang.

Hver kolonne i tabellen angiver en attribut, som definerer et bestemt led af den individuelle dataenhed – i ovenstående eksempel er der følgende attributter: ID, Sang, Kunstner, Album og Genre.

Hver tabel skal indeholde en primær nøgle – altså, en kolonne, som indeholder dataenheder der er helt unikke for hver række i tabellen. I ovenstående tabel er den primære nøgle den kolonne som hedder “ID”. Hver række i denne kolonne indeholder et unikt tal, som aldrig skal duplikeres.

Et relationelt databasesystem hedder Relational Data Stream Management System (RDSMS).Blandt de største og mest benyttede databasestyresystemer findes der MySQL, Microsoft SQL Server og Oracle.

Tabeller i en relationel database er forbundet med hinanden. En database for en virksomhed kunne f.eks. indeholde en tabel som udgør en oversigt over virksomhedens kunder og en anden tabel som udgør en oversigt over virksomhedens salg. Hvert salg vil selvfølgelig være tilknyttet en bestemt kunde, og på den måde er de to tabeller forbundet med hinanden. Hertil kan man f.eks. tilføje en tredje tabel, som kunne være en oversigt over virksomhedens produkter. Eftersom hvert salg indeholder et eller flere produkter, så vil den tredje tabel derfor også hænge sammen med de to andre tabeller.

Relationel database

Størstedelen af alle relationelle databaser benytter sproget SQL (Structured Query Language) til at definere og interagere med databasen. SQL er et slags programmeringssprog, som mennesker kan benytte til at interagere med relationelle databaser. Det er det mest benyttede i verden til dette formål. Du kan læse mere om og lære SQL i vores SQL-vejledning ved at klikke her.

NoSQL-databaser

Eftersom relationelle databaser og SQL er blevet et så populært fænomen, så er mange efterfølgende databasemodeller blevet defineret under én gruppe: NoSQL, også kaldet “ikke-relationelle databaser”. Der findes rigtig mange forskellige slags NoSQL-databaser, bl.a. dokument-databaser, nøgleværdi-databaser, graf-databaser, tidsstempel-databaser og objekt-databaser.

Begrebet “NoSQL” blev opfundet i 1998 af Carlo Strozzi, til at dække over alle de databasemodeller, som var blevet opfundet efter den relationelle databasetype.

NoSQL-databaser består ikke af nogle tabeller – i stedet bliver dataet opbevaret på andre måder. NoSQL-databaser gør op for mange af de svagheder, som er fundet i relationelle databaser. Mens relationelle databaser er bedst til at håndtere struktureret data (data som er navngivet og opdelt i grupper så man let kan gennemskue hvilken betydning dataet har), så er NoSQL-databaser bedst til at håndtere data med mindre struktur. Derudover er NoSQL-databaser mere fleksible både i forhold til dataets mængde og varians.

Da der er en grænse for mængden og variationen af data som en relationel database kan opbevare, så har man fundet mange praktiske benyttelser til NoSQL. Bl.a. til at opbevare Big Data, som er data der er så stort og varierende, at det overstiger mængdekapaciteten for de fleste computere.

Du kan læse mere om Big Data ved at klikke her.

Du kan også læse en mere uddybende artikel om NoSQL og de forskellige databasetyper som NoSQL indeholder, ved at klikke her.

Cloud-database

Blandt de nyeste databasetyper findes der typen cloud-database, som er en database der, modsat andre typer, opbevares i skyen fremfor på en server eller harddisk. Store virksomheder som Google og Amazon tilbyder Cloud-servere, hvor man kan opbevare sin database. Fordelen ved dette er, at hvis man skulle have behov for yderligere plads til sin database, så kan man blot købe sig til det af serverudbyderne.

Du kan læse mere om Cloud computing ved at klikke her.

Skriv et svar