CREATE TABLE Region(
   `Id_Region` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Region VARCHAR(50),
   PRIMARY KEY(Id_Region)
);

CREATE TABLE Capacite_Salle(
    `Id_Capacite_Salle` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Amenagement VARCHAR(50),
   Capacite INT,
   PRIMARY KEY(Id_Capacite_Salle)
);

CREATE TABLE Type_Lieu(
   `Id_Type_Lieu` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Categ_Lieu VARCHAR(50),
   PRIMARY KEY(Id_Type_Lieu)
);

CREATE TABLE Categ_Type_Lieu(
   `Id_Categ_Type_Lieu` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Categ_Type_Lieu VARCHAR(50),
   PRIMARY KEY(Id_Categ_Type_Lieu)
);

CREATE TABLE Icone_Capacite(
   `Id_Icone_Capacite` BIGINT NOT NULL AUTO_INCREMENT,
   URL VARCHAR(50),
   Nom_Icone VARCHAR(50),
   Id_Capacite_Salle BIGINT NOT NULL,
   PRIMARY KEY(Id_Icone_Capacite),
   FOREIGN KEY(Id_Capacite_Salle) REFERENCES Capacite_Salle(Id_Capacite_Salle)
);

CREATE TABLE Photo(
    `Id_Photo` BIGINT NOT NULL AUTO_INCREMENT,
   Fichier_Photo VARCHAR(255),
   Descripton_Photo VARCHAR(255),
   PRIMARY KEY(Id_Photo)
);

CREATE TABLE Bloc_Photo(
   `Id_Bloc_Photo` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Bloc VARCHAR(255),
   PRIMARY KEY(Id_Bloc_Photo)
);

CREATE TABLE Etoile(
   `Id_Etoile` BIGINT NOT NULL AUTO_INCREMENT,
   Nb_Etoile TINYINT(3),
   PRIMARY KEY(Id_Etoile)
);

CREATE TABLE Equipement(
 `Id_Equipement` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Equipement VARCHAR(50),
   Icone VARCHAR(50),
   PRIMARY KEY(Id_Equipement)
);

CREATE TABLE Lieu(
   `Id_Lieu` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Lieu VARCHAR(50),
   Commentaire_Lieu VARCHAR(80) NOT NULL,
   DateDebut_Focus DATE,
   DateFin_Focus DATE,
   Publier_Focus TINYINT(3),
   Dernier_Contact DATE,
   Descrip_Newsletter VARCHAR(50),
   Apparaître_SurSite LOGICAL,
   Id_Type_Lieu BIGINT NOT NULL,
   Id_Etoile BIGINT NOT NULL,
   PRIMARY KEY(Id_Lieu),
   FOREIGN KEY(Id_Type_Lieu) REFERENCES Type_Lieu(Id_Type_Lieu),
   FOREIGN KEY(Id_Etoile) REFERENCES Etoile(Id_Etoile)
);

CREATE TABLE Departement(
   `Id_Departement` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Departement VARCHAR(50),
   Id_Region BIGINT NOT NULL,
   PRIMARY KEY(Id_Departement),
   FOREIGN KEY(Id_Region) REFERENCES Region(Id_Region)
);

CREATE TABLE Secteur(
    `Id_Secteur` BIGINT NOT NULL AUTO_INCREMENT,   
    Nom_Secteur VARCHAR(50),
   Id_Departement BIGINT NOT NULL,
   PRIMARY KEY(Id_Secteur),
   FOREIGN KEY(Id_Departement) REFERENCES Departement(Id_Departement)
);

CREATE TABLE Contact(
   `Id_Contact` BIGINT NOT NULL AUTO_INCREMENT,   
   Poste VARCHAR(50),
   Nom VARCHAR(50),
   Email_Contact VARCHAR(100),
   Tel VARCHAR(50),
   Identifiant VARCHAR(50),
   Password VARCHAR(50),
   Prenom VARCHAR(50),
   ID_Lieu BIGINT NOT NULL,
   PRIMARY KEY(Id_Contact),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu)
);

