Hvad er et datadefinitionssprog?
Et datadefinitionssprog er et computerprogrammerings- eller scriptingsprog, der definerer en datastruktur. Per definition er disse sprog nødt til at gøre tre ting - oprette, slette og ændre datastrukturer. Hvad de gør uden for disse tre områder er uvæsentlige, så længe de udfører disse tre opgaver. Ethvert sprog kan være et datadefinitionssprog, men udtrykket anvendes oftest på strukturerede forespørgselssprog (SQL) og extensible markup sprog (XML) skemaer.
Da udtrykket datadefinitionssprog kom i brug, gjaldt det en model lavet af Conference for Data System Sprog (Codasyl). Processen definerede to hovedområder inden for datastrukturudvikling - sproget til datadefinition lavede databasens faktiske struktur, og sproget for datamanipulation definerede metoderne til at placere data i strukturen. Siden da er disse to udtryk udvidet og blevet generiske udtryk for de processer, de dækker.
De generiske vilkår gælder nu for alle sprog, der udfører deres originale funktioner. Både SQL og XML udfører alle de krævede opgaver og leverer mange funktioner, der var fraværende fra den originale model, fordi de ikke var opfundet endnu. Andre sprog leverer også disse muligheder; de bruges bare meget mindre ofte.
For at være et datadefinitionssprog skal sproget have tre funktioner. Den første hovedfunktion er konstruktionen af datastrukturer; dybest set er disse tabeller designet til at holde fast på specifikke informationsgrupper. De vises ofte som et regneark, der holder på sider med krydshenvist information. F.eks. Kan arket have en liste over en virksomheds kunder på den ene side og en liste over tilgængelige produkter øverst. Arket har en oversigt over, hvornår disse kunder købte individuelle produkter nede på borddelen.
Den næste hovedfunktion er sletning af datastrukturer. Dette er ikke det samme som sletningen af en hel database eller fil; det er en meget mere selektiv proces. Det kan fjerne en bestemt informationsside eller en hel del af en flerdimensionel matrix. I begge tilfælde skal dataene fjernes uden at påvirke andre datastrukturer, selvom de alle opbevares i den samme fil.
Den sidste hovedfunktion er ændringen af en datastruktur. Dette er en bred kategori, der dækker en masse situationer. I en tabel kan der være tilføjet eller omdøbt kolonner, eller en hel database måske være opdelt i to forskellige databaser. I enhver situation skal de ændres på en sådan måde, at ingen oplysninger mistes, ødelægges eller oprettes under processen. Dette forhindrer anomale oplysninger i at komme ind i datasystemet.