Stavek za kreiranje tabel je CREATE TABLE.
Sintaksa
CREATE TABLE ime_tabele (
atribtu1 tip1 [integritetne_omejitve],
atribut2 tip2 [integritetne_omejitve],
...
Primary Key (atributx, atributy, ...),
Foreign Key (atributfk) References ime_starševske_tabele (atribut) On operacija1 akcija1 On operacija2 akcija2
);
Najpogostejše integritetne omejitve so:
Pri opredeljevanju tujih ključev pod vrednost operacija1 vpišemo update, pod operacija2 pa delete. V obeh primerih pod akcija vpišemo eno od vrednosti: no action | cascade | set null | set default.
Kombinacija operacije in akcije pri opredelitvi tujih ključev določa tip referencialne integritete. Ta kombinacija opredeli odziv SUPB v primeru bodisi brisanja ali posodabljanje vrednosti starševskega zapisa.
Možni podatkovni tipi za atribute so odvisni od SUPB. V nekaterih SUPB lahko kreiramo domene ali uporabniško definirane tipe podatkov, ki pomagajo ohranjati konsistentnost podatkovnega tipa znotraj podatkovne baze.
Primer stavka SQL DDL za SUPB Firebird, ki naredi tabelo Praznik (PraznikID:N, ImePraznika: A20,Dan: N, Mesec:N, Opombao: A100)
Create table Praznik(
PraznikID integer NOT NULL,
ImePraznika varchar(20) NOT NULL,
Dan integer NOT NULL CHECK (dan >=1 and dan<=31),
Mesec integer NOT NULL CHECK (mesec >=1 and mesec<=12),
Opomba varchar(100),
Primary Key(PraznikID));
Primer stavka SQL DDL za SUPB Firebird, ki naredi tabelo Proslava Proslava(ProslavaID:A5,PraznikID→Praznik:N, Vsebina:A50, Opiso:A200, Cena:N)
Create table Proslava(
ProslavaID char(5) not null,
PraznikID integer not null References Praznik (PraznikID) on delete cascade on update cascade,
Vsebina char(50) not null,
opis varchar(200),
cena float check (cena>=0),primary key (ProslavaID,PraznikID));
Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič