This commit is contained in:
Hugo RABAN 2025-02-07 11:15:40 +01:00
parent abbc31c8a1
commit e2041ea33b
3 changed files with 1114 additions and 0 deletions

@ -0,0 +1,270 @@
--DROP TABLE ligne_commande ;
--DROP TABLE commande ;
--DROP TABLE client ;
--DROP TABLE produit;
--
-- Table structure for table client
--
CREATE TABLE client4 (
client_id NUMBER(10) NOT NULL ,
prenom varchar2(255) NOT NULL,
nom varchar2(255) NOT NULL,
email varchar2(255) NOT NULL,
ville varchar2(255) NOT NULL,
PRIMARY KEY (client_id)
);
CREATE TABLE commande4 (
commande_id NUMBER(2) NOT NULL ,
client_id NUMBER(10) ,
date_achat date NOT NULL,
reference varchar2(255) NOT NULL,
PRIMARY KEY (commande_id)
);
CREATE TABLE produit4 (
produit_id NUMBER(2) NOT NULL,
nom_produit varchar2(255) NOT NULL,
prix_unitaire NUMBER(10, 3) NOT NULL,
PRIMARY KEY (produit_id)
);
-- la table ligne commande contient pour une commande donnée, tous les produits achetés lors de cette commande
CREATE TABLE ligne_commande4 (
ligne_commande_id NUMBER(10) NOT NULL ,
commande_id NUMBER(10) NOT NULL,
produit_id NUMBER(2) NOT NULL,
quantite NUMBER(10) NOT NULL,
prix_total NUMBER(10, 3) NOT NULL,
PRIMARY KEY (ligne_commande_id)
);
--
-- Dumping data for table client
--
REM INSERTING into client4
SET DEFINE OFF;
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (1, 'Flavie', 'Da costa', 'f.da.costa@example.com', 'Pomoy');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (2, 'Valentin', 'Vespasien', 'valentin@example.com', 'Buvilly');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (3, 'Gustave', 'Collin', 'gust@example.com', 'Marseille');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (4, 'Emilien', 'Camus', 'emilien@example.com', 'Toulouse');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (5, 'Firmin', 'Marais', 'firmin.marais@example.com', 'Lyon');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (6, 'Olivier', 'Riou', 'olive.de.lugagnac@example.com', 'Lugagnac');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (7, 'Lucas', 'Jung', 'lucas.jung@example.com', 'Coulgens');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (8, 'Maurice', 'Huet', 'maurice.villemareuil@example.com', 'Villemareuil');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (9, 'Manon', 'Durand', 'm.durand.s.e@example.com', 'Saint-Etienne');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (10, 'Joachim', 'Leon', 'joachim@example.com', 'Longwy-sur-le-Doubs');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (11, 'Muriel', 'Dupuis', 'muriel@example.com', 'Paris');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (12, 'Christiane', 'Riou', 'chritianelesabrets@example.com', 'Les Abrets');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (13, 'Jacinthe', 'Langlois', 'jacinthe.langlois@example.com', 'Lagney');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (14, 'Amaury', 'Payet', 'amaury@example.com', 'Avermes');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (15, 'Maris', 'Buisson', 'maris@example.com', 'Le Havre');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (16, 'Fabrice', 'Foucher', 'fab.montlouis@example.com', 'Montlouis');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (17, 'Patrick', 'Saunier', 'patrick.saunier@example.com', 'Saligney');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (18, 'Emile', 'Ramos', 'emile@example.com', 'Arzay');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (19, 'Armel', 'Vigneron', 'armel.delain@example.com', 'Delain');
INSERT INTO client4 (client_id, prenom, nom, email, ville) VALUES (20, 'Arnaude', 'Vallee', 'armaude.vallee@example.com', 'Hostias');
COMMIT;
REM INSERTING into commande4
SET DEFINE OFF;
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (1, 20, TO_DATE('2019-01-01','YYYY-MM-DD'), '004214');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (2, 3, TO_DATE('2019-01-03','YYYY-MM-DD'), '007120');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (3, 11, TO_DATE('2019-01-04','YYYY-MM-DD'), '002957');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (4, 6, TO_DATE('2019-01-07','YYYY-MM-DD'), '003425');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (5, 17, TO_DATE('2019-01-08','YYYY-MM-DD'), '008255');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (6, 7, TO_DATE('2019-01-09','YYYY-MM-DD'), '000996');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (7, 2, TO_DATE('2019-01-10','YYYY-MM-DD'), '000214');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (8, 7, TO_DATE('2019-01-11','YYYY-MM-DD'), '008084');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (9, 12, TO_DATE('2019-01-11','YYYY-MM-DD'), '009773');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (10, 16, TO_DATE('2019-01-13','YYYY-MM-DD'), '004616');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (11, 4, TO_DATE('2019-01-14','YYYY-MM-DD'), '003757');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (12, 9, TO_DATE('2019-01-15','YYYY-MM-DD'), '004939');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (13, 14, TO_DATE('2019-01-16','YYYY-MM-DD'), '003421');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (14, 6, TO_DATE('2019-01-16','YYYY-MM-DD'), '002286');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (15, 3, TO_DATE('2019-01-17','YYYY-MM-DD'), '001167');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (16, 15, TO_DATE('2019-01-18','YYYY-MM-DD'), '008974');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (17, 9, TO_DATE('2019-01-19','YYYY-MM-DD'), '001369');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (18, 17, TO_DATE('2019-01-20','YYYY-MM-DD'), '009924');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (19, 3, TO_DATE('2019-01-21','YYYY-MM-DD'), '005510');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (20, 17, TO_DATE('2019-01-22','YYYY-MM-DD'), '007778');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (21, 17, TO_DATE('2019-01-23','YYYY-MM-DD'), '002359');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (22, 15, TO_DATE('2019-01-25','YYYY-MM-DD'), '008459');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (23, 4, TO_DATE('2019-01-27','YYYY-MM-DD'), '005217');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (24, 12, TO_DATE('2019-01-29','YYYY-MM-DD'), '000706');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (25, 9, TO_DATE('2019-02-01','YYYY-MM-DD'), '007879');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (26, 8, TO_DATE('2019-02-02','YYYY-MM-DD'), '007277');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (27, 11, TO_DATE('2019-02-02','YYYY-MM-DD'), '002745');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (28, 11, TO_DATE('2019-02-03','YYYY-MM-DD'), '001893');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (29, 20, TO_DATE('2019-02-04','YYYY-MM-DD'), '001230');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (30, 10, TO_DATE('2019-02-05','YYYY-MM-DD'), '000469');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (31, 7, TO_DATE('2019-02-05','YYYY-MM-DD'), '008653');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (32, 3, TO_DATE('2019-02-06','YYYY-MM-DD'), '001858');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (33, 14, TO_DATE('2019-02-07','YYYY-MM-DD'), '003330');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (34, 2, TO_DATE('2019-02-08','YYYY-MM-DD'), '001074');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (35, 5, TO_DATE('2019-02-08','YYYY-MM-DD'), '005379');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (36, 16, TO_DATE('2019-02-09','YYYY-MM-DD'), '003672');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (37, 10, TO_DATE('2019-02-09','YYYY-MM-DD'), '002220');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (38, 19, TO_DATE('2019-02-10','YYYY-MM-DD'), '000086');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (39, 8, TO_DATE('2019-02-11','YYYY-MM-DD'), '003770');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (40, 2, TO_DATE('2019-02-12','YYYY-MM-DD'), '008590');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (41, 2, TO_DATE('2019-02-12','YYYY-MM-DD'), '001639');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (42, 4, TO_DATE('2019-02-13','YYYY-MM-DD'), '002426');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (43, 13, TO_DATE('2019-02-14','YYYY-MM-DD'), '007209');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (44, 13, TO_DATE('2019-02-15','YYYY-MM-DD'), '008768');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (45, 7, TO_DATE('2019-02-16','YYYY-MM-DD'), '002213');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (46, 12, TO_DATE('2019-02-17','YYYY-MM-DD'), '004759');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (47, 19, TO_DATE('2019-02-18','YYYY-MM-DD'), '007155');
INSERT INTO commande4 (commande_id, client_id, date_achat, reference) VALUES (48, 2, TO_DATE('2019-02-19','YYYY-MM-DD'), '001496');
COMMIT;
REM INSERTING into Produit4
SET DEFINE OFF;
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (00, 'Produit0', 49.57);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (01, 'Produit1', 10.99);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (02, 'Produit2', 100.10);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (03, 'Produit3', 20);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (04, 'Produit4', 72.98);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (05, 'Produit5', 9);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (06, 'Produit6', 0.99);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (07, 'Produit7', 44.50);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (08, 'Produit8', 112);
INSERT INTO Produit4(produit_id, nom_produit, prix_unitaire) VALUES (09, 'Produit9', 5);
COMMIT;
REM INSERTING into ligne_commande4
SET DEFINE OFF;
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (1, 1, 01, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (2, 1, 09, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (3, 1, 06, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (4, 2, 05, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (5, 2, 07, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (6, 3, 09, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (7, 4, 03, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (8, 4, 04, 10, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (9, 4, 07, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (10, 4, 08, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (11, 4, 09, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (12, 5, 00, 10, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (13, 5, 07, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (14, 6, 01, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (15, 7, 06, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (16, 7, 07, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (17, 7, 09, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (18, 8, 05, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (19, 9, 07, 10, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (20, 10, 02, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (21, 10, 00, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (22, 10, 06, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (23, 10, 01, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (24, 11, 04, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (25, 12, 02, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (26, 12, 09, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (27, 13, 03, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (28, 13, 00, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (29, 14, 01, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (30, 14, 00, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (31, 15, 07, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (32, 15, 02, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (33, 16, 02, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (34, 17, 03, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (35, 17, 06, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (36, 17, 04, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (37, 17, 01, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (38, 18, 04, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (39, 18, 01, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (40, 18, 03, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (41, 18, 02, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (42, 19, 05, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (43, 20, 01, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (44, 20, 04, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (45, 20, 03, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (46, 21, 04, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (47, 21, 07, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (48, 22, 09, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (49, 22, 01, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (50, 22, 02, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (51, 22, 06, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (52, 22, 09, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (53, 23, 00, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (54, 23, 08, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (55, 23, 09, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (56, 24, 09, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (57, 24, 08, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (58, 24, 05, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (59, 25, 00, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (60, 25, 06, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (61, 26, 07, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (62, 27, 01, 1, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (63, 27, 04, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (64, 28, 05, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (65, 28, 03, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (66, 29, 09, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (67, 29, 02, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (68, 29, 06, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (69, 30, 00, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (70, 31, 03, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (71, 31, 00, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (72, 32, 03, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (73, 32, 05, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (74, 32, 02, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (75, 32, 01, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (76, 33, 00, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (77, 33, 06, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (78, 33, 03, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (79, 34, 05, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (80, 35, 02, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (81, 36, 03, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (82, 37, 06, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (83, 37, 01, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (84, 38, 01, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (85, 38, 02, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (86, 39, 01, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (87, 39, 07, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (88, 40, 06, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (89, 40, 03, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (90, 41, 08, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (91, 41, 06, 4, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (92, 42, 01, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (93, 42, 05, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (94, 43, 04, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (95, 43, 03, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (96, 44, 04, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (97, 44, 02, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (98, 44, 09, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (99, 44, 00, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (100, 44, 06, 4,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (101, 45, 00, 3,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (102, 45, 06, 2,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (103, 45, 05, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (104, 45, 07, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (105, 46, 04, 3, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (106, 46, 09, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (107, 46, 05, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (108, 46, 03, 8, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (109, 46, 02, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (110, 47, 06, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (111, 47, 08, 6, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (112, 47, 09, 10,0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (113, 47, 01, 2, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (114, 47, 03, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (115, 48, 04, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (116, 48, 02, 5, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (117, 48, 03, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (118, 48, 05, 9, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (119, 48, 09, 7, 0);
INSERT INTO ligne_commande4 (ligne_commande_id, commande_id, produit_id, quantite, prix_total) VALUES (120, 48, 06, 4, 0);
COMMIT;

425
TPS2_Index.txt Normal file

@ -0,0 +1,425 @@
sqlplus "username@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=lorien.arda.lan)(Port=1521))(CONNECT_DATA=(SID=ORCLIUT)))"
select index_name from user_indexes where index_name not like 'SYS% and table_name =
'EMP;
drop index <index_name> ;
drop index ix_commande_id;
exo 1 :
SQL> CREATE INDEX IX_INDEX_CLIENT
ON CLIENT4(CLIENT_ID); 2
ERROR at line 2:
ORA-01408: such column list already indexed
ça ne marche pas car la donnée est une clé primaire, donc déjà indexé
exo 2 :
SET AUTOTRACE ON
1)
SQL> SELECT * FROM LIGNE_COMMANDE4 WHERE COMMANDE_ID = 46;
LIGNE_COMMANDE_ID COMMANDE_ID PRODUIT_ID QUANTITE PRIX_TOTAL
----------------- ----------- ---------- ---------- ----------
109 46 2 2 0
108 46 3 8 0
105 46 4 3 0
107 46 5 6 0
106 46 9 6 0
Execution Plan
----------------------------------------------------------
Plan hash value: 1619664265
--------------------------------------------------------------------------------
---------------
| Id | Operation | Name | Rows | Bytes | Cost (%C
PU)| Time |
--------------------------------------------------------------------------------
---------------
| 0 | SELECT STATEMENT | | 5 | 70 | 3
(0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| LIGNE_COMMANDE4 | 5 | 70 | 3
(0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IX_COMMANDE_ID | 5 | | 2
(0)| 00:00:01 |
--------------------------------------------------------------------------------
---------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("COMMANDE_ID"=46)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
5 consistent gets
0 physical reads
0 redo size
656 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
2)
SQL> CREATE INDEX ix_commande_id ON LIGNE_COMMANDE4(COMMANDE_ID, PRODUIT_ID);
Index created.
3)
SQL> SELECT * FROM LIGNE_COMMANDE4 WHERE COMMANDE_ID = 46;
LIGNE_COMMANDE_ID COMMANDE_ID PRODUIT_ID QUANTITE PRIX_TOTAL
----------------- ----------- ---------- ---------- ----------
109 46 2 2 0
108 46 3 8 0
105 46 4 3 0
107 46 5 6 0
106 46 9 6 0
Execution Plan
----------------------------------------------------------
Plan hash value: 1619664265
--------------------------------------------------------------------------------
---------------
| Id | Operation | Name | Rows | Bytes | Cost (%C
PU)| Time |
--------------------------------------------------------------------------------
---------------
| 0 | SELECT STATEMENT | | 5 | 70 | 3
(0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| LIGNE_COMMANDE4 | 5 | 70 | 3
(0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IX_COMMANDE_ID | 5 | | 2
(0)| 00:00:01 |
--------------------------------------------------------------------------------
---------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("COMMANDE_ID"=46)
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
5 consistent gets
1 physical reads
0 redo size
656 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
4)
SQL> SELECT PRODUIT_ID FROM LIGNE_COMMANDE4 WHERE COMMANDE_ID = 46;
PRODUIT_ID
----------
2
3
4
5
9
Execution Plan
----------------------------------------------------------
Plan hash value: 2689148131
--------------------------------------------------------------------------------
---
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
---
| 0 | SELECT STATEMENT | | 5 | 30 | 2 (0)| 00:00:0
1 |
|* 1 | INDEX RANGE SCAN| IX_COMMANDE_ID | 5 | 30 | 2 (0)| 00:00:0
1 |
--------------------------------------------------------------------------------
---
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("COMMANDE_ID"=46)
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
389 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
5)
Execution Plan
----------------------------------------------------------
Plan hash value: 2689148131
--------------------------------------------------------------------------------
---
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
---
| 0 | SELECT STATEMENT | | 5 | 30 | 2 (0)| 00:00:0
1 |
|* 1 | INDEX RANGE SCAN| IX_COMMANDE_ID | 5 | 30 | 2 (0)| 00:00:0
1 |
--------------------------------------------------------------------------------
---
6)
La différence est liée à la colonne sélectionnée. Dans le cas de SELECT *, l'optimiseur peut choisir de scanner l'ensemble de la table pour récupérer toutes les données nécessaires. Par contre, dans la requête SELECT PRODUIT_ID, l'index sur COMMANDE_ID4 et PRODUIT_ID peut suffire à trouver les données, rendant la requête plus rapide et l'utilisation de l'index plus avantageuse.
7)
SQL> DROP INDEX ix_commande_id;
Index dropped.
8)
SQL> CREATE INDEX ix_commande_produit_id ON LIGNE_COMMANDE4(PRODUIT_ID, COMMANDE_ID);
Index created.
9)
SQL> SELECT * FROM LIGNE_COMMANDE4 WHERE COMMANDE_ID = 46;
LIGNE_COMMANDE_ID COMMANDE_ID PRODUIT_ID QUANTITE PRIX_TOTAL
----------------- ----------- ---------- ---------- ----------
105 46 4 3 0
106 46 9 6 0
107 46 5 6 0
108 46 3 8 0
109 46 2 2 0
Execution Plan
----------------------------------------------------------
Plan hash value: 291854773
--------------------------------------------------------------------------------
-----
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
-----
| 0 | SELECT STATEMENT | | 5 | 70 | 6 (0)| 00:00
:01 |
|* 1 | TABLE ACCESS FULL| LIGNE_COMMANDE4 | 5 | 70 | 6 (0)| 00:00
:01 |
--------------------------------------------------------------------------------
-----
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("COMMANDE_ID"=46)
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
19 consistent gets
0 physical reads
0 redo size
656 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
10)
Vous devriez remarquer que l'optimiseur peut choisir d'utiliser le nouvel index ix_commande_produit_id (qui est construit sur PRODUIT_ID et COMMANDE_ID). Selon l'ordre des colonnes dans l'index, cela peut affecter la façon dont les données sont récupérées.
Différence potentielle : Si l'index est inversé dans l'ordre des colonnes par rapport à la requête initiale, cela peut affecter l'efficacité de la recherche et l'optimiseur peut choisir d'exécuter un Full Table Scan plutôt que d'utiliser l'index de manière optimale.
11)
SQL> SELECT PRODUIT_ID FROM LIGNE_COMMANDE4 WHERE COMMANDE_ID = 46;
PRODUIT_ID
----------
2
3
4
5
9
Execution Plan
----------------------------------------------------------
Plan hash value: 2559192091
--------------------------------------------------------------------------------
---------------
| Id | Operation | Name | Rows | Bytes | Cost (%C
PU)| Time |
--------------------------------------------------------------------------------
---------------
| 0 | SELECT STATEMENT | | 5 | 30 | 2
(0)| 00:00:01 |
|* 1 | INDEX FAST FULL SCAN| IX_COMMANDE_PRODUIT_ID | 5 | 30 | 2
(0)| 00:00:01 |
--------------------------------------------------------------------------------
---------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("COMMANDE_ID"=46)
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
6 consistent gets
2 physical reads
0 redo size
389 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
12)
L'optimiseur peut utiliser l'index plus efficacement, étant donné que la requête ne demande que PRODUIT_ID. Si l'index ix_commande_produit_id est bien conçu, cela peut accélérer l'exécution de la requête.
Conclusion :
La manière dont les données sont récupérées dépend de la façon dont l'index est conçu et de l'ordre des colonnes dans la requête. Un index sur les bonnes colonnes peut améliorer considérablement les performances, notamment si la requête fait une recherche sur ces colonnes.
13)
SQL> DROP INDEX ix_commande_produit_id;
Index dropped.
Exo 3 :
1)
SELECT c.NOM, SUM(l.MONTANT) AS MONTANT_TOTAL
FROM CLIENT4 c
JOIN COMMANDE4 co ON c.CLIENT_ID = co.CLIENT_ID
JOIN LIGNE_COMMANDE4 l ON co.COMMANDE_ID = l.COMMANDE_ID
GROUP BY c.CLIENT_ID, c.NOM;
2)
plan d'exécution :
Après avoir exécuté la requête, observez le plan d'exécution. Vous devriez y voir :
Une jointure entre la table CLIENT et COMMANDE sur la colonne CLIENT_ID.
Une autre jointure entre COMMANDE et LIGNE_COMMANDE sur la colonne COMMANDE_ID.
Méthode de jointure : Le type de jointure utilisé (par exemple, Nested Loop Join, Merge Join, Hash Join) dépend de plusieurs facteurs, notamment de l'ordre des tables dans la requête et de la présence ou non d'index. Si les données sont très volumineuses, un Hash Join ou Merge Join pourrait être préféré pour une meilleure performance.
Accès aux données :
Si des index existent, la base de données pourrait utiliser des Index Seek pour accéder aux lignes spécifiques, ce qui améliore l'efficacité.
Sans index, des Full Table Scans pourraient être effectués, ce qui est moins optimal.
3)
Index sur CLIENT_ID dans la table CLIENT pour accélérer la jointure avec la table COMMANDE.
Index sur COMMANDE_ID dans la table LIGNE_COMMANDE pour accélérer la jointure avec la table COMMANDE.
Index composite sur (CLIENT_ID, NOM) dans la table CLIENT pour optimiser la recherche des clients et faciliter le groupement par CLIENT_ID.
Les requêtes pour créer ces index :
CREATE INDEX ix_client_id ON CLIENT(CLIENT_ID);
CREATE INDEX ix_commande_id ON COMMANDE(COMMANDE_ID);
CREATE INDEX ix_ligne_commande_commande_id ON LIGNE_COMMANDE(COMMANDE_ID);
CREATE INDEX ix_client_id_nom ON CLIENT(CLIENT_ID, NOM);
4)
Après avoir créé les index, réexécutez la requête et examinez à nouveau le plan d'exécution. Vous devriez observer les points suivants :
Utilisation des index : L'optimiseur de la base de données devrait désormais utiliser les index pour accéder plus rapidement aux tables, ce qui peut conduire à des Index Seek plutôt qu'à des Full Table Scans.
Amélioration des performances : Les statistiques devraient indiquer une amélioration significative du temps d'exécution de la requête si les index sont utilisés de manière efficace. Vous pouvez aussi vérifier les Coûts associés aux différentes étapes dans le plan d'exécution, qui devraient être plus bas.
5)
DROP INDEX ix_client_id ON CLIENT;
DROP INDEX ix_commande_id ON COMMANDE;
DROP INDEX ix_ligne_commande_commande_id ON LIGNE_COMMANDE;
DROP INDEX ix_client_id_nom ON CLIENT;

419
connectDB(1) Normal file

@ -0,0 +1,419 @@
exo 1
sqlplus "raban@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=lorien.arda.lan)(Port=1521))(CONNECT_DATA=(SID=ORCLIUT)))"
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'CLIENT')
select TABLE_NAME, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT ,
AVG_ROW_LEN, SAMPLE_SIZE, LAST_ANALYZED
FROM user_tables
WHERE TABLE_NAME='CLIENT';
exo 2
select * FROM COMMANDE3 WHERE REFERENCE = 008084;
SET AUTOTRACE ON
Execution Plan
----------------------------------------------------------
Plan hash value: 1042069817
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 164 | 6 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| COMMANDE3 | 1 | 164 | 6 (0)| 00:00:01 |
-------------------------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
23 consistent gets
0 physical reads
0 redo size
513 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
rien ne change
exo3
SELECT ID,
ROWID,
DBMS_ROWID.ROWID_RELATIVE_FNO(rowid) FICHIER,
DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid) BLOC,
DBMS_ROWID.ROWID_ROW_NUMBER(rowid) NUMLIGNE
FROM COMMANDE3
WHERE id = 10;
ID ROWID FICHIER BLOC NUMLIGNE
---------- ------------------ ---------- ---------- ----------
1 AAAzOFAAIAAAPz4AAA 8 64760 0
2 AAAzOFAAIAAAPz4AAB 8 64760 1
3 AAAzOFAAIAAAPz4AAC 8 64760 2
4 AAAzOFAAIAAAPz4AAD 8 64760 3
5 AAAzOFAAIAAAPz4AAE 8 64760 4
6 AAAzOFAAIAAAPz4AAF 8 64760 5
7 AAAzOFAAIAAAPz4AAG 8 64760 6
8 AAAzOFAAIAAAPz4AAH 8 64760 7
9 AAAzOFAAIAAAPz4AAI 8 64760 8
10 AAAzOFAAIAAAPz4AAJ 8 64760 9
11 AAAzOFAAIAAAPz4AAK 8 64760 10
ID ROWID FICHIER BLOC NUMLIGNE
---------- ------------------ ---------- ---------- ----------
12 AAAzOFAAIAAAPz4AAL 8 64760 11
13 AAAzOFAAIAAAPz4AAM 8 64760 12
14 AAAzOFAAIAAAPz4AAN 8 64760 13
15 AAAzOFAAIAAAPz4AAO 8 64760 14
16 AAAzOFAAIAAAPz4AAP 8 64760 15
17 AAAzOFAAIAAAPz4AAQ 8 64760 16
18 AAAzOFAAIAAAPz4AAR 8 64760 17
19 AAAzOFAAIAAAPz4AAS 8 64760 18
20 AAAzOFAAIAAAPz4AAT 8 64760 19
21 AAAzOFAAIAAAPz4AAU 8 64760 20
22 AAAzOFAAIAAAPz4AAV 8 64760 21
ID ROWID FICHIER BLOC NUMLIGNE
---------- ------------------ ---------- ---------- ----------
23 AAAzOFAAIAAAPz4AAW 8 64760 22
24 AAAzOFAAIAAAPz4AAX 8 64760 23
25 AAAzOFAAIAAAPz4AAY 8 64760 24
26 AAAzOFAAIAAAPz4AAZ 8 64760 25
27 AAAzOFAAIAAAPz4AAa 8 64760 26
28 AAAzOFAAIAAAPz4AAb 8 64760 27
29 AAAzOFAAIAAAPz4AAc 8 64760 28
30 AAAzOFAAIAAAPz4AAd 8 64760 29
31 AAAzOFAAIAAAPz4AAe 8 64760 30
32 AAAzOFAAIAAAPz4AAf 8 64760 31
33 AAAzOFAAIAAAPz4AAg 8 64760 32
ID ROWID FICHIER BLOC NUMLIGNE
---------- ------------------ ---------- ---------- ----------
34 AAAzOFAAIAAAPz4AAh 8 64760 33
35 AAAzOFAAIAAAPz4AAi 8 64760 34
36 AAAzOFAAIAAAPz4AAj 8 64760 35
37 AAAzOFAAIAAAPz4AAk 8 64760 36
38 AAAzOFAAIAAAPz4AAl 8 64760 37
39 AAAzOFAAIAAAPz4AAm 8 64760 38
40 AAAzOFAAIAAAPz4AAn 8 64760 39
41 AAAzOFAAIAAAPz4AAo 8 64760 40
42 AAAzOFAAIAAAPz4AAp 8 64760 41
43 AAAzOFAAIAAAPz4AAq 8 64760 42
44 AAAzOFAAIAAAPz4AAr 8 64760 43
ID ROWID FICHIER BLOC NUMLIGNE
---------- ------------------ ---------- ---------- ----------
45 AAAzOFAAIAAAPz4AAs 8 64760 44
46 AAAzOFAAIAAAPz4AAt 8 64760 45
47 AAAzOFAAIAAAPz4AAu 8 64760 46
48 AAAzOFAAIAAAPz4AAv 8 64760 47
48 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 2528279197
--------------------------------------------------------------------------------
------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
------
| 0 | SELECT STATEMENT | | 48 | 1200 | 2 (0)| 00:0
0:01 |
| 1 | INDEX FAST FULL SCAN| SYS_C00136317 | 48 | 1200 | 2 (0)| 00:0
0:01 |
--------------------------------------------------------------------------------
------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
462 recursive calls
0 db block gets
250 consistent gets
39 physical reads
0 redo size
2014 bytes sent via SQL*Net to client
74 bytes received via SQL*Net from client
5 SQL*Net roundtrips to/from client
43 sorts (memory)
0 sorts (disk)
48 rows processed
ROWID : id de l'index
adresse physique : AAAzOFAAIAAAPz4AAJ
SELECT *
FROM Commande3
WHERE rowid = 'AAAzOFAAIAAAPz4AAJ';
ID CLIENT_ID DATE_ACHA
---------- ---------- ---------
REFERENCE
--------------------------------------------------------------------------------
10 16 13-JAN-19
004616
Execution Plan
----------------------------------------------------------
Plan hash value: 3456971742
--------------------------------------------------------------------------------
--------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Ti
me |
--------------------------------------------------------------------------------
--------
| 0 | SELECT STATEMENT | | 1 | 176 | 1 (0)| 00
:00:01 |
| 1 | TABLE ACCESS BY USER ROWID| COMMANDE3 | 1 | 176 | 1 (0)| 00
:00:01 |
--------------------------------------------------------------------------------
--------
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
1 consistent gets
0 physical reads
0 redo size
513 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
block : 64760 non
Exo4
CREATE INDEX ix_reference ON COMMANDE3(REFERENCE);
SELECT REFERENCE
FROM COMMANDE3
WHERE REFERENCE = 008084;
REFERENCE
--------------------------------------------------------------------------------
008084
Execution Plan
----------------------------------------------------------
Plan hash value: 88607570
--------------------------------------------------------------------------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
-
| 0 | SELECT STATEMENT | | 1 | 129 | 1 (0)| 00:00:01
|
|* 1 | INDEX FULL SCAN | IX_REFERENCE | 1 | 129 | 1 (0)| 00:00:01
|
--------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(TO_NUMBER("REFERENCE")=008084)
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
4 recursive calls
0 db block gets
26 consistent gets
0 physical reads
0 redo size
340 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
il y a l'index au lieu du tableau
DROP INDEX ix_reference;
CREATE INDEX ix_reference ON COMMANDE3(DATE_ACHAT, REFERENCE);
SELECT DATE_ACHAT, REFERENCE
FROM COMMANDE3
WHERE REFERENCE = 008084;
DATE_ACHA
---------
REFERENCE
--------------------------------------------------------------------------------
11-JAN-19
008084
Execution Plan
----------------------------------------------------------
Plan hash value: 88607570
--------------------------------------------------------------------------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
-
| 0 | SELECT STATEMENT | | 1 | 138 | 1 (0)| 00:00:01
|
|* 1 | INDEX FULL SCAN | IX_REFERENCE | 1 | 138 | 1 (0)| 00:00:01
|
--------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(TO_NUMBER("REFERENCE")=008084)
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
85 recursive calls
0 db block gets
64 consistent gets
0 physical reads
0 redo size
404 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SELECT DATE_ACHAT FROM COMMANDE3 WHERE REFERENCE = '008084';
DATE_ACHA
---------
11-JAN-19
Execution Plan
----------------------------------------------------------
Plan hash value: 88607570
--------------------------------------------------------------------------------
-
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
-
| 0 | SELECT STATEMENT | | 1 | 138 | 1 (0)| 00:00:01
|
|* 1 | INDEX FULL SCAN | IX_REFERENCE | 1 | 138 | 1 (0)| 00:00:01
|
--------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("REFERENCE"='008084')
filter("REFERENCE"='008084')
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
5 recursive calls
0 db block gets
26 consistent gets
0 physical reads
0 redo size
342 bytes sent via SQL*Net to client
41 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed