Wat is een gegevendefinitietaal?
Een gegevendefinitietaal is een computerprogrammeer- of scripttaal die een gegevensstructuur definieert. Per definitie moeten deze talen drie dingen doen: gegevensstructuren maken, verwijderen en wijzigen. Wat ze buiten die drie gebieden doen, doet er niet toe, zolang ze die drie taken uitvoeren. Elke taal kan een gegevendefinitietaal zijn, maar de term wordt meestal toegepast op gestructureerde querytaal (SQL) en XML-schema's (Extensible Markup Language).
Toen de term datadefinitietaal in gebruik werd genomen, was deze van toepassing op een model van de Conference for Data System Languages (Codasyl). Het proces definieerde twee belangrijke gebieden van de ontwikkeling van de datastructuur: de datatefinitietaal vormde de feitelijke structuur van de database en de datamanipulatietaal definieerde de methoden voor het plaatsen van data in de structuur. Sindsdien zijn deze twee termen uitgebreid en generieke termen geworden voor de processen die ze behandelen.
De generieke voorwaarden zijn nu van toepassing op alle talen die hun oorspronkelijke functies uitvoeren. Zowel SQL als XML voeren alle vereiste taken uit en bieden veel functies die in het oorspronkelijke model afwezig waren omdat ze nog niet waren uitgevonden. Andere talen bieden ook deze mogelijkheden; ze worden gewoon veel minder vaak gebruikt.
Om een gegevendefinitietaal te zijn, moet de taal drie functies bieden. De eerste hoofdfunctie is de constructie van gegevensstructuren; In feite zijn dit tabellen die zijn ontworpen om specifieke groepen informatie vast te houden. Ze zien er vaak uit als een spreadsheet en houden pagina's vast waarnaar wordt verwezen. Het blad kan bijvoorbeeld een lijst bevatten met de klanten van een bedrijf aan de ene kant en een lijst met beschikbare producten bovenaan. Het blad zou een lijst bevatten van wanneer die klanten individuele producten op het tafelgedeelte hadden gekocht.
De volgende hoofdfunctie is het verwijderen van gegevensstructuren. Dit is niet hetzelfde als het verwijderen van een volledige database of bestand; het is een veel selectiever proces. Het kan een specifieke informatiepagina of een volledig deel van een multidimensionale array verwijderen. In beide gevallen moeten de gegevens worden verwijderd zonder andere gegevensstructuren te beïnvloeden, zelfs als ze allemaal in hetzelfde bestand worden bewaard.
De laatste hoofdfunctie is het wijzigen van een gegevensstructuur. Dit is een brede categorie die veel situaties dekt. Aan een tabel kunnen kolommen zijn toegevoegd of hernoemd, of een volledige database moet mogelijk worden opgesplitst in twee verschillende databases. In elke situatie moeten ze zodanig worden gewijzigd dat tijdens het proces geen informatie verloren gaat, wordt vernietigd of gecreëerd. Dit voorkomt dat abnormale informatie het gegevenssysteem binnenkomt.