diff --git a/sql/sql.sql b/sql/sql.sql new file mode 100644 index 0000000000000000000000000000000000000000..de274f3f1d928c53a3b0da112265bf8fe0500731 --- /dev/null +++ b/sql/sql.sql @@ -0,0 +1,346 @@ +-- MySQL Script generated by MySQL Workbench +-- Mon Jan 15 15:26:34 2024 +-- Model: New Model Version: 1.0 +-- MySQL Workbench Forward Engineering + +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; + +-- ----------------------------------------------------- +-- Schema mydb +-- ----------------------------------------------------- + +-- ----------------------------------------------------- +-- Schema mydb +-- ----------------------------------------------------- +CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ; +USE `mydb` ; + +-- ----------------------------------------------------- +-- Table `mydb`.`Adherent` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Adherent` ( + `id` INT NOT NULL, + `raisonSociale` VARCHAR(100) NULL, + `civilite` VARCHAR(10) NULL, + `nom` VARCHAR(45) NULL, + `prenom` VARCHAR(45) NULL, + `adresse` VARCHAR(100) NULL, + `codePostal` VARCHAR(10) NULL, + `ville` VARCHAR(45) NULL, + `telephone` VARCHAR(20) NULL, + `mail` VARCHAR(45) NULL, + `telephone2` VARCHAR(20) NULL, + `telephone3` VARCHAR(20) NULL, + `profession` VARCHAR(45) NULL, + `dateNaissance` DATE NULL, + `password` VARCHAR(200) NULL, + `datePremiereAdhesion` DATE NULL, + `dispenseAdhesion` TINYINT NULL, + `adhesionAJour` TINYINT NULL, + PRIMARY KEY (`id`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Groupe` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Groupe` ( + `idGroupe` INT NOT NULL, + `nom` VARCHAR(45) NULL, + `droit1` VARCHAR(45) NULL, + `droit2` VARCHAR(45) NULL, + `droit3` VARCHAR(45) NULL, + PRIMARY KEY (`idGroupe`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Structure` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Structure` ( + `idStructure` INT NOT NULL, + `nom` VARCHAR(45) NULL, + `ville` VARCHAR(45) NULL, + `raisonSoc` VARCHAR(45) NULL, + `siege` VARCHAR(45) NULL, + `adresse` VARCHAR(45) NULL, + `telephone` VARCHAR(20) NULL, + `mail` VARCHAR(45) NULL, + `nomContact` VARCHAR(45) NULL, + `siteWeb` VARCHAR(100) NULL, + PRIMARY KEY (`idStructure`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Jour_calendrier` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Jour_calendrier` ( + `idJour_calendrier` INT NOT NULL, + `date` DATE NULL, + `livrable` TINYINT NULL, + `Structure_id` INT NOT NULL, + PRIMARY KEY (`idJour_calendrier`, `Structure_id`), + INDEX `fk_Jour_calendrier_Structure1_idx` (`Structure_id` ASC) VISIBLE, + CONSTRAINT `fk_Jour_calendrier_Structure1` + FOREIGN KEY (`Structure_id`) + REFERENCES `mydb`.`Structure` (`idStructure`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Tournee` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Tournee` ( + `idTournee` INT NOT NULL, + `jourPreparation` DATE NULL, + `Jour_calendrier_id` INT NOT NULL, + PRIMARY KEY (`idTournee`, `Jour_calendrier_id`), + INDEX `fk_Tournee_Jour_calendrier1_idx` (`Jour_calendrier_id` ASC) VISIBLE, + CONSTRAINT `fk_Tournee_Jour_calendrier1` + FOREIGN KEY (`Jour_calendrier_id`) + REFERENCES `mydb`.`Jour_calendrier` (`idJour_calendrier`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Point_de_depot` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Point_de_depot` ( + `idPoint_de_depot` INT NOT NULL, + `adresse` VARCHAR(100) NULL, + `codePostal` VARCHAR(10) NULL, + `ville` VARCHAR(45) NULL, + `telephone` VARCHAR(20) NULL, + `nomReferent` VARCHAR(45) NULL, + `mailReferent` VARCHAR(45) NULL, + `telReferent` VARCHAR(20) NULL, + `presentation` VARCHAR(300) NULL, + `photo` BLOB NULL, + `creneauLivraison` VARCHAR(45) NULL, + `creneauRecupPaniers` VARCHAR(45) NULL, + `Structure_id` INT NOT NULL, + PRIMARY KEY (`idPoint_de_depot`, `Structure_id`), + INDEX `fk_Point_de_depot_Structure1_idx` (`Structure_id` ASC) VISIBLE, + CONSTRAINT `fk_Point_de_depot_Structure1` + FOREIGN KEY (`Structure_id`) + REFERENCES `mydb`.`Structure` (`idStructure`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Unite` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Unite` ( + `idUnite` INT NOT NULL, + `nom` VARCHAR(20) NULL, + `nbDecimal` INT NULL, + PRIMARY KEY (`idUnite`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Frequence_type` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Frequence_type` ( + `idFrequence_type` INT NOT NULL, + `debut` DATETIME NULL, + `fin` DATETIME NULL, + `nom` VARCHAR(45) NULL, + PRIMARY KEY (`idFrequence_type`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Panier` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Panier` ( + `idPanier` INT NOT NULL, + `nom` VARCHAR(45) NULL, + `photo` BLOB NULL, + `description` VARCHAR(200) NULL, + `Unite_idUnite` INT NOT NULL, + `Frequence_type_id` INT NOT NULL, + PRIMARY KEY (`idPanier`, `Unite_idUnite`, `Frequence_type_id`), + INDEX `fk_Panier_Unite1_idx` (`Unite_idUnite` ASC) VISIBLE, + INDEX `fk_Panier_Frequence_type1_idx` (`Frequence_type_id` ASC) VISIBLE, + CONSTRAINT `fk_Panier_Unite1` + FOREIGN KEY (`Unite_idUnite`) + REFERENCES `mydb`.`Unite` (`idUnite`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Panier_Frequence_type1` + FOREIGN KEY (`Frequence_type_id`) + REFERENCES `mydb`.`Frequence_type` (`idFrequence_type`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`periode` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`periode` ( + `idperiode` INT NOT NULL, + `debut` DATE NULL, + `fin` DATE NULL, + PRIMARY KEY (`idperiode`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Abonnement` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Abonnement` ( + `idAbonnement` INT NOT NULL, + `Panier_idPanier` INT NOT NULL, + PRIMARY KEY (`idAbonnement`, `Panier_idPanier`), + INDEX `fk_Abonnement_Panier1_idx` (`Panier_idPanier` ASC) VISIBLE, + CONSTRAINT `fk_Abonnement_Panier1` + FOREIGN KEY (`Panier_idPanier`) + REFERENCES `mydb`.`Panier` (`idPanier`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Adherent_souscrit_Abonnement` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Adherent_souscrit_Abonnement` ( + `Adherent_id` INT NOT NULL, + `Abonnement_idAbonnement` INT NOT NULL, + PRIMARY KEY (`Adherent_id`, `Abonnement_idAbonnement`), + INDEX `fk_Adherent_has_Abonnement_Abonnement1_idx` (`Abonnement_idAbonnement` ASC) VISIBLE, + INDEX `fk_Adherent_has_Abonnement_Adherent1_idx` (`Adherent_id` ASC) VISIBLE, + CONSTRAINT `fk_Adherent_has_Abonnement_Adherent1` + FOREIGN KEY (`Adherent_id`) + REFERENCES `mydb`.`Adherent` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Adherent_has_Abonnement_Abonnement1` + FOREIGN KEY (`Abonnement_idAbonnement`) + REFERENCES `mydb`.`Abonnement` (`idAbonnement`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Ordre_Point_de_depot_Tournee` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Ordre_Point_de_depot_Tournee` ( + `Point_de_depot_id` INT NOT NULL, + `Tournee_idTournee` INT NOT NULL, + `numOrdre` INT NULL, + PRIMARY KEY (`Point_de_depot_id`, `Tournee_idTournee`), + INDEX `fk_Point_de_depot_has_Tournee_Tournee1_idx` (`Tournee_idTournee` ASC) VISIBLE, + INDEX `fk_Point_de_depot_has_Tournee_Point_de_depot1_idx` (`Point_de_depot_id` ASC) VISIBLE, + CONSTRAINT `fk_Point_de_depot_has_Tournee_Point_de_depot1` + FOREIGN KEY (`Point_de_depot_id`) + REFERENCES `mydb`.`Point_de_depot` (`idPoint_de_depot`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Point_de_depot_has_Tournee_Tournee1` + FOREIGN KEY (`Tournee_idTournee`) + REFERENCES `mydb`.`Tournee` (`idTournee`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Adherent_Appartient_Groupe` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Adherent_Appartient_Groupe` ( + `Adherent_id` INT NOT NULL, + `Groupe_id` INT NOT NULL, + PRIMARY KEY (`Adherent_id`, `Groupe_id`), + INDEX `fk_Adherent_has_Groupe_Groupe1_idx` (`Groupe_id` ASC) VISIBLE, + INDEX `fk_Adherent_has_Groupe_Adherent1_idx` (`Adherent_id` ASC) VISIBLE, + CONSTRAINT `fk_Adherent_has_Groupe_Adherent1` + FOREIGN KEY (`Adherent_id`) + REFERENCES `mydb`.`Adherent` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Adherent_has_Groupe_Groupe1` + FOREIGN KEY (`Groupe_id`) + REFERENCES `mydb`.`Groupe` (`idGroupe`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Livraison` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Livraison` ( + `idLivraison` INT NOT NULL, + `Tournee_idTournee` INT NOT NULL, + `Abonnement_id` INT NOT NULL, + `Point_de_depot_id` INT NOT NULL, + PRIMARY KEY (`idLivraison`, `Tournee_idTournee`, `Abonnement_id`, `Point_de_depot_id`), + INDEX `fk_Livraison_Tournee1_idx` (`Tournee_idTournee` ASC) VISIBLE, + INDEX `fk_Livraison_Abonnement1_idx` (`Abonnement_id` ASC) VISIBLE, + INDEX `fk_Livraison_Point_de_depot1_idx` (`Point_de_depot_id` ASC) VISIBLE, + CONSTRAINT `fk_Livraison_Tournee1` + FOREIGN KEY (`Tournee_idTournee`) + REFERENCES `mydb`.`Tournee` (`idTournee`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Livraison_Abonnement1` + FOREIGN KEY (`Abonnement_id`) + REFERENCES `mydb`.`Abonnement` (`idAbonnement`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Livraison_Point_de_depot1` + FOREIGN KEY (`Point_de_depot_id`) + REFERENCES `mydb`.`Point_de_depot` (`idPoint_de_depot`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `mydb`.`Adhesion` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `mydb`.`Adhesion` ( + `periode_id` INT NOT NULL, + `Structure_id` INT NOT NULL, + `Adherent_id` INT NOT NULL, + `type` VARCHAR(45) NULL, + `prix` FLOAT NULL, + `dateCharniere` DATE NULL, + `active` TINYINT NULL, + PRIMARY KEY (`periode_id`, `Structure_id`, `Adherent_id`), + INDEX `fk_Adhesion_Structure1_idx` (`Structure_id` ASC) VISIBLE, + INDEX `fk_Adhesion_Adherent1_idx` (`Adherent_id` ASC) VISIBLE, + CONSTRAINT `fk_Adhesion_periode1` + FOREIGN KEY (`periode_id`) + REFERENCES `mydb`.`periode` (`idperiode`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Adhesion_Structure1` + FOREIGN KEY (`Structure_id`) + REFERENCES `mydb`.`Structure` (`idStructure`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_Adhesion_Adherent1` + FOREIGN KEY (`Adherent_id`) + REFERENCES `mydb`.`Adherent` (`id`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +SET SQL_MODE=@OLD_SQL_MODE; +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;