0% ont trouvé ce document utile (0 vote)
58 vues10 pages

00TP01 Ventes Oracle MySQL SQLite Access Normal

Oracle data base advanced

Transféré par

So Ma
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues10 pages

00TP01 Ventes Oracle MySQL SQLite Access Normal

Oracle data base advanced

Transféré par

So Ma
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 PDF, TXT ou lisez en ligne sur Scribd

Bases de Données

SGBDR Oracle, MySQL, SQLite, Access

I-Procédure de conception d'une base de données:


Graphe Ou Modèle Conceptuel Modèle Modèle
Univers
Dictionnaire Matrice des des Données (MCD) Logique Physique
Du
Des données dépendances ou Modèle des des
Discours
fonctionnelle Entité/Association Données Données

II- Exemple de Script pour la création des tables d'une base de


données
Instruction CREATE TABLE
et réalisation des quatre opérations de base sur une base de données :
1. Insertion de données : INSERT
2. Mise à jour des données : UPDATE
3. Suppression des données : DELETE
4. Interrogation ou consultation des données : SELECT

La société InfoDistribution est spécialisée dans la ventes en gros du matériel informatique. Pour automatiser ses travaux de ventes,
elle doit gérer un ensemble d’informations telles que celles sur les produits qu’elle commercialise, celles sur ses clients, sur ses
différents dépôts,…etc. L’univers du discours est constitué des fichiers ci-dessous.

Clients Commandes
Code Nom Adresse Ville Num Date Code
Client Client Client Client Commande Commande Client
Clt001 Moha 17, BD Roudani Casablanca 1 22/01/2015 Clt001
Clt002 Toto 19, BD Zerktouni Casablanca 2 15/02/2015 Clt002
Clt003 Manolo 14, Bd Ennasr Rabat 3 20/02/2015 Clt001
Clt004 Poko 45, BD Beni Mekada Tanger 4 15/03/2015 Clt003

Produits
Code Prix DétailCommande
Designation MargeMin MargeMax Num Code Prix Qte Taux
Produit Achat
Commande Produit Vente Commandee Remise
P001 Disque Dur 500 10% 20% 1 P001 600 10 0.15
SAMSUNG 1 P002 850 5 0
250GO 1 P003 550 3 0.05
P002 RAM DDR 2 700 15% 30% 2 P002 800 6 0
GO 2 P003 500 4 0
P003 Boitier Mini 450 5% 15% 3 P002 820 8 0.1
Tour 4 P001 550 5 0
P004 Carte mère 1200 10% 25%

Stock Depot
Code Code Qte En Seuil CodeDepot AdresseDepot VilleDepot
Depot Produit Stock Stock
DP01 P001 10 5
DP01 14, BD La liberté Casablanca
DP01 P002 40 10 DP02 27, BD des FAR Casablanca
DP01 P003 20 5 DP03 25, Hay El Mansour Rabat
DP01 P004 10 5
DP02 P001 60 5
1
DP02 P003 30 10
DP03 P001 20 5
DP03 P004 20 5

Règles de gestion

1. Le nom du client doit obligatoirement être renseigné


2. La ville par défaut d'un client est Casablanca
3. Deux clients ne doivent pas avoir le même nom et la même ville
4. La désignation d'un produit doit toujours être renseignée
5. Deux produits ne doivent pas avoir la même désignation
6. La marge min de bénéfice doit être comprise entre 5% et 30%
7. La marge max de bénéfice doit être comprise entre 5% et 30%
8. La marge Min de bénéfice doit être inférieure à la marge Max
9. Le taux de remise sur un produit ne doit pas dépasser 10%
10. Le seuil du stock doit toujours être supérieur ou égal à 5
11. La quantité en stock doit être supérieure au seuil du stock

2
Travail à faire :

1-Dresser le dictionnaire de données qui répertorie toutes les données manipulées par la société en fournissant un ensemble
d’informations sur chaque donnée selon le modèle ci-dessous.

Type Contraintes d’intégrité


