Vous êtes sur la page 1sur 4

Classe 

: 3A
Année universitaire : 2012-2013
Enseignante : Mme Hkimi Jihène

ATELIER SQL N° 1 : LDD : CREATION ET MISE A JOUR


DES OBJETS

Exercice N°1 : Création de tables


Dans cet exercice, vous allez manipuler des objets simples.
Ouvrez Oracle 10g Express.
Se connecter avec l’utilisateur « HR »

a)
Tapez la requête suivante pour créer la table CATEGORIES. Enregistrez la requête sous le
nom creation_catégories.

Nom colonne Type Longueur


Id_categorie Entier 3
Nom_categorie caractère 30

b) Tapez la requête suivante pour créer la table PRODUITS. Enregistrez la requête sous
le nom creation_produits
CREATE TABLE PRODUITS
(
Id_produit number (3),
Nom_produit varchar2(20),
id_categorie number (3)
) ;

c) Tapez la requête suivante pour créer la table CLIENTS. Enregistrez la requête sous le
nom creation_clients.
CREATE TABLE CLIENTS
(
Id_client number (4),
Nom_client varchar2(40),
Adresse varchar2(50),
Ville varchar2(20),
Pays varchar2(20)
) ;

d) Tapez la requête suivante pour créer la table COMMANDES. Enregistrez la requête


sous le nom creation_commandes.
CREATE TABLE COMMANDES
(
id_commande number (3),
1
id_client number (4),
Date_commande date default sysdate
);

e) Tapez la requête suivante pour créer la table LIGNES_COMMANDES. Enregistrez la


requête sous le nom creation_lignes_commandes.
CREATE TABLE LIGNES_COMMANDES
(
id_commande number(3),
Id_produit number(3) ,
Qté number (5),
Pu number(6)
);

Exercice N°2 : Modification de la structure des tables

Vous allez modifier la structure des tables créées dans l’exercice 1.

a) Tapez une requête pour ajouter le champ description à la table CATEGORIES.


Enregistrez la requête sous le nom modification_categ_ajout_desc.

b) Tapez une requête pour modifier la taille du champ Nom_categorie de la table


CATEGORIES à 50 caractères. Enregistrez la requête sous le nom
modification_catégories_modif_nom.

c)Tapez une requête pour supprimer le champ pays de la table CLIENTS. Enregistrez la
requête sous le nom modification_produits_suppression_pays.

Exercice N° 3: Ajout de contraintes NOT NULL


Vous allez modifier la structure des tables créées dans l’exercice 2 en ajoutant des
contraintes NOT NULL.

a) Tapez une requête pour que le champs id_categorie soit not null. Enregistrez la requête
sous le nom modification_catégories_ajout_contrainte_notnull_id.

2
b) Tapez une requête pour que le champs nom_categorie soit not null. Enregistrez la requête
sous le nom modification_catégories_ajout_contrainte_notnull_nom

c) Tapez les requêtes nécessaires pour ajouter des contraintes not null pour tous les
champs de toutes les tables.
Exercice N° 4 : Ajout de contraintes PRIMARY KEY
Vous allez ajouter des contraintes clé primaire à chaque table.

a) Tapez une requête pour ajouter une clé primaire à la table CATEGORIES. Enregistrez la
requête sous le nom modification_catégories_ajout_contrainte_pk_id_cat.

b) Tapez une requête pour ajouter une clé primaire à la table PRODUITS. Enregistrez la
requête sous le nom modification_produits_ajout_contrainte_pk_id_prod.

c) Tapez une requête pour ajouter une clé primaire à la table CLIENTS. Enregistrez la
requête sous le nom modification_clients_ajout_contrainte_pk_id_client.

d) Tapez une requête pour ajouter une clé primaire à la table COMMANDES. Enregistrez la
requête sous le nom modification_cmd_ajout_contrainte_pk_no_cmd.

e) Ajouter une clé primaire à la table LIGNES_COMMANDES. Enregistrez la requête sous le


nom modification_lignes_commandes_ajout_contrainte_pk_lig_cmd.

Exercice N° 5 : Suppression d’une contrainte clé primaire


a) Tapez une requête pour supprimer la clé primaire de la table CATEGORIES. Enregistrez
la requête sous le nom modification_catégories_supp_contrainte_pk_id_cat.

b) Recréez la clé primaire de la table CATEGORIES.

Exercice N° 6 : Création d’une contrainte clé étrangère


a) Tapez une requête pour créer une contrainte clé étrangère (avec l’option on delete
cascade) id_categorie de la table PRODUITS qui fait référence à la table CATEGORIES.
Enregistrez la requête sous le nom modification_produits_ajout_contrainte_fk_id_cat.

b) Tapez une requête pour créer une contrainte clé étrangère id_client de la table
COMMANDES qui fait référence à la table CLIENTS. Enregistrez la requête sous le nom
modification_commandes_ajout_contrainte_fk_no_client.

c) Tapez une requête pour créer une contrainte clé étrangère id_commande de la table
LIGNES_COMMANDES qui fait référence à la table COMMANDES. Enregistrez la
requête sous le nom modification_lig_cmd_ajout_contrainte_fk_no_cmd.

3
d) Tapez une requête pour créer une contrainte clé étrangère id_produit de la table
LIGNES_COMMANDES qui fait référence à la table PRODUITS. Enregistrez la requête
sous le nom modification_lig_cmd_ajout_contrainte_fk_id_produit.

Exercice N°7 : Création d’une contrainte unique


a) Tapez une requête pour créer une contrainte UNIQUE uq_ ville de la table CLIENTS.
Enregistrez la requête sous le nom creation_clients_ajout_contrainte_uq_ ville.
b) Tapez une requête pour supprimer la contrainte uq_ville de la table CLIENTS.
Enregistrez la requête sous le nom suppression_clients_supp_contrainte_uq_ ville.

Exercice N°8 : Création de vues


a) Tapez une requête pour créer une vue v_emp_dept_50 qui permet d’afficher pour le
département 50 : l’id de l’employé, son nom, son job et son salaire, son mail et sa date
d’embauche.
b) Insérez à partir de la vue créée un nouveau salarié ayant comme nom Daniel, job DBA,
salaire 1200 et département 20.
c) Modifiez la vue pour que cette dernière empêche les mises à jour.

Exercice N°9 : Création d’index


a) Tapez une requête pour créer un index sur la colonne salaire de la table Employees du
compte HR.
b) Testez le temps de réponse de la requête avant et après la création de l’index, que
remarquez-vous ?

Exercice N°10 : Création de séquence


a) Tapez une requête pour créer une séquence seq_categ sur la table catégorie, qui
s’incrémente de 1 et qui a une valeur maximale de 100 enregistrements.

Vous aimerez peut-être aussi