InterBase SQL Reference Manual
CREATE TABLE
CREATE TABLE stabilește un nou tabel, coloanele și constrângerile de integritate în baza de date existentă. Utilizatorul care creează tabela devine proprietarul tabelului și primește privilegii complete pentru acest lucru, inclusiv posibilitatea de a acorda privilegii (GRANT) altor utilizatori, declanșatoare și proceduri stocate.
CREATE TABLE acceptă mai multe opțiuni pentru definirea coloanelor:
- Coloanele locale care specifică numele și tipul de date pentru datele introduse în coloană.
- Coloane calculate pe baza extensiei. Valoarea coloanei este calculată de fiecare dată când accesați tabelul. Dacă tipul de date nu este definit, InterBase calculează ca fiind cel corespunzător. Coloanele la care se referă expresia trebuie să existe înainte ca coloana să poată fi definită.
- Bazat pe coloane domenii, moștenit toate caracteristicile unui domeniu, dar definiția coloană poate include noua valoare implicită, atributul NOT NULL, constrângeri suplimentare CHECK, sau pentru a suprascrie ordinea de sortare pentru a anula definiția domeniului.
- O declarație de tip de date pentru o coloană CHAR, VARCHAR sau BLOB poate include o clauză CHARACTER SET care specifică o codificare specifică pentru o singură coloană. În caz contrar, coloana utilizează codificarea specificată în mod implicit pentru baza de date. Dacă codificarea bazei de date este modificată, toate coloanele care sunt definite ulterior au o nouă codificare, dar coloanele existente nu se modifică.
Clauza COLLATE vă permite să specificați o ordine de sortare specifică pentru tipurile de date CHAR, VARCAHR și BLOB. Selecția ordinului de sortare este limitată la cele care sunt acceptate pentru această codificare a coloanei, aceasta este fie codarea implicită pentru baza de date în ansamblu, fie cealaltă setată în clauza CHARACTER SET ca parte a definiției tipului de date. Consultați Referința limbii. pentru a obține o listă completă de tipuri posibile.
Atributul NOT NULL împiedică introducerea în coloană a valorii NULL sau a unei valori necunoscute. Atributul NOT NULL apare în toate operațiile INSERT și UPDATE din coloană.
Constrângerile de integritate pot fi definite pentru un tabel atunci când acesta este creat. Constrângerile de integritate sunt reguli care controlează baza de date și componentele acesteia, relațiile tabelă-tabelă și tabelele de tabele și validarea intrărilor. Acestea acoperă toate tranzacțiile către baza de date și sunt suportate automat de sistem. CREATE TABLE poate crea următoarele tipuri de constrângeri de integritate:
- TASTĂ PRIMARĂ (cheie primară) - identifică în mod unic fiecare rând al tabelului. Valoarea din această coloană sau într-un set ordonat de coloane nu poate fi repetată în mai mult de un rând. Coloana PRIMARY KEY trebuie definită numai cu atributul NOT NULL. O tabelă poate avea doar o singură tastă PRIMARY, care poate fi definită pe una sau mai multe coloane.
- Clasele UNIQUE (unice) asigură că nu există două rânduri care să aibă aceeași valoare într-o anumită coloană sau într-un set ordonat de coloane. O coloană unică trebuie definită cu atributul NOT NULL. O masă poate avea una sau mai multe taste UNIQUE. Tasta UNIQUE poate fi folosită în altă tabelă.
- Limita de referință garantează că valorile din setul de coloane, care sunt definite în FOREIGN KEY iau aceleași valori care sunt prezente în coloana PRIMARY KEY UNIQUE sau într-un tabel de căutare.
- Verificați restricțiile
. care trebuie să fie adevărat pentru datele adăugate sau modificate. poate necesita o combinație sau o ordine de valori sau egalitate cu valoarea introdusă în celelalte coloane.
Pentru constrângerile anonime, sistemul creează un nume unic stocat în tabela de sistem RDB $ RELATION_CONSTRAINTS.
Notă: Constrângerile nu sunt permise pe expresii.
Grupul EXTERNA FILE creează un tabel ale cărui date sunt localizate permanent într-o tabelă sau un fișier extern, mai degrabă decât în baza de date InteBase. Utilizați această opțiune pentru:
- Definițiile tabelului InterBase. constând din coloane și date din surse externe, cum ar fi datele din fișiere gestionate de un alt sistem de operare sau aplicații care nu sunt baze de date.
- Transferați datele într-o tabelă InterBase existentă dintr-un fișier extern.
Notă: Clauza COLLATE nu poate fi definită pentru coloanele BLOB.