Nature
Syntaxique
A E M Ou
Longueur
Nom Signification N CO SIG Contrainte d’Integrité
Sémantique
AN Ou
CA SIT
Date Régle de calcul
CodeProduit Code du produit AN 4 E SIG A999
Designation Nom du produit AN 25 E SIG
PrixAchat Prix unitaire du produit N 9 E SIG 9999999 .99
MargeMin Marge Minimale du bénifice N 3 E SIG 0 .99 ENTRE 5% ET 30%
MargeMax Marge Maximaledu bénifice N 3 E SIG 0 .99 ENTRE 5% ET 30%
TauxRemise Taux de remise N 3 E SIG 0.99 < =10%
CodeClient Code du client AN 6 E SIG AAA999
NomClient Nom du client AN 25 E SIG
AdresseClient Adresse du client AN 40 CO SIG N° + RUE + CODEPOSTAL
VilleClient Ville du client AN 30 E SIG
NumCommande Numéro de commande AN 6 E M AAA999
DateCommande Date de la commande Date E M JJ/MM/AAAA
PrixVente Prix de vente du produit N 9 E SIG 9999999 .99
QteCommandee Quantité commandee N Entier court E M 999
TauxRemise Taux de la remise N 3 E M 9.99
CodeDepot Code du dépôt AN 5 E SIG AA999
AdresseDepot Adresse du dépôt AN 40 CO SIG N°+RUE+CODEPOSTAL
VilleDepot Ville du dépôt AN 30 E SIG
QteEnStock Quantité en stock N Entier E SIT 999
QteEnStock>SeuilStock
SeuilStock Seuil du stock N Entier court E SIT 99
QteEnStock>SeuilStock

Légende :
Type Nature
A=Alphabétique E(Eléméntaire) M(Mouvement)
Longueur
N=Numérique CO(Concaténé) SIG(SIGnalétique)
AN=Alphanumérique CA(Calculé) SITuation

3
2-Donner le graphe et la matrice des dépendances fonctionnelles
Pour simplifier :
a. Commencer par déterminer les identifiants naturels
b. Déterminer les propriétés qui peuvent être déterminées à partir de chacun des identifiants naturels
c. Au cas où il y a des propriétés qui restent isolées et ne peuvent être déterminées à partir d'aucun identifiant, chercher à
trouver les combinaisons des identifiants qui permettent de déterminer ces propriétés.

4
3-Le modèle conceptuel de données selon le formalisme Entité/Association est :

Client Commande Contenir >


1,n 1,1
CodeClient Passer > NumCommande 1,n
PrixVente
NomClient DateCommande QteCommandee
AdresseClient TauxRemise
VilleClient

0,n

Produit
Depot CodeProduit
CodeDepot Stocker 1,n Designation
0,n
AdresseDepot QteEnStock PrixAchat
VilleDepot SeuilStock MargeMin
MargeMax

4-Donner le Modèle Logique Relationnel de la base avec Access

