Hvad er en flad fil?
En flad fil er en samling af oplysninger, der gemmes og åbnes sekventielt i en database, ofte oprettet til at gemme information på en ikke-struktureret måde. CSV-ark (Comma Separated Value) viser for eksempel information med hvert felt adskilt fra det næste med et komma. Mens et fladt filsystem tilbyder nogle fordele, gør det ofte store mængder data ganske besværlige at gemme og få adgang til. De fleste databaser, der bruges i dag, er relationelle systemer, der bruger strukturerede forespørgsler til at hente information og præsentere dem for brugeren.
Hvordan det virker
For at gøre en flad fildatamodel funktionel skal alle relevante oplysninger om en post gemmes i den samme fil. På et CSV-ark gælder for eksempel ingen applikationsspecifikke formater for dataene indeholdt i filen; kun et komma betegner slutningen på et felt i en post. Hver post er skrevet på en linje i filen, så alle data for en enkelt post kan gemmes separat fra andre poster.
Sådanne databaser kan hurtigt blive meget store og vanskelige at administrere på grund af den enkle måde, de er organiseret på. Mange moderne datamodeller bruger tilsluttede tabeller til at organisere grupper af relaterede data. Dette gør sådanne oplysninger lettere at finde og mere fleksible at arbejde med.
Brug af et fladt system
Hvis en kunde ringer til en virksomhed for at afgive en ordre, indtaster nogen hans eller hendes oplysninger i en tabel eller database. Den samme person eller en anden person indtaster derefter oplysninger til den bestemte rækkefølge. Et fladt filsystem gemmer muligvis alle disse oplysninger for kunden i en enkelt fil.
Dette er dog ikke nødvendigt, så flere filer kunne vedligeholdes: en for kunden og en for hver enkelt ordre. Oplysninger om en ordre, der er gemt i en flad fil, er ikke tilknyttet oplysninger om kunden, der er gemt i en anden. Disse filer er ikke relateret på nogen måde, så nogen, der bruger en flad fildatabase til at finde kundeoplysninger, kan let gå glip af yderligere filer om ordrer.
Svagheder ved dette system
Da hver post skal være komplet i sig selv, resulterer et fladt filsystem normalt i meget store filer eller en mangel på forbindelse mellem informationerne deri. Den almindelige database, der bruges i dag, er en relationsdatabase. Denne model tillader, at information i en tabel er relateret til andre tabeller ved hjælp af nøglefelter, der findes i hver enkelt. Flere tabeller forbindes gennem disse felter, hvilket tillader, at hver enkelt har en del af den samlede information, der er nødvendig.
Relationsdatabaser
Det samme kundeeksempel, der er angivet ovenfor, ser måske meget anderledes ud i en relationsmodel. Når kunden ringer for at afgive en ordre, indtaster nogen hans eller hendes oplysninger i en "kunde" -tabel i databasen. En anden person kan derefter indtaste oplysninger om hans eller hendes ordre i en separat tabel. Hver af disse tabeller inkluderer felter, der forbinder dem med hinanden. Dette betyder, at nogen lettere kan bruge systemet til at finde alle oplysninger til en kunde, inklusive total ordrehistorik.
Fortsat brug
Flade fildatabaser har nogle anvendelser, selvom funktionaliteten af denne datamodel ikke er så effektiv som en hurtigere, relationel tilgang. Enkle systemer kan nemt indeholde grundlæggende oplysninger til en hurtig database. Manglen på tilsluttede felter eliminerer også fejl, der kan opstå som følge af manglende tabeller, så mange downloadbare databaser bruger dette format til at undgå sådanne problemer.