CREATE TABLE Coordonnees(
   `Id_Coordonnees` BIGINT NOT NULL AUTO_INCREMENT,
   Adresse_Coordonnee VARCHAR(255),
   Adresse_Suite VARCHAR(255),
   CodePostal_Coordonnee VARCHAR(10),
   Ville_Coordonnee VARCHAR(50),
   Fax_Coordonnee VARCHAR(15),
   Tel_Coordonnee VARCHAR(15),
   SiteWeb_Coordonnee VARCHAR(255),
   Email_Coordonnee VARCHAR(255),
   Latitude VARCHAR(50),
   Longitude VARCHAR(50),
   Id_Region BIGINT NOT NULL,
   ID_Lieu BIGINT NOT NULL,
   PRIMARY KEY(Id_Coordonnees),
   FOREIGN KEY(Id_Region) REFERENCES Region(Id_Region),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu)
);

CREATE TABLE Salle(
   `Id_Salle` BIGINT NOT NULL AUTO_INCREMENT,
   Nom_Salle VARCHAR(255),
   Surface_Salle INT,
   Id_Capacite_Salle BIGINT NOT NULL,
   ID_Lieu BIGINT NOT NULL,
   PRIMARY KEY(Id_Salle),
   FOREIGN KEY(Id_Capacite_Salle) REFERENCES Capacite_Salle(Id_Capacite_Salle),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu)
);

CREATE TABLE Inscription(
   `Id_Inscription` BIGINT NOT NULL AUTO_INCREMENT,
   Date_Inscription DATE,
   Date_Envoi_Doss DATE,
   Date_Recontacter DATE,
   Date_Acceptation_Orale DATE,
   ID_Lieu BIGINT NOT NULL,
   PRIMARY KEY(Id_Inscription),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu)
);

CREATE TABLE Infos_Sup(
   `Id_Infos_Sup` BIGINT NOT NULL AUTO_INCREMENT,
   Descrip_Parking VARCHAR(255),
   Descrip_Vocations VARCHAR(255),
   Descrip_Situations VARCHAR(255),
   Descrip_Acces VARCHAR(255),
   Descrip_Table VARCHAR(255),
   Descrip_Chambres VARCHAR(255),
   Descrip_Services VARCHAR(255),
   Descrip_Loisirs VARCHAR(255),
   Descrip_Salles_Salons VARCHAR(255),
   ID_Lieu BIGINT NOT NULL,
   PRIMARY KEY(Id_Infos_Sup),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu)
);

CREATE TABLE Gestion_Promo(
   `Id_Gestion_Promo` BIGINT NOT NULL AUTO_INCREMENT,
   Date_Debut_Affichage DATE,
   Date_Fin_Affichage DATE,
   Descrip_Promo VARCHAR(255),
   Id_Inscription VARCHAR(50),
   PRIMARY KEY(Id_Gestion_Promo),
   FOREIGN KEY(Id_Inscription) REFERENCES Inscription(Id_Inscription)
);

CREATE TABLE Posseder(
   Id_Equipement BIGINT,
   Id_Salle BIGINT,
   Nombre INT,
   PRIMARY KEY(Id_Equipement, Id_Salle),
   FOREIGN KEY(Id_Equipement) REFERENCES Equipement(Id_Equipement),
   FOREIGN KEY(Id_Salle) REFERENCES Salle(Id_Salle)
);

CREATE TABLE Comporter(
   ID_Lieu BIGINT,
   Id_Photo BIGINT,
   PRIMARY KEY(ID_Lieu, Id_Photo),
   FOREIGN KEY(ID_Lieu) REFERENCES Lieu(ID_Lieu),
   FOREIGN KEY(Id_Photo) REFERENCES Photo(Id_Photo)
);

CREATE TABLE Placer(
   Id_Photo BIGINT,
   Id_Bloc_Photo BIGINT,
   PRIMARY KEY(Id_Photo, Id_Bloc_Photo),
   FOREIGN KEY(Id_Photo) REFERENCES Photo(Id_Photo),
   FOREIGN KEY(Id_Bloc_Photo) REFERENCES Bloc_Photo(Id_Bloc_Photo)
);

CREATE TABLE Categoriser(
   Id_Type_Lieu BIGINT,
   Id_Categ_Type_Lieu BIGINT,
   PRIMARY KEY(Id_Type_Lieu, Id_Categ_Type_Lieu),
   FOREIGN KEY(Id_Type_Lieu) REFERENCES Type_Lieu(Id_Type_Lieu),
   FOREIGN KEY(Id_Categ_Type_Lieu) REFERENCES Categ_Type_Lieu(Id_Categ_Type_Lieu)
);