5
5-Donner le script de création du modèle physique de la base de données sous Oracle , MySQL et SQLite
a-Script Sous Oracle
Script de création des tables de la base sous Oracle
-============ Création de la table Client ======================
CREATE TABLE Client(
CodeClient VARCHAR2(6) CONSTRAINT pkCodeClt PRIMARY KEY,
NomClient VARCHAR2(25) CONSTRAINT nnNomClt NOT NULL,
AdresseClient VARCHAR2(40),
VilleClient VARCHAR2(30) DEFAULT 'Casablanca',
CONSTRAINT uqNomAdresse UNIQUE(NomClient, AdresseClient)
);
-============ Création de la table Commande ======================
CREATE TABLE Commande(
NumCommande NUMBER(5) CONSTRAINT pkCommande PRIMARY KEY,
DateCommande DATE,
CodeClient VARCHAR2(6) CONSTRAINT fkCmdClt REFERENCES Client(CodeClient)
);
-============ Création de la table Produit ======================
CREATE TABLE Produit(
CodeProduit VARCHAR2(4) CONSTRAINT pkProduit PRIMARY KEY,
Designation VARCHAR2(25) CONSTRAINT nnDesignation NOT NULL,
PrixAchat NUMBER(9,2),
MargeMin NUMBER(3,2) CONSTRAINT ckMargeMIN CHECK (MargeMin BETWEEN 0.05 AND 0.30),
MargeMax NUMBER(3,2) CONSTRAINT ckMargeMAX CHECK (MargeMax BETWEEN 0.05 AND 0.30),
CONSTRAINT ckMargeMinMax Check(MargeMin < MargeMax),
CONSTRAINT uqDesignationProduit UNIQUE(Designation)
);
-============ Création de la table Depot ======================
CREATE TABLE Depot(
CodeDepot VARCHAR2(5) CONSTRAINT pkDepot PRIMARY KEY,
AdresseDepot VARCHAR2(40),
VilleDepot VARCHAR2(30)
);
-============ Création de la table DetailCommande ======================
CREATE TABLE DetailCommande(
NumCommande NUMBER(5) CONSTRAINT fkDetCmdCommande REFERENCES COMMANDE(NumCommande),
CodeProduit VARCHAR2(4) CONSTRAINT fkDetCmdProduit REFERENCES Produit(CodeProduit),
PrixVente NUMBER(9,2),
QteCommandee NUMBER(3),
TauxRemise NUMBER(3,2) CONSTRAINT ckTauxRemise CHECK(TauxRemise <=0.10),
CONSTRAINT pkDetCmd PRIMARY KEY (NumCommande, CodeProduit)
);
-============ Création de la table Stock ======================
CREATE TABLE Stock(
CodeDepot VARCHAR2(5) CONSTRAINT fkStockDepot REFERENCES Depot(CodeDepot),
CodeProduit VARCHAR2(4) CONSTRAINT fkStockProduit REFERENCES Produit(CodeProduit),
QteEnStock NUMBER(3),
SeuilStock NUMBER(3) CONSTRAINT ckSeuilStock CHECK(SeuilStock >=5),
CONSTRAINT ckStockQteSeuil CHECK (QteEnStock > SeuilStock),
CONSTRAINT pkStock PRIMARY KEY(CodeDepot, CodeProduit)
);

Script d'insertion des données dans les tables


-========== Insertion des données dans la table Client ==================================================
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt001', 'Moha', '17, Bd Roudani', 'Casablanca');
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt002', 'Toto', '19, Bd Zerktouni', DEFAULT);
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt003', 'Manolo', '14, Bd Ennasr', 'Rabat');
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt004', 'Poko', '45, Bd Souktani', 'Casablanca');

-========== Insertion des données dans la table Commande ==================================================


INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (1, '22/01/2015', 'Clt001');
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (2, '15/02/2015', 'Clt002');

6
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (3, '20/02/2015', 'Clt001');
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (4, '15/03/2015', 'Clt003');

-========== Insertion des données dans la table Produit ==================================================


INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P001', 'Disque Dur SAMSUNG 250GO', 500,0.10, 0.20);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P002', 'RAM DDR 2 GO', 700, 0.15, 0.30);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P003', 'Boitier Mini Tour', 450, 0.05, 0.15);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P004', 'Carte mère ASUS', 1200, 0.10, 0.25);

-========== Insertion des données dans la table Depot ==================================================


INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP01', '14, BD La liberté', 'Casablanca');
INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP02', '27, BD des FAR', 'Casablanca');
INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP03', '25, Hay El Mansour', 'Rabat');

-========== Insertion des données dans la table DetailCommande =========================================

INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)


