Sunteți pe pagina 1din 6

BAZE DE DATE SEMINAR 2

___________________________________________________________________________
CREAREA SI GESTIUNEA TABELELOR:
CREAREA TABELELOR COMANDA CREATE TABLE
Pentru a crea o tabela se specifica urmatoarele:
- definitiile atributelor
- modul de organizare a tabelei
- restrictiile de integritate
- spatiul de tabela
- caracteristicile de stocare
- clusterul
- datele daca se preiau dintr-o alta tabela
- definitiile partitiilor
RESTRICTII DE INTEGRITATE
- Tipuri de restrictii:
o NOT NULL
o UNIQUE
o PI!"# $E#
o %OEI&N $E#
o '(E'$
- Precizarea restrictiilor se poate face in ) moduri: in-line la definirea coloanei pe care
se impune restrictia si out-of-line separat* fie la sfarsitul sinta+ei create table* fie prin
comanda alter
Exemplu crearea tabelelor pentru aplicatia utilizata la seminar.
Structura bazei e ate utilizata ! ,e considera acti-itatea de e-identa a comenzilor
inc.eiate de o societate comerciala cu di-erse firme prin intermediul agentilor anga/ati in
cadrul societatii0 'omenzile contin produse aflate in depozitul societatii* iar pentru
fiecare produs se cunoaste in permanenta stocul e+istent0
1
BAZE DE DATE SEMINAR 2
___________________________________________________________________________
"IRME
'O2%I!" 2EN%I!" LO' 'ONT3"N'" 4ON"
A#ENTI
'O2"&ENT NU!E"&ENT 2"T""N& 2"T"N",T 4ON" %UN'TIE 'O2,E%
$%MENZI
N'O! 'O2%I!" 'O2"&ENT 2"T"
RIND$%M
N'O! 'O2PO2U, '"NT PET TE!ENLI5
&R%D'SE
'O2PO2U, 2ENPO2U, U! ,TO'
Descarcati e pe site scriptul $REARE.s(l ) Scriptul se executa cu a*utorul comenzii+
@ C:\ [cale director] \ !"e#$i%ier & e'te%ie
e'e"(l!: @d:\creare&%)l
2OP T"3LE %I!E '",'"2E 'ON,T"INT,6
2OP T"3LE "&ENTI '",'"2E 'ON,T"INT,6
2OP T"3LE 'O!EN4I '",'"2E 'ON,T"INT,6
2OP T"3LE IN2'O! '",'"2E 'ON,T"INT,6
2OP T"3LE PO2U,E '",'"2E 'ON,T"INT,6
create table firme
7codfirma number7)8 constraint P$e9_firme primar9 :e9*
denfirma -arc.ar)7);8 not null*
loc -arc.ar)7);8*
contbanca -arc.ar71<8*
zona -arc.ar)71<8 'ON,T"INT %4ON"_'$ c.ec: 7zona in
7=!OL2O5"=*="2E"L=*=3"N"T=*=!UNTENI"=*=2O3O&E"=*=T"N,IL5"NI"=8886
create table agenti
7codagent -arc.ar)7>8 constraint p:_agent primar9 :e9*
numeagent -arc.ar)7)<8 not null*
dataang date default s9sdate*
datanast date*
zona -arc.ar)71<8 'ON,T"INT "&4ON"_'$ c.ec: 7zona
in7=!OL2O5"=*="2E"L=*=3"N"T=*=!UNTENI"=*=2O3O&E"=* =T"N,IL5"NI"=88*
functia -arc.ar)7);8*
codsef -arc.ar)7>886
create table comenzi
)
BAZE DE DATE SEMINAR 2
___________________________________________________________________________
7nrcom number7?8 constraint p:_comenzi primar9 :e9*
codfirma number7)8 not null*
codagent -arc.ar)7>8 not null*
data date default s9sdate*
'ON,T"INT %$"gent %OEI&N $E# 7codagent8 E%EEN'E, agenti7codagent8*
'ON,T"INT %$%irme %OEI&N $E# 7codfirma8 E%EEN'E, firme7codfirma886
create table produse
7codprodus number7>8 constraint p:_produse primar9 :e9*
denprodus -arc.ar)7);8 not null*
um -arc.ar)7>8*
stoc number7?886
create table rindcom
7nrcom number7?8*
codprodus number7>8 not null*
cant number71;8*
pret number7@8*
termenli- date*
'ON,T"INT %$'omenzi %OEI&N $E# 7nrcom8 E%EEN'E, comenzi7nrcom8*
'ON,T"INT %$Produse %OEI&N $E# 7codprodus8 E%EEN'E,
produse7codprodus886
CREAREA UNEI TABELE PE BAZA CAMPURILOR DIN ALTA TABELA:
CREATE TABLE nume_taela
AS
SELECT !"# nume $am%u&i' (ROM nume_taela_)u&)a
*+ERE !$on,itie'-
Exemplu: Tabela firme_buc -a conttine firmele din 3ucuresti
'E"TE T"3LE %I!E_3U'
",
,ELE'T A %O! %I!E
B(EE LO'C=3U'UE,TI=6
COMANDA DESCRIBE SAU DESC . PERMITE /IZUALIZAREA STRUCTURII UNEI
TABELE
Exemplu+ ,a se -izualizeze structura tabelei "&ENTI6
2E,' "&ENTI6
CREAREA TABELELOR PARTITIONATE SI UTILIZAREA CLUSTERELOR
E+emple:
>
BAZE DE DATE SEMINAR 2
___________________________________________________________________________
,a se realizeze un cluster pentru campul n&$om sis a se aauge la acest cluster ) tabele:
'O!EN4I_) si IN2'O!_) cu aceeasi structura cu tabelele din aplicatie0
'reate cluster numar_comanda 7nrcom number7?886
'reate inde+ id+_clus_nrcom on cluster numar_comanda6
create table comenzi_)
cluster numar_comanda 7nrcom8
as select A from comenzi6
create table rindcom_)
cluster numar_comanda 7nrcom8
as select A from rindcom6
,a se creeze tabela rindcom_partitie in care termenul de li-rare sa fie partitionat:
create table rindcom_partitie
7nrcom number7?8*
codprodus number7>8 not null*
cant number71;8*
pret number7@8*
termenli- date8
partition b9 range 7termenli-8
7partition TI!1 -alues less t.an 7to_date7=;1-ma9-);;<=* =dd-mon-9999=88*
partition TI!) -alues less t.an 7to_date7=;1-sep-);;<=* =dd-mon-9999=88*
partition TI!> -alues less t.an 7to_date7=;1-/an-);;D=* =dd-mon-9999=8886
'omanda 'O!!ENT permite introducerea unor e+plicatii referitoare la tabela:
'O!!ENT ON T"3LE "&ENTI
I, =IN%O!"TII 2E,PE "&ENTI=6
MODI*ICAREA STRUCTURII TABELELOR + COMANDA ALTER
ealizeaza urmatoarele:
- !odificarea structurii tabelei: "22* !O2I%#* 2OP 'OLU!N* ,ET UNU,E2
- !odificarea restrictiilor de integritate: "22* !O2I%#* 2OP* 2I,"3LE
'ON,T"INT
- edenumeste tabela: EN"!E
Exemple ! upa ,iecare comana -izualizati structura tabelei cu DES$RIBE sau DES$+
"LTE T"3LE agenti EN"!E TO personal6
,au
EN"!E "&ENTI TO PE,ON"L6
"LTE T"3LE PE,ON"L
"22 7E!"IL 5"'(")71;8*
?
BAZE DE DATE SEMINAR 2
___________________________________________________________________________
5",T" NU!3E7)886
"LTE T"3LE PE,ON"L
!O2I%# 7E!"IL 5"'(")7>;886
"LTE T"3LE PE,ON"L
2OP 'OLU!N E!"IL6
"LTE T"3LE PE,ON"L
,ET UNU,E2 'OLU!N %UN'TI"6
"LTE T"3LE PE,ON"L
2OP UNU,E2 'OLU!N,6
"LTE T"3LE PE,ON"L
"22 7'ON,T"INT c.ec:_-arsta '(E'$ 7-arstaE1@ and -arstaFD;886
"LTE T"3LE PE,ON"L
2I,"3LE 'ON,T"INT c.ec:_-arsta6
"LTE T"3LE PE,ON"L
2OP 'ON,T"INT c.ec:_-arsta6
STERGEREA TABELELOR COMEN,ILE DRO- SI TRUNCATE
2OP permite stergera unei tabele0
2OP T"3LE PE,ON"L6
,"U
2OP T"3LE PE,ON"L '",'"2E 'ON,T"INT,6
TUN'"TE sterge inregistrarile unei tabele si elibereaza spatiul alocat ei:
TUN'"TE T"3LE anga/ati6
.IZ'A/IZAREA %BIE$TE/%R $E A&ARTIN 'N'I AN'MIT 'TI/IZAT%R+
,ELE'T A %O! U,E_T"3LE,6
,ELE'T T"3LE_N"!E* cluster_name %O! U,E_T"3LE,6
,ELE'T A %O! U,E_'"T"LO&6
,ELE'T 2I,TIN'T O3GE'T_T#PE
%O! U,E_O3GE'T,6
<
BAZE DE DATE SEMINAR 2
___________________________________________________________________________
,ELE'T T"3LE_N"!E* 'ON,T"INT_T#PE* 'ON,T"INT_N"!E
%O! U,E_'ON,T"INT,6
,ELE'T T"3LE_N"!E * 'O!!ENT,
%O! U,E_T"3_'O!!ENT,6
D

S-ar putea să vă placă și