Adatok meghatározása nyelv
A korábban tárgyalt SELECT, INSERT, DELETE, UPDATE utasítások adatfeldolgozásra szolgálnak. Ezeket az utasításokat együttesen az adatfeldolgozási nyelvnek, vagy a DML-nek (Data Manipulation Language) nevezzük. A DML utasítások módosíthatják az adatbázisban tárolt információkat, de nem módosíthatják a struktúráját. Például ezek közül az utasítások egyikéből sem lehet táblákat vagy oszlopokat létrehozni vagy törölni.
Az adatbázis struktúrájának megváltoztatásához újabb SQL utasítások sorát hívják, amelyet az adatmeghatározási nyelvnek (DDL) (Data Definition Language) neveznek. A DDL utasítások használatával:
• meghatározni az új táblázat szerkezetét és létrehozni;
• törölje a már nem szükséges táblázatot;
• módosítsa egy meglévő táblázat meghatározását;
• adjon meg virtuális táblát (vagy nézetet)
(a CREATE VIEW utasítással, korábban tárgyalt);
• Biztosítsa az adatbázis biztonságát;
• hozzon létre indexet az asztalhoz való hozzáférés felgyorsításához;
• Az adatok fizikai elhelyezésének kezelése.
A legtöbb esetben a DDL utasítások magas szintű adatelérést biztosítanak, és lehetővé teszik a felhasználó számára, hogy a fizikai szinten tárolja az adatokat az adatbázisban. Ezek absztrakt adatbázisobjektumokon, például táblákon és oszlopokon működnek. A DDL azonban nem hagyhatja figyelmen kívül a fizikai memóriával kapcsolatos kérdéseket. A fizikai memóriát szabályozó utasítások és DDL utasítások eltérőek lehetnek a különböző DBMS-ekben.
Az adatmeghatározási nyelv magját három parancs alkotja:
• CREATE (create), amely lehetővé teszi adatbázis-objektum definiálását és létrehozását;
• DROP (törlés), amely egy létező adatbázis-objektum törléséhez használható;
• ALTER (változás), amellyel módosíthatja az adatbázis-objektum definícióját.
Az összes fő relációs DBMS lehetővé teszi a három meghatározott DDL parancs használatát a munka során. Így a relációs adatbázis szerkezete dinamikus. Például egy DBMS létrehozhat, törölhet vagy módosíthat táblákat, miközben ugyanakkor hozzáférést biztosít a felhasználókhoz az adatbázisba. Ez a relációs adatbázisok egyik legfontosabb előnye a korábbi rendszerekhez képest, ahol csak azután lehetett megváltoztatni az adatbázis szerkezetét, miután a DBMS leállt. Ez azt jelenti, hogy idővel az adatbázis növekedhet és változhat. Ipari működését akkor folytathatja, amikor új táblákat és modulokat adnak az adatbázisba.
Bár a DDL és a DML az SQL két különálló része, a legtöbb relációs DBMS-ben ilyen elválasztás csak absztrakt szinten létezik. Általában a DBMS-ben lévő DDL és DML utasítások teljesen egyenrangúak, és tetszőlegesen illeszthetők interaktív és SQL-ben is. Ha egy programnak vagy felhasználónak szüksége van egy táblázatra az eredmények ideiglenes tárolásához, létrehozhatják ezt a táblázatot, kitölthetik azt, elvégezhetik a szükséges munkát az adatokkal, majd törölhetik a táblázatot. Ez ismét nagy előnyt jelent a korábbi adatmegjelenítési modellekhez képest, ahol az adatbázis struktúrája mereven rögzült a létrehozásakor.