Adatmeghatározási nyelv - Data definition language

Az összefüggésben SQL , az adatok meghatározása , illetve az adatok leíró nyelv ( DDL ) szintaktikai létrehozására és módosítására adatbázis-objektumok, mint a táblák, indexek, és a felhasználók. A DDL utasítások hasonlóak egy számítógépes programozási nyelvhez az adatstruktúrák , különösen az adatbázis -sémák meghatározásához . Gyakori példa a DDL utasítások tartalmazzák CREATE, ALTERés DROP.

Történelem

Az adatmeghatározó nyelv fogalmát és nevét először a Codasyl adatbázis -modellel kapcsolatban vezették be , ahol az adatbázis sémáját a felhasználói adatmodell rekordjait , mezőit és halmazait leíró nyelvi szintaxisban írták . Később arra használták, hogy a strukturált lekérdezési nyelv (SQL) egy részhalmazára hivatkozzanak táblázatok , oszlopok, adattípusok és megszorítások deklarálásához . Az SQL-92 séma-manipulációs nyelvet és sémainformációs táblákat vezetett be a lekérdezési sémákhoz. Ezeket az információs táblákat SQL/Schemata néven adta meg az SQL: 2003 -ban . A DDL kifejezést általános értelemben is használják az adatok vagy információs struktúrák leírására használt bármely formális nyelvre .

Strukturált lekérdezési nyelv (SQL)

Sok adatleíró nyelv deklaratív szintaxist használ az oszlopok és adattípusok meghatározására. A strukturált lekérdezési nyelv (SQL) azonban olyan kötelező igék gyűjteményét használja, amelyek hatása az adatbázis sémájának módosítása a táblázatok vagy más elemek definícióinak hozzáadásával, módosításával vagy törlésével. Ezek az utasítások szabadon keverhetők más SQL utasításokkal, így a DDL nem külön nyelv.

CREATE utasítás

A create parancs egy új adatbázis, táblázat, index vagy tárolt eljárás létrehozására szolgál .

A CREATE utasítás az SQL -ben létrehoz egy összetevőt egy relációs adatbázis -kezelő rendszerben (RDBMS). Az SQL 1992 specifikációban a létrehozható összetevők típusai a sémák, táblázatok , nézetek , tartományok, karakterkészletek , válogatások , fordítások és állítások. Sok megvalósítás kiterjeszti a szintaxist, és lehetővé teszi további elemek, például indexek és felhasználói profilok létrehozását. Bizonyos rendszerek, mint például a PostgreSQL és az SQL Server , megengedik a CREATE és más DDL parancsokat egy adatbázis tranzakción belül, és így visszavonhatók .

CREATE TABLE utasítás

A leggyakrabban használt CREATE parancs a CREATE TABLE parancs. A tipikus használat a következő:

CREATE TABLE [table name] ( [column definitions] ) [table parameters]

Az oszlopdefiníciók a következők:

  • Vesszővel elválasztott lista, amely a következők bármelyikéből áll
  • Oszlopdefiníció: [oszlop neve] [adattípus] {NULL | NEM NULL} {oszlopbeállítások}
  • Elsődleges kulcsdefiníció : ELSŐGOMB ( [vesszővel elválasztott oszloplista] )
  • Kényszerek: {CONSTRAINT} [kényszermeghatározás]
  • RDBMS specifikus funkcionalitás

Példa a néhány oszlopos alkalmazottak nevű táblázat létrehozására :

CREATE TABLE employees (
    id            INTEGER       PRIMARY KEY,
    first_name    VARCHAR(50)   not null,
    last_name     VARCHAR(75)   not null,
    mid_name      VARCHAR(50)   not null,
    dateofbirth   DATE          not null
);

A CREATE TABLE DDL egyes formái tartalmazhatnak DML ( adatmanipulációs nyelv ) szerű konstrukciókat, például az SQL CREATE TABLE AS SELECT (CTaS) szintaxisa.

DROP utasítás

A DROP utasítás megsemmisít egy meglévő adatbázist, táblázatot, indexet vagy nézetet.

Az SQL -ben található DROP utasítás eltávolít egy összetevőt a relációs adatbázis -kezelő rendszerből (RDBMS). Az eldobható objektumok típusai attól függnek, hogy melyik RDBMS -t használják, de a legtöbb támogatja a táblázatok , felhasználók és adatbázisok elhagyását . Egyes rendszerek (például a PostgreSQL ) lehetővé teszik a DROP és más DDL parancsok előfordulását egy tranzakción belül, és így visszavonhatják . A tipikus használat egyszerűen:

DROP objecttype objectname.

Például az alkalmazottak nevű tábla eldobására vonatkozó parancs a következő :

DROP TABLE employees;

A DROP utasítás különbözik a DELETE és TRUNCATE utasításoktól, mivel a DELETE és a TRUNCATE nem távolítja el magát a táblát. Például a DELETE utasítás törölhet néhány (vagy az összes) adatot a táblából, miközben maga a tábla az adatbázisban marad, míg a DROP utasítás a teljes táblát eltávolítja az adatbázisból.

ALTER utasítás

Az ALTER utasítás egy meglévő adatbázis -objektumot módosít.

Az ALTER utasítás az SQL -ben megváltoztatja a relációs adatbázis -kezelő rendszerben (RDBMS) található objektum tulajdonságait . A módosítható objektumtípusok attól függnek, hogy melyik RDBMS -t használják. A tipikus használat a következő:

ALTER objecttype objectname parameters.

Például a buborékok nevű oszlop hozzáadására (majd eltávolítására) vonatkozó parancs egy meglévő mosogató nevű táblához :

ALTER TABLE sink ADD bubbles INTEGER;
ALTER TABLE sink DROP COLUMN bubbles;

TRUNCATE utasítás

A TRUNCATE utasítás az összes adat törlésére szolgál a táblázatból. Sokkal gyorsabb, mint a DELETE .

TRUNCATE TABLE table_name;

Referenciális integritási nyilatkozatok

Egy másik típusú DDL mondat az SQL -ben a referenciális integritásviszonyok meghatározására szolgál , amelyeket általában elsődleges kulcsként és idegen kulcscímkeként implementálnak a táblázatok egyes oszlopaiban. Ez a két állítás szerepelhet egy CREATE TABLE vagy egy ALTER TABLE mondatban;

Más nyelvek

Lásd még

Hivatkozások

Külső linkek