Projet BD Oster Luca

an anonymous user · April 08, 2021 · SQL
-- créer une table
CREATE TABLE sites (
  id_site INTEGER PRIMARY KEY, -- Identifiant
  nom TEXT NOT NULL, -- Nom de l'agence
  ville TEXT NOT NULL -- Ville ou se situe l'agence
);
CREATE TABLE vehicules (
  id_vehicule INTEGER PRIMARY KEY, -- Identifiant
  couleur TEXT NOT NULL, -- Couleur du véhicule 
  date_mes DATE NOT NULL, -- Date de mise en service du véhicule
  immatriculation TEXT NOT NULL, -- Numéro d'immatriculation
  id_modele INTEGER -- Identifiant qui fait reference à la table modeles
);
CREATE TABLE loueurs (
  id_loueur INTEGER PRIMARY KEY, -- Identifiant
  nom TEXT NOT NULL, -- Nom du locataire
  date_naissance DATE NOT NULL, -- Date de naissance du locataire
  num_permis TEXT NOT NULL -- Numéro de permis du locataire
);
CREATE TABLE modeles (
  id_modele INTEGER PRIMARY KEY, -- Identifiant
  nom_modele TEXT NOT NULL, -- Modèle de la voiture
  motorisation TEXT NOT NULL, -- Motorisation du évicule (Diesel, essence ..)
  poids INTEGER NOT NULL, -- Poids du véhicule en Kg
  volume INTEGER NOT NULL, -- Volume du véhicule en Litre
  nb_places INTEGER NOT NULL, -- Nombre de places dans le véhicule
  id_constructeur INTEGER, -- Identifiant qui fait reference à la table constructeur
  id_type INTEGER -- Identifiant qui fait reference à la table type
);
CREATE TABLE constructeurs (
  id_constructeur INTEGER PRIMARY KEY, -- Identifiant
  nom_marque TEXT NOT NULL -- Marque du véhicule (Mercedes, Renault, BMW ...)
);
CREATE TABLE types (
  id_type INTEGER PRIMARY KEY, -- Identifiant
  nom_type TEXT NOT NULL -- Type de véhicule (Compacte, Citadine ..)
);
CREATE TABLE heberger (
  id_heberger INTEGER PRIMARY KEY, -- Identifiant
  date_debut DATE NOT NULL, -- Date de début d'exploitation du véhicule 
  date_fin DATE NOT NULL, -- Date maximal de fin d'exploitation du véhicule
  id_vehicule INTEGER, -- Identifiant qui fait reference à la table vehicule
  id_site INTEGER -- Identifiant qui fait reference à la table site
);
CREATE TABLE reserver (
  id_reserver INTEGER PRIMARY KEY, -- Identifiant
  date_debut DATE NOT NULL, -- Date de début de la réservation du véhicule
  date_fin DATE NOT NULL, -- Date de fin de la réservation du véhicule
  id_vehicule INTEGER, -- Identifiant qui fait reference à la table vehicule
  id_loueur INTEGER -- Identifiant qui fait reference à la table loueur
);

-- insert some values
INSERT INTO sites VALUES (1, 'Carrefour Location', 'Villevieille');
INSERT INTO sites VALUES (2, 'Location Auto', 'Sommières');
INSERT INTO vehicules VALUES (1, 'Noir', '2020-04-27', '000xxx', 1);
INSERT INTO vehicules VALUES (2, 'Jaune', '2019-08-12', '001xxx', 2);
INSERT INTO vehicules VALUES (3, 'Blanc', '2019-02-09', '002xxx', 3);
INSERT INTO loueurs VALUES (1, 'Fabrice', '1998-11-03', '123num');
INSERT INTO loueurs VALUES (2, 'Benjamin', '1995-03-07', '124num');
INSERT INTO modeles VALUES (1, 'Clio', 'Essence', 1200, 900, 5, 1, 1);
INSERT INTO modeles VALUES (2, 'Huracan', 'Essence', 1500, 400, 2, 2, 1);
INSERT INTO modeles VALUES (3, 'Trafic', 'Diesel', 2000, 5000, 3, 1, 2);
INSERT INTO constructeurs VALUES (1, 'Renault');
INSERT INTO constructeurs VALUES (2, 'Lamborghini');
INSERT INTO types VALUES (1, 'Particulier');
INSERT INTO types VALUES (2, 'Utilitaire');
INSERT INTO heberger VALUES (1, '2019-08-15', '2021-01-01', 1, 1);
INSERT INTO heberger VALUES (2, '2020-01-07', '2021-04-23', 2, 2);
INSERT INTO heberger VALUES (3, '2018-06-28', '2020-04-03', 3, 1);
INSERT INTO reserver VALUES (1, '2020-04-15', '2020-04-18', 1, 1);
INSERT INTO reserver VALUES (2, '2019-07-08', '2019-07-12', 3, 2);

-- fetch some values
SELECT * FROM heberger WHERE date_debut<'2019-09-20';

Comments

Please sign up or log in to contribute to the discussion.