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


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

-- Creation d'un schema Garage avec mot de passe habituel

DROP USER GARAGE CASCADE;





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

-- 
-- 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,
  PRIMARY KEY  (ID_MODELE)
) ;



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

-- 
-- Structure de la table OPTIONS
-- 

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


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

-- 
-- Structure de la table POSSEDE
-- 

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


-- 
-- 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,
  PRIMARY KEY  (ID_VENDEUR)
) ;

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

-- 
-- 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,
  PRIMARY KEY  (ID_VENDEUR,ID_VOITURE,ID_CLIENT)
) ;


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

-- 
-- Structure de la table VOITURES
-- 

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



ALTER TABLE POSSEDE ADD CONSTRAINT FKOPTION FOREIGN KEY (ID_OPTION) REFERENCES OPTIONS (ID_OPTION);
ALTER TABLE POSSEDE ADD CONSTRAINT FKPOSSEDE_VOITURE FOREIGN KEY (ID_VOITURE) REFERENCES VOITURES (ID_VOITURE);
ALTER TABLE VENTES ADD CONSTRAINT FKCLIENT FOREIGN KEY (ID_CLIENT) REFERENCES CLIENTS (ID_CLIENT);
ALTER TABLE VENTES ADD CONSTRAINT FKVENDEUR FOREIGN KEY (ID_VENDEUR) REFERENCES VENDEURS (ID_VENDEUR);
ALTER TABLE VENTES ADD CONSTRAINT FKVENTE_VOITURE FOREIGN KEY (ID_VOITURE) REFERENCES VOITURES (ID_VOITURE);
ALTER TABLE VOITURES ADD CONSTRAINT FKMODELE FOREIGN KEY (ID_MODELE) REFERENCES MODELES (ID_MODELE);


-- 
-- Contenu de la table MODELES
-- 

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


-- 
-- Contenu de la table CLIENTS
-- 

INSERT INTO CLIENTS VALUES (1, 'Thoorens', '34 rue Villette', 4020, 'Liège 2');
INSERT INTO CLIENTS VALUES (2, 'Durant', 'rue de l''Eglise 5', 4000, 'Liège');
INSERT INTO CLIENTS VALUES (3, 'Dupont', 'rue de la Synagogue 14', 5000, 'Namur');
INSERT INTO CLIENTS VALUES (4, 'Vandezand', 'rue du Champ 14', 1000, 'Bruxelles');
INSERT INTO CLIENTS VALUES (5, 'Scifo', 'rue du Vallon 14', 7000, 'Charleroi');
INSERT INTO CLIENTS VALUES (6, 'Tamoto', 'rue des Tilleuls 14', 4000, 'Liège');



-- 
-- 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');
INSERT INTO VOITURES VALUES (5, 'OPCOR', 'Rouge');
        
-- 
-- Contenu de la table OPTIONS
-- 

INSERT INTO OPTIONS VALUES (1, 8700, 'Autoradio');
INSERT INTO OPTIONS VALUES (2, 5400, 'Antenne téléscopique');
INSERT INTO OPTIONS VALUES (3, 2000, 'Lampe hallogène');
INSERT INTO OPTIONS VALUES (4, 10000, 'Jantes alu(4)');
INSERT INTO OPTIONS VALUES (5, 7500, 'Allume cigare');
INSERT INTO OPTIONS VALUES (6, 15000, '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);
INSERT INTO POSSEDE VALUES (5, 6);

-- 
-- 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('1999-06-07','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (4, 1, 2, to_date('1993-08-01','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (2, 3, 4, to_date('1998-08-10','YYYY-MM-DD'), NULL);
INSERT INTO VENTES VALUES (3, 4, 5, to_date('1997-03-14','YYYY-MM-DD'), NULL);


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