Typy danych (dla Oracle)
· tekstowe: CHAR(n) NCHAR(n) (max. 2000 b / wiersz ), VARCHAR2(n) NVARCHAR2(n) (max. 4000 b / w), LONG ( 2 GB znaków /wiersz)
· CLOB NCLOB (do 4 GB znaków) BLOB ( do 4 GB / W) RAW (n) (2000 B/W) , LONG RAW ( do 2 GB/W)
· numeryczne stałoprzecinkowe: NUMBER(p,s) (s może być ujemne!)dokładność do 38 cyfr
· numeryczne zmiennoprzecinkowe: FLOAT (to samo co NUMBER)
· data/czas: DATE -- dokładność do sekundy, arytmetyka „na dniach"
· ROWID typ binarny reprezentujący adres wiersza
Składnia podstawowa
Create Table schemat.nazwa_tabeli ( definicja tabeli) własności_fizyczne własności_tabeli
Create Table schemat.nazwa_tabeli As Select ....
definicja tabeli :
- nazwa_columny typ [ Default wyrażenie ] [kol_ref_constraint ] [ kol_constraint ....]
- Table_constraint
- Table_ref_constraint
Więzy:
PRIMERY KEY
- określenie kolumny jako jednoznaczny identyfikator
NULL / NOT NULL
- określenie czy wartości w kolumnie są obowiązkowe
CONSTRAINT nazwa
- określenie nazwy więzów (system przydziela standardowo SYS_Cn n – liczba całkowita)
UNIQUE - wymuszenie różnych wartości na kolumnie
FOREIGN KEY (kol...) / REFERENCES schema.tabela (kol...)
- identyfikacja kolumy jako klucza obcego do kolumny wskazanej tabeli (rzeczywistej)
CHECK - określenie warunku, jaki musi być spełniony w kolumnie każdego wiersza
Przykład:
CREATE TABLE st_o1.LOCATION
( Location_id Number(3) Constraint pk_loc PRIMERY KEY,
Regional_group VARCHAR2(20) )
CREATE st_01.DEPARTMENT
( Department_id Number(2) Constraint pk_dep PRIMERY KEY,
NAME VARCHAR2(14) CONSTRAINT Upper_name
CHECK ( name = Upper(name)),
LOCATION_ID NUMBER(3) CONSTRAINT nie_pusty_loc NOT NULL
CONSTRAINT fk_dep_loc
REFERENCES st_01.Location(Location_id)
)
webss