Esercitazioni sul Catalogo di ORACLE
CREATE TABLE art_in_ordine ( cod_ord number(8) not null, /* identificativo numerico dell’ordine */ cod_art number(8) not null, /* codice dell’articolo di un determinato ordine */ quantita number(3) not null /* unita’ di prodotto parte di un ordine */ ); ALTER TABLE art_in_ordine add constraint pk_art_in_ordine primary key (cod_ord,cod_art); add constraint fk_cod_ord foreign key (cod_ord) references ordini (cod_ord) on delete cascade add constraint fk_cod_art_artinord foreign key (cod_art) references cataloghi (cod_art)
ALTER TABLE art_in_ordine add constraint pk_art_in_ordine primary key (cod_ord,cod_art); add constraint fk_cod_ord foreign key (cod_ord) references ordini (cod_ord) on delete cascade add constraint fk_cod_art_artinord foreign key (cod_art) references cataloghi (cod_art) Nome del vincolo La colonna cod_art di cataloghi deve essere necessariamente chiave primaria di cataloghi Colonne su cui il vincolo è definito
Alternative Dichiarare i vincoli: –contestualmente ad un CREATE TABLE –privi di nome (più complesso modificarli poiché ORACLE assegna un nome di sistema privo di significato CREATE TABLE art_in_ordine (… cod_art varchar2(…) constraint foreign key (cod_art) references cataloghi (cod_art) …) ALTER TABLE art_in_ordine add constraint foreign key (cod_art) references cataloghi (cod_art)
All_Catalog
All_Constraints
All_Cons_Columns
User_Tab_Privs