VALUES(1, 'P001', 600, 10, 0.1 );
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(1, 'P002', 850, 5, 0 );
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(2, 'P002', 800, 6, 0);
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(2, 'P003', 500, 4, 0);
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(3, 'P002', 820, 8, 0.1);
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(3, 'P002', 820, 8, 0.1);
INSERT INTO DetailCommande(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(4, 'P001', 550, 5, 0);

-========== Insertion des données dans la table Stock =========================================


INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P001', 10, 5);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P002', 40, 10);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P003', 20, 5);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P004', 10, 5);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP02', 'P001', 60, 5);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP02', 'P003', 30, 10);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP03', 'P001', 20, 5);
INSERT INTO Stock(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP03', 'P004', 20, 5);

c- Script de création des tables de la base sous SQLite


Script de création des tables de la base sous SQLite
-============ Création de la table Client ======================
CREATE TABLE Client(
CodeClient VARCHAR(6),
NomClient VARCHAR(25) CONSTRAINT nnNomClt NOT NULL,
AdresseClient VARCHAR(40),
VilleClient VARCHAR(30) DEFAULT 'Casablanca',
CONSTRAINT pkCodeClt PRIMARY KEY(CodeClient),
CONSTRAINT uqNomAdresse UNIQUE(NomClient, AdresseClient)
);
-============ Création de la table Commande ======================
CREATE TABLE Commande(
NumCommande SMALLINT,
7
DateCommande DATE,
CodeClient VARCHAR2(6),
CONSTRAINT pkCommande PRIMARY KEY(NumCommande),
CONSTRAINT fkCmdClt FOREIGN KEY(CodeClient) REFERENCES Client(CodeClient)
);
-============ Création de la table Produit ======================
CREATE TABLE Produit(
CodeProduit VARCHAR(4),
Designation VARCHAR(25) CONSTRAINT nnDesignation NOT NULL,
PrixAchat NUMERIC(9,2),
MargeMin NUMERIC(3,2),
MargeMax NUMERIC(3,2),
CONSTRAINT pkProduit PRIMARY KEY(CodeProduit),
CONSTRAINT ckMargeMIN CHECK (MargeMin BETWEEN 0.05 AND 0.30),
CONSTRAINT ckMargeMAX CHECK (MargeMax BETWEEN 0.05 AND 0.30),
CONSTRAINT ckMargeMinMax Check(MargeMin < MargeMax),
CONSTRAINT uqDesignationProduit UNIQUE(Designation)
);

-============ Création de la table Contenir (on peut aussi l'appeler Contenir=============


CREATE TABLE Contenir(
NumCommande SMALLINT,
CodeProduit VARCHAR(4),
PrixVente NUMERIC(9,2),
QteCommandee TINYINT,
TauxRemise NUMERIC(3,2) CONSTRAINT ckTauxRemise CHECK(TauxRemise <=0.10),
CONSTRAINT pkDetCmd PRIMARY KEY (NumCommande, CodeProduit),
CONSTRAINT fkDetCmdCommande FOREIGN KEY(NumCommande) REFERENCES
COMMANDE(NumCommande),
CONSTRAINT fkDetCmdProduit FOREIGN KEY(CodeProduit) REFERENCES Produit(CodeProduit)
);
);-============ Création de la table Depot ======================
CREATE TABLE Depot(
CodeDepot VARCHAR(5),
AdresseDepot VARCHAR(40),
VilleDepot VARCHAR(30),
CONSTRAINT pkDepot PRIMARY KEY(CodeDepot)
);

-============ Création de la table Stock ======================


CREATE TABLE Stocker(
CodeDepot VARCHAR(5),
CodeProduit VARCHAR(4),
QteEnStock TINYINT,
SeuilStock TINYINT,
CONSTRAINT pkStock PRIMARY KEY(CodeDepot, CodeProduit),
CONSTRAINT fkStockDepot FOREIGN KEY(CodeDepot) REFERENCES Depot(CodeDepot),
CONSTRAINT fkStockProduit FOREIGN KEY(CodeProduit) REFERENCES Produit(CodeProduit),
CONSTRAINT ckSeuilStock CHECK(SeuilStock >=5),
CONSTRAINT ckStockQteSeuil CHECK (QteEnStock > SeuilStock)
););

Script d'insertion des données dans les tables


--=========== Insertion des données dans la table Client ==================================================

8
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt001', 'Moha', '17, Bd Roudani', 'Casablanca');
INSERT INTO Client(CodeClient, NomClient, AdresseClient) VALUES('Clt002', 'Toto', '19, Bd Zerktouni');
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt003', 'Manolo', '14, Bd Ennasr', 'Rabat');
INSERT INTO Client(CodeClient, NomClient, AdresseClient, VilleClient) VALUES('Clt004', 'Poko', '45, Bd Souktani', 'Casablanca');

--========== Insertion des données dans la table Commande ==============================================


INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (1, '22/01/2015', 'Clt001');
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (2, '15/02/2015', 'Clt002');
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (3, '20/02/2015', 'Clt001');
INSERT INTO Commande(NumCommande, DateCommande, CodeClient) VALUES (4, '15/03/2015', 'Clt003');

