Exercice 1:
1. Créer les tables suivantes en définissant les contraintes d’intégrité :
2. PIECE (NOP, DESIGNATION, COULEUR, POIDS)
3. SERVICE (NOS, INTITULE, LOCALISATION)
4. ORDRE (#NOP, #NOS, QUANTITE)
create table piece( nop number(5) primary key, designation varchar(5), couleur varchar(10),
poids number(4,2));
create table service( nos number(5) primary key, intitule varchar(5), localisation varchar(20));
create table ordre( nop number(5), nos number(5), quantite number(5),
constraint FK_nop foreign key (nop) references piece(nop),
constraint FK_nos foreign key (nos) references service(nos),
primary key(nop,nos));
1. Ajouter l’attribut DIRECTEUR à la table SERVICE.
alter table service add directeur varchar(20);
2. Augmenter le type des attributs DESIGNATION et INTITULE de 10 caractères.
alter table piece modify designation varchar(10);
alter table service modify intitule varchar(10);
3. Ajouter une contrainte de domaine sur l’attribut COULEUR, qui ne doit prendre que les
valeurs ROUGE, VERTE, BLEU et JAUNE.
alter table piece add constraint ck_couleur check(couleur in('rouge','verte','bleu','jaune'));
4. Ajouter une contrainte de domaine sur la QUANTITE, qui doit être toujours supérieur à 1.
alter table ordre add constraint ck_quan check(quantite>1);
5. Renommer la colonne LOCALISATION to LOCALSERVICE.
alter table service rename column localisation to localservice;
6. Insérer des pièces dans la table PIECE.
insert into piece values(123,'moteur','bleu',55);
insert into piece values(124,'pneu','bleu',46);
insert into piece values(125,'volant','rouge',20);
7. Insérer des services dans la table SERVICE.
insert into service values(13,'voiture','sousse','mercedes');
insert into service values(12,'voiture','tunis','BMW');
insert into service values(14,'voiture','Monastir','Range Rover');
8. Insérer des ordres dans la table ORDRE.
insert into ordre values(123,14,40);
insert into ordre values(123,12,60);
insert into ordre values(124,13,70);
insert into ordre values(124,14,40);
9. Remplacer les pièces de poids 1KG par un poids de 2KG.
update piece set poids=2 where poids=1;
10. Modifier la colonne LOCALISATION de la table SERVICE à NULL.
update service set localservice=null where localservice is not nul ;
11. Supprimer l’attribut LOCALISATION de la table SERVICE.
alter table service drop localservice;
12. Supprimer la contrainte de domaine sur l’attribut COULEUR
alter table piece drop constraint ck_couleur;
13. Convertir les poids de produits en kilogrammes sachant qu’ils sont insérés en grammes.
update piece set poids=poids*0.001 where poids is not null;
14. Supprimer la table SERVICE.
alter table service drop primary key cascade;
drop table service;