Hva er en flat fil?
En flat fil er en samling av informasjon som er lagret og får tilgang til i en database, ofte laget for å lagre informasjon på en ikke-strukturert måte. Comma Separated Value (CSV) -ark, for eksempel, presenterer informasjon med hvert felt atskilt fra det neste med et komma. Mens et flatt filsystem gir noen fordeler, gjør det ofte store datamengder ganske tungvint å lagre og få tilgang til. De fleste databaser som brukes i dag er relasjonssystemer som bruker strukturerte spørringer for å hente informasjon og presentere den for brukeren.
Hvordan det fungerer
For å gjøre en flat fildatamodell funksjonell, må all relevant informasjon om en post lagres i den samme filen. I et CSV-ark gjelder for eksempel ingen applikasjonsspesifikke formater for dataene som finnes i filen; bare et komma angir slutten på ett felt i en post. Hver post er skrevet på en linje i filen, slik at alle data for en enkelt post kan lagres separat fra andre poster.
Slike databaser kan fort bli veldig store og vanskelige å administrere på grunn av den enkle måten de er organisert på. Mange moderne datamodeller bruker tilkoblede tabeller for å organisere grupper med relaterte data. Dette gjør slik informasjon lettere å finne og mer fleksibel å jobbe med.
Bruke et flatt system
Hvis en kunde ringer en bedrift for å gjøre en bestilling, legger noen informasjonen inn i en tabell eller database. Den samme personen, eller noen andre, legger deretter inn informasjon for den bestemte ordren. Et flatt filsystem kan lagre all denne informasjonen for kunden i en enkelt fil.
Dette er imidlertid ikke nødvendig, slik at flere filer kan opprettholdes: en for kunden og en for hver enkelt ordre. Informasjon om en ordre som er lagret i en flat fil er ikke assosiert med informasjon om kunden som er lagret i en annen. Disse filene er ikke relatert på noen måte, så noen som bruker en flat fildatabase for å finne kundeinformasjon, kan lett gå glipp av flere filer om bestillinger.
Svakheter ved dette systemet
Siden hver post må være fullstendig i seg selv, resulterer et flatt filsystem vanligvis i veldig store filer eller mangel på tilkobling mellom informasjonen i den. Den vanlige databasen som brukes i dag er en relasjonsdatabase. Denne modellen gjør at informasjon i en tabell kan relateres til andre tabeller ved hjelp av nøkkelfelt som finnes i hver enkelt. Flere tabeller kobles sammen gjennom disse feltene, slik at hver enkelt kan ha en del av den totale informasjonen som trengs.
Relasjonsdatabaser
Det samme kundeeksemplet som er gitt ovenfor, kan se ganske annerledes ut i en relasjonsmodell. Når kunden ringer for å legge inn en ordre, legger noen inn informasjonen sin i en "kundetabell" i databasen. En annen person kan deretter legge inn informasjon for bestillingen sin i en egen tabell. Hver av disse tabellene inneholder felt som kobler dem til hverandre. Dette betyr at noen kan bruke systemet til lettere å finne all informasjonen til en kunde, inkludert total ordrehistorikk.
Fortsatt bruk
Flatfildatabaser har noen bruksområder, selv om funksjonaliteten til denne datamodellen ikke er like effektiv som en raskere, relasjonell tilnærming. Enkle systemer kan enkelt inneholde grunnleggende informasjon for en rask database. Mangelen på tilkoblede felt eliminerer også feil som kan oppstå fra manglende tabeller, så mange nedlastbare databaser bruker dette formatet for å unngå slike problemer.