--========== Insertion des données dans la table Produit ==================================================


INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P001', 'Disque Dur SAMSUNG 250GO', 500,0.10, 0.20);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P002', 'RAM DDR 2 GO', 700, 0.15, 0.30);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P003', 'Boitier Mini Tour', 450, 0.05, 0.15);
INSERT INTO Produit(CodeProduit, Designation, PrixAchat, MargeMin, MargeMax)
VALUES('P004', 'Carte mère ASUS', 1200, 0.10, 0.25);

--========== Insertion des données dans la table Depot ==================================================


INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP01', '14, BD La liberté', 'Casablanca');
INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP02', '27, BD des FAR', 'Casablanca');
INSERT INTO Depot(CodeDepot, AdresseDepot, VilleDepot) VALUES('DP03', '25, Hay El Mansour', 'Rabat');

--========== Insertion des données dans la table Contenir =========================================

INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)


VALUES(1, 'P001', 600, 10, 0.1 );
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(1, 'P002', 850, 5, 0 );
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(2, 'P002', 800, 6, 0);
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(2, 'P003', 500, 4, 0);
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(3, 'P002', 820, 8, 0.1);
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(3, 'P003', 820, 8, 0.1);
INSERT INTO Contenir(NumCommande, CodeProduit, PrixVente, QteCommandee, TauxRemise)
VALUES(4, 'P001', 550, 5, 0);

-========== Insertion des données dans la table Stocker =========================================


INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P001', 10, 5);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P002', 40, 10);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P003', 20, 5);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP01', 'P004', 10, 5);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP02', 'P001', 60, 5);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP02', 'P003', 30, 10);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP03', 'P001', 20, 5);
INSERT INTO Stocker(CodeDepot, CodeProduit, QteEnStock, SeuilStock) VALUES('DP03', 'P004', 20, 5);

9
Requêtes de manipulation des données

I-Requêtes sélection

1. Afficher les informations CodeProduit, Désignation, PrixAchat, PrixVenteMin(=PrixAchat*(1+MargeMin)),


PrixVenteMax(=PrixAchat*(1+MargeMax))
2. Afficher les informations CodeDepot, VilleDepot, CodeProduit, Designation, QteEnStock,
Montant(=PrixAchat*QteEnStock)
3. Aficher les informations CodeClient, NomClient, NumCommande, DateCommande pour les clients qui ont passé au
moins une commande
4. Aficher les informations CodeClient, NomClient, NumCommande, DateCommande pour tous les clients qu'ils aient ou
non passé une commande.
5. Afficher les informations CodeProduit, Designation, NumCommande, PrixVente, QteCommandee pour les produits qui
ont été commandés
6. Afficher les informations CodeProduit, Designation, NumCommande, PrixVente, QteCommandee pour les produits
qu'ils soient commandés ou non.
7. Afficher les informations NumCommande, MontantCommande :(=PrixVente * (1-TauxRemise)*QteCommandee)
8. Afficher les informations NumCommande, DateCommande, BénificeTotal (=(PrixVente*(1-Tauxremise)-
PrixAchat)*QteCommandee).
9. Afficher les informations CodeDepot, VilleDepot, ValeurStock(=Somme(PrixAchat*QteEnStock))
10. Afficher les informations VilleDepot, ValeurStock (=Somme(PrixAchat*QteEnStock))
11. Afficher les informations CodeDepot, VilleDepôt, PrixAchatMin, PrixAchatMax.
12. Afficher les informations CodeClient, NomClient, VilleClient qui habitent dans une ville où se trouvent au moins un
dépôt
13. Afficher les informations CodeClient, NomClient, VilleClient qui habitent dans une ville où ne se trouve aucun dépôt.
14. Afficher les informations CodeProduit, Designation, QteEnstock des produits qui sont stockés dans tous les dépôts.
II-Requêtes de mise à jour
1. Augmenter de 10% le prix d'achat des produits dont la désignation commence par "RA"
2. Réduire de 2% les marges de bénéfices des produits stockés dans les dépôts sis dans la ville de Rabat.
III-Requêtes suppression
1. Supprimer les clients qui n'ont pas passé une commande depuis plus que 3 ans

10

Vous aimerez peut-être aussi