Utforska databaser

Slutförd

En databas används för att definiera ett centralt system där data kan lagras och frågas. I förenklad mening är filsystemet där filer lagras en typ av databas. men när vi använder termen i en professionell datakontext menar vi vanligtvis ett dedikerat system för att hantera dataposter i stället för filer.

Relationsdatabaser

Relationsdatabaser används ofta för att lagra och fråga efter strukturerade data. Data lagras i tabeller som representerar entiteter, till exempel kunder, produkter eller försäljningsorder. Varje instans av en entitet tilldelas en primärnyckel som unikt identifierar den, och dessa nycklar används för att referera till entitetsinstansen i andra tabeller. En kunds primära nyckel kan till exempel refereras till i en försäljningsorderpost för att ange vilken kund som har lagt beställningen. Med den här användningen av nycklar för att referera till dataentiteter kan en relationsdatabas normaliseras, vilket delvis innebär att dubbletter av datavärden elimineras så att till exempel information om en enskild kund endast lagras en gång, inte för varje försäljningsorder som kunden placerar. Tabellerna hanteras och efterfrågas med hjälp av Structured Query Language (SQL), som baseras på en ANSI-standard, så det liknar flera databassystem.

Image showing a relational database schema

Icke-relationsdatabaser

Icke-relationsdatabaser är datahanteringssystem som inte tillämpar ett relationsschema på data. Icke-relationsdatabaser kallas ofta NoSQL-databas, även om vissa stöder en variant av SQL-språket.

Det finns fyra vanliga typer av icke-relationsdatabaser som ofta används.

  • Nyckel/värde-databaser där varje post består av en unik nyckel och ett associerat värde, som kan vara i valfritt format.

    Image showing a key-value database

  • Dokumentdatabaser, som är en specifik form av nyckel/värde-databas där värdet är ett JSON-dokument (som systemet är optimerat för att parsa och fråga i)

    Image showing a document database

  • Kolumnfamiljedatabaser, som lagrar tabelldata som består av rader och kolumner, men du kan dela in kolumnerna i grupper som kallas kolumnfamiljer. Varje kolumnfamilj innehåller en uppsättning kolumner som är logiskt relaterade till varandra.

    Image showing a column family database

  • Graph-databaser, som lagrar entiteter som noder med länkar för att definiera relationer mellan dem.

    Image showing a graph database