-- 
-- Base de données: `Garage`
-- Oracle

-- Supprimer les tables (et les contraintes)
-- --------------------------------------------------------

DROP TABLE Ventes;
DROP TABLE Clients;
DROP TABLE Vendeurs;
DROP TABLE Possede;
DROP TABLE Voitures;
DROP TABLE Modeles;
DROP TABLE Options;

-- Table des clients supprimée



-- --------------------------------------------------------

-- 
-- Structure de la table MODELES
-- 
CREATE TABLE MODELES (
  ID_MODELE varchar(10) NOT NULL ,
  MARQUE varchar(50) default NULL,
  MODELE varchar(30) default NULL,
  CYLINDREE int default NULL,
  PRIXBASE float default NULL
) ;



-- --------------------------------------------------------

-- 
-- Structure de la table OPTIONS
-- 

CREATE TABLE OPTIONS (
  ID_OPTION int NOT NULL,
  PRIX float default NULL,
  DESCRIPTION varchar(100) default NULL
) ;


-- --------------------------------------------------------

-- 
-- Structure de la table POSSEDE
-- 

CREATE TABLE POSSEDE (
  ID_VOITURE int NOT NULL,
  ID_OPTION int NOT NULL
) ;


-- 
-- Structure de la table VENDEURS
-- 

CREATE TABLE VENDEURS (
  ID_VENDEUR int NOT NULL,
  NOMVENDEUR varchar(30) NOT NULL,
  DATEENGAGEMENT date NOT NULL,
  SALAIREMENSUEL float default NULL
) ;

-- --------------------------------------------------------

-- 
-- Structure de la table VENTES
-- 

CREATE TABLE VENTES (
  ID_VOITURE int NOT NULL ,
  ID_VENDEUR int NOT NULL , 
  ID_CLIENT int NOT NULL , 
  DATEVENTE date NOT NULL, 
  PRIX float default NULL
) ;


-- --------------------------------------------------------

-- 
-- Structure de la table VOITURES
-- 

CREATE TABLE VOITURES (
  ID_VOITURE int NOT NULL,
  ID_MODELE varchar(10) default NULL,
  COULEUR varchar(20) default NULL
) ;




-- 
-- Contenu de la table MODELES
-- 

INSERT INTO MODELES VALUES ('OPCOR', 'Opel', 'Corsa', 1300, 11500);
INSERT INTO MODELES VALUES ('OPAST', 'Opel', 'Astra', 1400, 16000);


-- 
-- Contenu de la table CLIENTS
-- 

-- Données à insérer manuellement

-- 
-- Contenu de la table VOITURES
-- 

INSERT INTO VOITURES VALUES (1, 'OPAST', 'Jaune');
INSERT INTO VOITURES VALUES (2, 'OPAST', 'Rouge');
INSERT INTO VOITURES VALUES (3, 'OPCOR', 'Noire');
INSERT INTO VOITURES VALUES (4, 'OPCOR', 'Jaune');
-- Erreur pour exercice de clé étrangère
INSERT INTO VOITURES VALUES (5, 'OPCOP', 'Rouge');
        
-- 
-- Contenu de la table OPTIONS
-- 

INSERT INTO OPTIONS VALUES (1, 225, 'Autoradio');
INSERT INTO OPTIONS VALUES (2, 140, 'Antenne téléscopique');
INSERT INTO OPTIONS VALUES (3, 50, 'Lampe hallogène');
INSERT INTO OPTIONS VALUES (4, 250, 'Jantes alu(4)');
INSERT INTO OPTIONS VALUES (5, 170, 'Allume cigare');
INSERT INTO OPTIONS VALUES (6, 220, 'Allume cigare piezzo');

-- 
-- Contenu de la table POSSEDE
-- 

INSERT INTO POSSEDE VALUES (1, 1);
INSERT INTO POSSEDE VALUES (4, 1);
INSERT INTO POSSEDE VALUES (5, 1);
INSERT INTO POSSEDE VALUES (1, 2);
INSERT INTO POSSEDE VALUES (4, 2);
INSERT INTO POSSEDE VALUES (1, 3);
INSERT INTO POSSEDE VALUES (1, 4);
INSERT INTO POSSEDE VALUES (5, 4);
-- Erreur pour exercice de clé étrangère
INSERT INTO POSSEDE VALUES (5, 7);

-- 
-- Contenu de la table VENDEURS
-- 

INSERT INTO VENDEURS VALUES (1, 'Marcel', to_date('1987-01-01','YYYY-MM-DD'), 56000);
INSERT INTO VENDEURS VALUES (2, 'Pierre', to_date('2000-01-01','YYYY-MM-DD'), 38000);
INSERT INTO VENDEURS VALUES (3, 'Joseph', to_date('1978-04-01','YYYY-MM-DD'), 56000);
INSERT INTO VENDEURS VALUES (4, 'Robert', to_date('1988-07-01','YYYY-MM-DD'), 62000);


-- 
-- Contenu de la table VENTES
-- 

INSERT INTO VENTES VALUES (1, 1, 2, to_date('2008-06-07','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (4, 1, 2, to_date('2008-08-01','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (2, 3, 4, to_date('2008-08-10','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (3, 4, 5, to_date('2008-03-14','YYYY-MM-DD'), NULL);


-- --------------------------------------------------------
