All pastes #765686 Raw Edit

Untitled

public text v1 · immutable
·published 2007-11-08 08:02 UTC
rendered paste body
/*Creation de tables*/


create table AUTEUR

(
NOAUTEUR	NUMBER(4) not null,
NOMAUTEUR	VARCHAR2(30),
RUEAUTEUR	VARCHAR2(30),
VILLEAUTEUR	VARCHAR2(30),
CPAUTEUR	NUMBER(6),
DROITSAUTEUR	NUMBER(6),

CONSTRAINT pk_auteur primary key (NOAUTEUR),
CONSTRAINT part_auteur check (PARTAUTEUR BETWEEN 10 AND 100),
CONSTRAINT  droits_auteurs check  (DROITSAUTEUR >=0),
CONSTRAINT code_postal check (CP BETWEEN 1000 AND 97000)

);





create table EDITEUR

(
NOEDITEUR	NUMBER(2) not null,
RSEDITEUR	VARCHAR2(30)

CONSTRAINT pk_editeur primary key (NOEDITEUR),
);





create table LIVRE

(
NOLIVRE		NUMBER(4) not null,

NOAUTEUR	NUMBER(4) not null,
NOEDITEUR	NUMBER(2),

TITRE		VARCHAR2(30),
ISBN		CHAR(13) not null,
QTESTOCK	NUMBER(3),
QTEMIN		NUMBER(3),
QTEREAPPRO	NUMBER(3),
DATE_PARUTION	NUMBER(3),
DATE_JOUR	NUMBER(3),



CONSTRAINT pk_livre primary key (NOLIVRE),


CONSTRAINT date_par check (DATE_PARUTION< to_date ('25/10/2007','DD/MM/YYYY')),
CONSTRAINT  stock check  ((QTEMIN >0) AND (QTEREAPPRO >0) ),
CONSTRAINT  qtestock check  (QTESTOCK > QTEMIN )

);






create table ECRIT

(
NOAUTEUR 	NUMBER(4) not null,
NOLIVRE		NUMBER(4) not null,
PARTAUTEUR	NUMBER(3,2),


CONSTRAINT pk_ecrit primary key (NOLIVRE,NOAUTEUR),
CONSTRAINT part_auteur check (PARTAUTEUR BETWEEN 0.1 AND 1)



);



/*Effacement de tables */




drop table AUTEUR cascade constraint;
drop table LIVRE cascade constraint;
drop table EDITEUR cascade constraint;
drop table ECRIT cascade constraint;





/*Alter-table (utilité : ex : cle etrangere car on peut pas les faire dans la creation de table)*/

alter table livre
add constraint fk_NOEDITEUR_LIVRE foreign key (NOEDITEUR) references EDITEUR (NOEDITEUR);


alter table ecrit
add constraint fk_NOAUTEUR_ECRIT foreign key (NOAUTEUR) references AUTEUR (NOAUTEUR);


alter table ecrit
add constraint fk_NOLIVRE_ECRIT foreign key (NOLIVRE) references LIVRE (NOLIVRE);




/*Remplissage de table*/


INSERT INTO AUTEUR values (001,Henry,Bidule_truc,Lyon,69256,750.21);
INSERT INTO AUTEUR values (002,Paul,Machin,Paris,92800,650.21);
INSERT INTO AUTEUR values (003,Marc,Autre,Marseille,13556,60.21);


INSERT INTO EDITEUR values (001,Bayard);
INSERT INTO EDITEUR values (002,Super_editeur);

INSERT INTO LIVRE values (001,001, 001, 'Les Milles et Une Nuit',250,25,5,8, '13/10/2005');
INSERT INTO LIVRE values (002,001, 001, 'Livre de Cuisine',256,20,1,3, '25/10/2005');
INSERT INTO LIVRE values (003,002, 001, 'Sciences Occultes',126,50,10,20, '25/12/2004');
INSERT INTO LIVRE values (004,002, 002, 'Programmation en C',246,20,1,3, '25/08/2002');
INSERT INTO LIVRE values (005,001, 002, 'Systeme d'Exploitation',326,20,1,3, '25/10/2005');
INSERT INTO LIVRE values (006,002, 001, 'Fantasy',125,20,1,3, '25/10/2005');





/*Creation d'index*/

create index EDITEUR on EDITEUR (NOEDITEUR ASC);
create index AUTEUR on AUTEUR (NOAUTEUR ASC);
create index LIVRE on LIVRE (NOLIVRE ASC);
create index ECRIT on ECRIT (NOAUTEUR ASC);


/*Suppression d'index*/

drop index EDITEUR;
drop index AUTEUR;
drop index LIVRE;
drop index ECRIT;