0% ont trouvé ce document utile (0 vote)
15 vues6 pages

TP1 Spool

Transféré par

bakrimtizniite
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues6 pages

TP1 Spool

Transféré par

bakrimtizniite
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

--01) Lancer l'interface SQL*plus, en utilisant l'une des deux mani�res suivantes:

--b. A l'interface ligne de commande , tapez la commande : sqlplus /nolog:

sqlplus /nolog

SQL>
SQL> --02) Se connecter � la base Oracle en utilisant la commande : connect
system/motdepasse :
SQL>
SQL> connect /as sysdba
Connected.
SQL>
SQL> --03) Cr�er un utilisateur qui s appelle TP1:
SQL>
SQL> create user TP1 identified by smi5_tp1 quota 5M on system;

User created.

SQL>
SQL> --04) Donner � cet utilisateur les droits create session et create table :
SQL>
SQL> grant all privileges to TP1;

Grant succeeded.

SQL>
SQL> --05) Se d�connecter de la base Oracle avec la commande:disconnect :
SQL>
SQL> disconnect
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 -
Production
SQL>
SQL> --06) Se connecter de nouveau � oracle en utilisant le login de l'utilisateur
cr�e :
SQL>
SQL> connect TP1/smi5_tp1
Connected.
SQL>
SQL> --07) Pr�ciser les cl�s primaires et les cl�s �trang�res des relations ci-
dessus :
SQL>
SQL> ----------- Nauteur,Nlivre,Nmembre,Nlivre&Nauteur,Npret;
SQL>
SQL> --08)Cr�er les tables de cette base de donn�es. Les contraintes doivent �tre
nomm�es de la mani�re suivante:
InitialeTypeContrainte_nomTable[_nomTableReference].
SQL>
SQL> create table Auteur(
2 Nauteur number(6) primary key,
3 nom varchar2(20),
4 prenom varchar2(20),
5 nationalite varchar2(20));

Table created.

SQL> create table Livre(


2 Nlivre number(6) primary key,
3 titre varchar2(20),
4 nbPages number(3),
5 annee number(4),
6 prix number(6,2));

Table created.

SQL> create table Membre(


2 Nmembre number(6) primary key,
3 nom varchar2(20),
4 prenom varchar2(20),
5 dateInscription date);

Table created.

SQL> create table possede(


2 Nlivre number(6), constraint fk_Nlivre_pos foreign key(Nlivre) references
Livre(Nlivre) on delete cascade,
3 Nauteur number(6), constraint fk_Nauteur_pos foreign key(Nauteur) references
Auteur(Nauteur) on delete cascade,
4 constraint Pk_possede primary key (Nlivre,Nauteur));

Table created.

SQL> create table pret(


2 Npret number(6) primary key,
3 Nmembre number(6), constraint fk_Nmembre_pr foreign key(Nmembre) references
Membre(Nmembre) on delete cascade,
4 Nlivre number(6), constraint fk_Nlivre_pr foreign key(Nlivre) references
Livre(Nlivre) on delete cascade,
5 datePret date);

Table created.

SQL>
SQL> --09) En utilisant la vue user_objects, v�rifier la pr�sence des objets cr��s.
Utiliser : select object_name, object_type from .
SQL>
SQL> desc Livre
Name Null? Type
----------------------------------------- -------- ----------------------------
NLIVRE NOT NULL NUMBER(6)
TITRE VARCHAR2(20)
NBPAGES NUMBER(3)
ANNEE NUMBER(4)
PRIX NUMBER(6,2)

SQL> desc Auteur


Name Null? Type
----------------------------------------- -------- ----------------------------
NAUTEUR NOT NULL NUMBER(6)
NOM VARCHAR2(20)
PRENOM VARCHAR2(20)
NATIONALITE VARCHAR2(20)

SQL> desc Membre


Name Null? Type
----------------------------------------- -------- ----------------------------
NMEMBRE NOT NULL NUMBER(6)
NOM VARCHAR2(20)
PRENOM VARCHAR2(20)
DATEINSCRIPTION DATE

SQL> desc possede


Name Null? Type
----------------------------------------- -------- ----------------------------
NLIVRE NOT NULL NUMBER(6)
NAUTEUR NOT NULL NUMBER(6)

SQL> desc pret


Name Null? Type
----------------------------------------- -------- ----------------------------
NPRET NOT NULL NUMBER(6)
NMEMBRE NUMBER(6)
NLIVRE NUMBER(6)
DATEPRET DATE

SQL>
SQL> select table_name,constraint_name, constraint_type from user_constraints order
by 1;

TABLE_NAME CONSTRAINT_NAME C
------------------------------ ------------------------------ -
AUTEUR SYS_C008027 P
LIVRE SYS_C008028 P
MEMBRE SYS_C008029 P
POSSEDE PK_POSSEDE P
POSSEDE FK_NLIVRE_POS R
POSSEDE FK_NAUTEUR_POS R
PRET SYS_C008033 P
PRET FK_NMEMBRE_PR R
PRET FK_NLIVRE_PR R

