Vad är ett datadefinitionsspråk?
Ett datadefinitionsspråk är ett datorprogrammerings- eller skriptspråk som definierar en datastruktur. Per definition måste dessa språk göra tre saker - skapa, ta bort och ändra datastrukturer. Vad de gör utanför de tre områdena är inte väsentliga, så länge de utför de tre uppgifterna. Alla språk kan vara ett datadefinitionsspråk, men termen används oftast på strukturerade frågespråk (SQL) och XML-scheman (extensible markup language).
När termen datadefinitionsspråk tog i bruk gällde det en modell gjord av konferensen för datasystemspråk (Codasyl). Processen definierade två huvudområden för datastrukturutveckling - datadefinitionsspråket gjorde databasens faktiska struktur, och datahanteringsspråket definierade metoderna för att placera data i strukturen. Sedan dess har dessa två termer utvidgats och blivit generiska termer för de processer de täcker.
De generiska termerna gäller nu alla språk som utför sina ursprungliga funktioner. Både SQL och XML utför alla de uppgifter som krävs och tillhandahåller många funktioner som saknade från den ursprungliga modellen eftersom de inte hade uppfunnits än. Andra språk tillhandahåller också dessa möjligheter. de används bara mycket mindre ofta.
För att kunna vara ett datadefinitionsspråk måste språket tillhandahålla tre funktioner. Den första huvudfunktionen är konstruktionen av datastrukturer; i princip är det sådana tabeller som är utformade för att hålla fast vid specifika grupper av information. De verkar ofta som ett kalkylblad som håller fast på sidor med korsreferenserad information. Till exempel kan arket ha en lista över ett företags kunder på ena sidan och en lista över tillgängliga produkter längst upp. Arket skulle ha en lista över när dessa kunder köpte enskilda produkter nere på tabelldelen.
Nästa huvudfunktion är radering av datastrukturer. Detta är inte samma sak som radering av en hel databas eller fil; det är en mycket mer selektiv process. Det kan ta bort en specifik sida med information eller en hel del av en flerdimensionell matris. I båda fallen måste informationen tas bort utan att det påverkar andra datastrukturer, även om de alla finns i samma fil.
Den sista huvudfunktionen är ändringen av en datastruktur. Detta är en bred kategori som täcker många situationer. En tabell kan ha kolumner läggs till eller bytt namn, eller en hel databas kan behöva delas upp i två olika databaser. I alla situationer måste de ändras på ett sådant sätt att ingen information förloras, förstörs eller skapas under processen. Detta förhindrar anormal information från att komma in i datasystemet.