Tartományok (domain)
Domain - ez a leírás több megengedett értékei terén a táblázatban. Leírás domén mutatja az adatok típusa (például szám vagy karakterlánc), hossz és egyéb korlátai (például az a követelmény, hogy az első karakter volt írni vagy egy érték, amely nem haladja meg egy előre meghatározott szám). A Firebird domének csak a szereplők létrehozni és szerkeszteni táblázat szerkezetét.
Ahhoz, hogy hozzon létre egy domaint, használd a domain létrehozása. megváltoztatni - ALTER DOMAIN. és eltávolítására - DROP DOMAIN.
Az alábbiakban egy egyszerűsített tartomány létrehozása üzemeltető szintaxis.
Domain létrehozása DomainName [AS] <тип данных>
[DEFAULT szó | NULL | Felhasználó>]
[Gyűjtés <порядок сортировки>];
A leírást a szintaxis a szögletes zárójelben jelöljük választható elem zárójelek elemeit kombinálják az üzemeltető csoport van az egyik szimbólum | Ez azt jelenti, hogy válasszon egyet a számos alternatíva. Elem elrendezve szögletes zárójelben kell magyarázni külön-külön.
Ebben a példában egy opcionális elem
[DEFAULT Betűs | NULL | Felhasználó>]
Ez lehetővé teszi, hogy az alapértelmezett értéke az oszlopról az egyik a három lehetőség. Az első lehetőség van kijelölve a szó, ez lehetővé teszi, hogy az alapértelmezett értékek formájában szöveges állandók, számokat és dátumokat. A második lehetőség - definíciójában említett DEFAULT NULL oszlopban. ami vezet az a tény, hogy az újonnan létrehozott nyilvántartások, az oszlop értéke NULL. A harmadik út - adja meg, ha meghatározó oszlop az alapértelmezett USER. Ha ebben az esetben a vonalat kell illeszteni a táblázat megadása nélkül mező, akkor lesz írva a neve az aktuális felhasználó
Ha szükség van, hogy a területen volt néhány nem nulla értéket, leírás készül a tartomány NOT NULL.
CHECK választható eleme a domain leírása lehetővé teszi, hogy erőt a szerver, hogy ellenőrizze az adatbázisban rögzített értékeket, hogy végre a megadott feltételekkel.
A szintaxis a domain szempontjából az ajánlat ellenőrizze:
ÉRTÉK <оператор> <значение>
| ÉRTÉK [NOT] KÖZÖTT <значение> ÉS <значение>
| ÉRTÉK [NOT] LIKE <значение>
| ÉRTÉK [NOT] NULL
| ÉRTÉK [NOT], amely <значение>
| ÉRTÉK [NOT] Kiindulási [a] <значение>
| NEM <условие домена>
| <условие домена> VAGY <условие домена>
| <условие домена> ÉS <условие домена>
VALUE kulcsszó helyettesíti a hozzárendelt érték oszlop-Term alapján ezen a területen.
CHECK ((ÉRTÉK = '0') vagy (ÉRTÉK = '1') vagy (értéke NULL))
Ha egy domain definiál egy karakterláncot adattípus (char vagy varchar), megadhatja a COLLATE záradékot neki. ahol a meghatározott sorrend.
ehelyett elem <тип данных> Firebird egyikének neve adattípusok (1. táblázat) kell használni.
A domain név között egyedinek kell lennie az adatbázis a domain nevek. Egy egyszerűsített szintaxisa adattípus:
| [(
| BLOB [SUB_TYPE
Töredék domain szkriptjét:
A domain létrehozása ID EGÉSZ NOT NULL; - ID
A domain létrehozása Név VARCHAR (30) NOT NULL; - név
A domain létrehozása CURRENTDATE DATE DEFAULT 'MA' NOT NULL;
A domain létrehozása százalékos EGÉSZ CHECK (érték> = 0 ÉS ÉRTÉK <= 100) ; -- процент
Domain létrehozása MEMO BLOB SUB_TYPE SZÖVEG szegmensméret 128; - tekstbezogranicheniyadliny
ALTER DOMAIN utasítás lehetővé teszi, hogy módosítsa a domainnevet, az adatok típusát, domain nevek, valamint a hozzáadni vagy eltávolítani adatfigyelő állapotban. Ha módosítani szeretné a domain, akkor is, hogy módosítsa a rendszer táblák.
| ADD [CONSTRAINT] CHECK ( <условие домена>)
Mi lehet átnevezni a domain (tervezés <старое имя> az <новое имя>) Állítsa be az új alapértelmezett (javaslat alapértelmezett beállítás), akkor törölje az alapértelmezett értéket (csepp alapértelmezés), állítsa be az új állapot adatbeviteli érvényesítés (add [korlát] check), távolítsa el a már meglévő check feltétel (dobja korlát), és meg is változtatja a típus adatok (ellátási típus).
Nem lehet csak eltávolítani a feltétel nem null.
SET SQL változatot 3;
SET NAMES WIN1251;
USER 'varázsló' PASSWORD 'mester';
ALTER DOMAIN COUNTRYCOD
ALTER DOMAIN COUNTRYCOD
ADD CONSTRAINT CHECK (közötti érték 'AAA' ÉS 'jajaja');
Domain törlés Syntax:
DROP DOMAIN tartománynév;
DROP DOMAIN COUNTRYCOD;
DROP DOMAIN COUNTRYNAME;