ALTE DOCUMENTE
|
|||||||
Crearea si gestionara tabelelelor
Dupa parcurgerea acestei lectii, veti putea realiza urmatoarele obiective:
Descrierea obiectelor de tip baza de date;
Crearea bazelor de date;
Descrierea tipurilor de data ce pot fi utilizate īn momentul definirii specificatiilor coloanelor;
Modificarea structurii unei baze de date;
Stergerea, redenumirea si trunchierea bazelor de date.
Obiect |
Descriere |
Table |
Unitatea de baza pentru īnregistrare; compusa din linii si coloane. |
View |
Reprezentare logica a unor date dintr-o tabela sau mai multe. |
Sequence |
Genereaza valori 626o148g pentru chei primare. |
Index |
Mareste viteza īn cazul interogarilor. |
Synonym |
Da nume alternative obiectelor. |
Tabelele pot fi create īn orice moment, chiar īn momentul cānd utilizatorul foloseste baza de date.
Nu este necesara specificarea marimii unei baze de date. Marimea este definita de spatiu alocat bazei de date, ca īntreg. Este important, totusi, cat spatiu va ocupa tabela dupa un timp.
Structura unei tabele poate fi modificata dinamic.
Numele trebuie sa īnceapa cu o litera;
Poate fi de 1-30 caractere lungime;
Caracterele permise sunt numai A-Z, a-z, 0-9, $ si
Un utilizator nu poate avea doua tabele cu nume identice;
Nu trebuie sa fiu un nume rezervat.
Folositi nume descriptive pentru tabele sau alte obiecte de tip baza de date;
Folositi aceleasi nume pentru aceleasi entitati din tabele diferite. De exemplu, coloana cu numarul departamentului este denumita DEPTNO atāt īn tabela EMP, cāt si īn tabela DEPT.
Trebuie sa aveti:
- Drepturi pentru crearea unei tebele;
- Unitate de stocare
CREATE TABLE [schema.] table (column datatype [DEFAULT expr]); |
Trebuie specificate:
- Numele tabelei
- Numele coloanei, tipul de data pentru coloana si marimea tipului de data.
Sintaxa:
- schema numele posesorului tabelei;
- table numele tabelei;
- DEFAULT expr specifica valoarea implicita, daca aceasta lipseste īntr-o comanda ulterioara de inserare (INSERT);
- column numele coloanei;
Tabelele a caror proprietar sunt alti utilizatori nu sunt īn shema utilizatorului curent;
Pentru a fi referite trebuie folosit numele proprietarului tabelei.
Optiunea DEFAULT
Specifica valoarea implicita pentru o coloana īntr-o operatie de inserare;
. hiredate DATE DEFAULT SZSDATE, . |
Valorile permise sunt valori literale, expresii sau functii SQL;
Valorile ilegale sunt numele altor coloane sau pseudocoloane;
Valoarea implicita trebuie sa aiba acelasi tip cu cel al coloanei.
Unei coloane i se poate asigna o valoare implicita utilizād optiunea DEFAULT. Aceasta optiune previne atribuirea unor valori null coloanelor inserate fara o valoare explicita. Valoarea poate fi una literala, o expresie sau o functie SQL, cum ar fi SYSDATE si USER, dar valoarea nu poate fi cea a unei alte coloane sau o pseudocoloana, cum ar fi NEXVAL sau CURRVAL. Valoarea implicita trebuie sa se potriveasca cu tipul de data al coloanei.
Crearea unei tabele:
SQL> CREATE TABLE DEPT (deptno NUMBER( dname VARCHAR(14), loc VARCHAR(13)); Table created. |
Confirmarea crearii tabelei:
SQL> DESCRIBE dept |
Name |
Null? |
Type |
DEPTNO |
NOT NULL |
NUMBER(2) |
DNAME |
VARCHAR(14) |
|
LOC |
VARCHAR(13) |
Exemplul anterior creaza tabela DEPT, cu trei coloane: DEPTNO, DNAME si LOC. Mai departe se confirma crearea tabelei DEPT ca rezultat al comenzii DESCRIBE.
Descrierea tabelelor unui user:
SQL> SELECT * FROM user_tables; |
Afisarea obiectelor distincte ale unui utilizator:
SQL> SELECT DISTINCT object_type FROM user_objects; |
Afizarea tabelelor, view-urilor, sinonimelor, si sequences+rile unui utilizator:
SQL> SELECT * FROM user_catalog; |
Puteti interoga dictionarul de date pentru a afisa informatii diverse despre obiectele de tip baza de date ale unui utilizator. Tabelele cele mai utilizate ale din dictionarul de date sunt USER_TABLES, USER_OBJECTS si USER_CATALOG. Tabela USER_CATALOG are un sinonim numit CAT. Puteti folosi acest nume īn loc de USER_CATALOG īn comenzi.
SQL> SELECT * FROM CAT; |
Tipuri de date
Tipul de data |
Descriere |
VARCHAR2(size) |
Data de tip careacter, de lungime variabila. (Trebuie specificata o lungime maxima, size, valoarea implicita este 1,maxima 4000) |
CHAR(size) |
Data de tip caracter de lungime (size) fixa. (Valoarea implicita este cea minima 1, maxima 2000) |
NUMBER(p,s) |
Numar cu p cifre si s cifre zecimale. (p poate lua valori īntre 1 si 38, s īntre -84 si 127) |
DATE |
Data de tip data calendaristica cuprinsa īntre Ianuarie,1 ,4712 B.C. si Decembrie, 31, 9999 A.D. |
LONG |
Data de tip caracter cu lungime variabila pāna la 2 gigabytes. |
CLOB |
Data de pāna la 4 gigabytes. |
RAW(size) |
Data binara cu lungime specificata, size. Valoarea maxima este de 2000. Trebuie specificata aceasta valoare. |
LONG RAW |
Data binara cu lungime de pāna la 2 gigabytes. |
BLOB |
Data binara cu lungime de pāna la 4 gigabytes. |
BFILE |
Data binara stocata īntr+un fisier extern, lungime maxima de pāna la 4 gigabytes. |
|