9 rows selected.

SQL>
SQL> --10) Cr�er les index sur une cl� primaire et une des cl�s �trang�res de la
table pr�t :
SQL>
SQL> create index id_pret on pret(Npret);
create index id_pret on pret(Npret)
*
ERROR at line 1:
ORA-01408: such column list already indexed

SQL> create index id_Nlivre on pret(Nlivre);

Index created.

SQL> create index id_Nmembre on pret(Nmembre);

Index created.

SQL>
SQL> --Rq : on ne peut pas cr�e un index pour la cl� primaire car elle est index�
par default.
SQL>
SQL> --11) Augmenter la taille de la colonne nom de la table membre :
SQL>
SQL> alter table Membre Modify nom varchar2(28);

Table altered.

SQL>
SQL> --12) Ajouter le champ email a la table membre :
SQL>
SQL> alter table Membre add email varchar2(30);

Table altered.

SQL>
SQL> --13) Ajouter la colonne adresse � la table membre :
SQL>
SQL> alter table Membre add adress varchar2(30);

Table altered.

SQL>
SQL> --14) Supprimer les contraintes de la table pr�t :
SQL>
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name='PRET';

CONSTRAINT_NAME C
------------------------------ -
SYS_C008033 P
FK_NMEMBRE_PR R
FK_NLIVRE_PR R

SQL>
SQL> alter table pret drop primary key cascade;

Table altered.

SQL> alter table pret drop constraint fk_Nmembre_pr;

Table altered.

SQL> alter table pret drop constraint fk_Nlivre_pr;

Table altered.

SQL>
SQL> --Rq : prototype : "alter table nom_table drop constraint constraint_name;"
SQL>
SQL> --15)Modifier la table pr�t en y ajoutant les contraintes suivantes :
SQL> ---a. Nmembre est une cl� �trang�re de la table membre :
SQL>
SQL> alter table pret add constraint fk2_Nmembre_pr foreign key(Nmembre) references
Membre(Nmembre) on delete cascade;

Table altered.

SQL>
SQL> ---b. Nlivre est une cl� �trang�re de la table livre :
SQL>
SQL> alter table pret add constraint fk2_Nlivre_pr foreign key(Nlivre) references
Livre(Nlivre) on delete cascade;

Table altered.

SQL>
SQL> --16) Ajouter la contrainte de cl� primaire � pr�t :
SQL>
SQL> alter table pret add constraint Pk2_Npret primary key(Npret);

Table altered.

SQL>
SQL> --17) Modifier la table livre en y ajoutant la colonne Nauteur et la
contrainte indiquant que cette colonne est une cl� �trang�re :
SQL>
SQL> alter table Livre Modify Nauteur number(6);

Table altered.

SQL> alter table Livre add constraint fk_Nauteur foreign key (Nauteur) references
Auteur(Nauteur) on delete cascade;

Table altered.

SQL>
SQL> --18) Supprimer la table poss�de :
SQL>
SQL> drop table possede;

Table dropped.

SQL>
SQL> --19)Ajouter une contrainte � la table livre qui assure que titre de livre est
une valeur bien d�termin�e :
SQL>
SQL> alter table livre add check (titre is not null);

Table altered.

SQL>
SQL> --20) Ajoute les champs langue et NbreExemplaires � la table livre :
SQL>
SQL> alter table livre add (langue varchar2(30),NbreExemple number(4));

Table altered.

SQL>
SQL> --21) Ajouter la contrainte qui assure l'unicit� du nom et pr�nom du membre :
SQL>
SQL> alter table Membre add Unique (nom,prenom);

Table altered.

SQL>
SQL> --22) Cr�er les index sur les champs suivants :
SQL> ---a. nom et pr�nom de l auteur:
SQL>
SQL> create index ind1 on Auteur (nom,prenom);
Index created.

SQL>
SQL> ---b. nom et pr�nom du membre:
SQL>
SQL> create index ind2 on Membre (nom,prenom);
create index ind2 on Membre (nom,prenom)
*
ERROR at line 1:
ORA-01408: such column list already indexed

SQL>
SQL> ---c. le titre du livre:
SQL>
SQL> create index ind3 on Livre (titre);

Index created.

SQL>
SQL> --23) Supprimer l'index d�ja cr�e sur la table auteur :
SQL>
SQL> drop index ind1;

Index dropped.

SQL>
SQL> --24) Ajouter la contrainte qui sp�cifie que date_retour est >= date_pret :
SQL>
SQL> alter table pret add (dateRetour Date,check(dateRetour>=datePret));

Table altered.

SQL> disconnect
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 -
Production
SQL> spool off

Vous aimerez peut-être aussi