maandag 5 december 2011

Programma's Begrijpen: Data structuren verder uitgelegd


“Op ieder potje, past een datamodel en kan net zoveel bevatten.”
                                                                                                - Sam Rain
Data structuren zijn abstracte vormen voor informatie; feitelijk zijn ze niet meer dan een tactisch ontworpen concept voor geheugenruimte, welke opgebouwd zijn uit primitieve datatypes. Het voordeel van deze flexibiliteit is dat ze zowel simpel als complex kunnen zijn en informatie als een verzameling beschikbaar maken. Naast een handig mechanisme om informatie te verwerken, zijn ze ook van cruciaal belang voor uitwisseling; diverse structuren kunnen een standaard worden voor diverse programma’s of systemen – beter bekend als een formaat – denk maar eens aan foto’s of tekstdocumenten.
Wanneer gegevens uitgewisseld worden met andere programma’s, moet de informatie aan iedere zijde gelijk zijn; de structuur wordt universeel en uitwisselbaar (‘compatibiliteit’). Deze structuur is dan een ontwerp op zichzelf en wordt daarom een ‘data model’ genoemd. Technische artikelen die data structuren beschrijven slaan vaak het toepasbare gebied over en leggen het vergrootglas op de mechaniek terwijl juist data structuren vaak de eerste stap zijn, de meest cruciale gegeven zullen bevatten en het falen of slagen van een applicatie bepalen. Een overvloed aan informatie ‘kost’ geheugen, vereist meer tijd om te verwerken en zit verweven in grote delen van de kern. Te weinig informatie betekend een aantal technische ‘bypassen’ chirurgie om informatie toch volledig te maken.
Data modellen voor de industrie moeten dus aan een aantal voorwaarden voldoen om ‘robuust’ te zijn als oplossing:
·      een model moet een ‘uniek’ veld bevatten voor identificatie
·      een model moet ‘meta-data’ ondersteunen
·      een model moet zo compact mogelijk zijn
Data modellen hebben identificatie nodig om ‘relationeel’ behandeld te kunnen worden; ze fungeren als ‘primaire sleutel’ (x ‘buitenlandse’ sleutels zijn optioneel) en de industrie werkt zelden met enkele gegevens. Het is vrij normaal om met meer dan 10.000 unieke gegevens tegelijk te werken voor ‘volwassen’ oplossingen. Meta-data is de informatie over de informatie: vaak zal men een aantal waarden nodig hebben, zoals metingen of de status per unieke verzameling. De redenen voor compacte modellen zijn snelheid en efficiëntie; een bepakte verzameling ‘kost’ niet alleen tijd en geheugen, maar verkwist het ook. Wanneer een data model tot ‘leven’ wordt geroepen, neemt het geheugen in beslag, om gevuld te worden met informatie. De componenten in een applicatie werken met procedures, die ‘argumenten’ vereisen. Argumenten zijn nieuwe variabelen, dus wanneer een argument het type is van het data model zullen de meeste programmeertalen de opdracht geven om alle gegevens te ‘klonen’, terwijl het om een ‘pietluttige’ verwerking kan gaan.
Een data structuur kan uit meerdere modellen bestaan, zodat deze efficiënt verwerkt kan worden. Echter moeten de verwijzingen bij zo’n verwerking dan ook precies kloppen: dit wordt ‘mapping’ genoemd (vrij vertaald: ‘in kaart gebracht’). Wanneer er meer informatie wordt geplaatst in een structuur dan bedoeld is, vind er een ‘overflow’ (overstroming) plaats en valt de applicatie in een foutafhandeling, of erger: stopt ermee. Bij te weinig informatie blijven delen van de verzameling gegevens ongedefinieerd, waardoor er onverwachte resultaten te weeg kunnen komen.
Een data structuur is een blauwdruk; het is op zichzelf alleen een definitie. Wanneer de definitie bepaald is, kan de structuur gebruikt worden zoals ieder ander datatype. Met het label dat eraan gegeven is maakt de computer een nieuw object aan in het geheugen. Dit proces heet instantiëren en het object heet daarom een ‘instantie’.

Meer lezen over Informatie Technologie? Klik hier voor de inhoudsopgave voor alle artikelen!
©SamRain
Data structuren

Geen opmerkingen:

Een reactie posten