Wat is een begrensd en een bestand met vaste breedte?

Laptopcomputer met spreadsheet op scherm

CSV-bestanden worden gebruikt om gegevens in spreadsheets te lezen.

Afbeelding tegoed: Stockbyte/Stockbyte/Getty Images

Elke regel in een bestand vertegenwoordigt een rij gegevens, maar die gegevens zijn meestal verdeeld in velden of kolommen. Er zijn twee standaardmethoden om velden af ​​te bakenen. Een daarvan is om velden met een vaste lengte te hebben, en dus records met een vaste lengte; de andere is om velden met variabele lengte te hebben met records met variabele lengte. Velden met variabele lengte moeten worden gescheiden door een symbool, dat het scheidingsteken is. Een database met records van variabele lengte zal een begrensd bestand produceren, een database van een met records met een vaste lengte produceert een bestand met een vaste breedte.

scheidingstekens

De meest voorkomende vorm van gescheiden bestanden gebruikt de komma als veldscheidingsteken. Deze bestanden worden door komma's gescheiden waarden (CSV)-bestanden genoemd. De komma is geschikt voor numerieke gegevens, maar kan een probleem met tekst veroorzaken. Andere scheidingstekens zijn de spatie (" ") balk ("|") of het hoedteken ("^"). De bestandsontwerper of programmeur moet een teken vinden dat zelden in de gegevens wordt gebruikt. Soms kan het nodig zijn om een ​​combinatie van tekens te gebruiken.

Video van de dag

Vaste velden

Het is niet altijd mogelijk om te garanderen dat één teken nooit zal worden gebruikt in gegevens die in bestanden moeten worden opgeslagen, dus de moeilijkheid om een ​​geschikt scheidingsteken te vinden, kan velden met een vaste lengte de voorkeur geven. Dit formaat zorgt voor overhead in zowel opslag als verwerking, dus bestanden met scheidingstekens komen vaker voor. Een veld met een vaste lengte moet worden opgevuld. De meest voorkomende vormen van opvulling zijn linkeropvulling met nullen voor numerieke gegevens en rechteropvulling met spaties voor tekst.

Procedures

Of een bestand nu een vaste breedte heeft of afgebakende velden bevat, de schrijf- en leesprogramma's moeten dezelfde conventies volgen. Een programma dat een bestand met een vaste breedte ontvangt, moet eerst de lengte en het gegevenstype van elk bestand weten. Een programma dat gescheiden bestanden ontvangt, moet het scheidingsteken kennen waarnaar moet worden gezocht.

Afgewezen records

In elk geval moeten importerende programma's procedures voor het rapporteren van uitzonderingen hebben die afgewezen records naar een apart bestand schrijven. De meest voorkomende reden dat een record met scheidingstekens wordt afgewezen, is dat het scheidingsteken in de gegevens wordt weergegeven, waardoor er extra kolommen ontstaan. Records met een vaste breedte worden meestal afgewezen omdat ze te lang zijn. Korte records veroorzaken meestal geen fouten. De laatste velden zullen leeg zijn. Als de laatste velden verplicht zijn, worden korte records afgewezen.