Subversion Repositories eFlore/Applications.cel

Rev

Rev 1074 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

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='TRADITIONAL';

DROP SCHEMA IF EXISTS `tb_cel` ;
CREATE SCHEMA IF NOT EXISTS `tb_cel` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
USE `tb_cel` ;

-- -----------------------------------------------------
-- Table `tb_cel`.`cel_utilisateurs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_utilisateurs` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_utilisateurs` (
  `id_utilisateur` INT NOT NULL ,
  `prenom` VARCHAR(255) NULL ,
  `nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL ,
  `courriel` VARCHAR(255) NOT NULL ,
  `mot_de_passe` VARCHAR(255) NULL ,
  `licence_acceptee` TINYINT(1) NULL DEFAULT 0 COMMENT 'Acceptation de la licence utilisateur pour le cel\n' ,
  `preferences_utilisateur` LONGTEXT NULL COMMENT 'Préférences utilisateur sérialisées sous une forme à définir\n' ,
  `admin` TINYINT(1)  NULL DEFAULT 0 ,
  PRIMARY KEY (`id_utilisateur`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_obs_images` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_obs_images` (
  `ce_image` BIGINT(20) NOT NULL ,
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
  `ce_observation` BIGINT(20) NOT NULL ,
  `date_liaison` DATETIME NULL ,
  PRIMARY KEY (`ce_image`, `ce_utilisateur`, `ce_observation`) ,
  INDEX `fk_cel_obs_images_cel_utilisateurs1` (`ce_utilisateur` ASC) ,
  CONSTRAINT `fk_cel_obs_images_cel_utilisateurs1`
    FOREIGN KEY (`ce_utilisateur` )
    REFERENCES `tb_cel`.`cel_utilisateurs` (`id_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_mots_cles_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_mots_cles_images` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_mots_cles_images` (
  `id_mot_cle_utilisateur` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL COMMENT 'Identifiant du mot-clé pour une position donnée dans l\'arbre d\'utilisateur.\nLe même mot-clé peut être placé à plusieurs endroits de l\'arbre et aura donc deux id distincts.' ,
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
  `mot_cle` VARCHAR(50) NOT NULL COMMENT 'Mot clé de l\'utilisateur pour une position dans l\'arbre.' ,
  `md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
  `bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
  `bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
  `niveau` INT(11) NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.' ,
  `ce_mot_cle_utilisateur_parent` VARCHAR(128) NOT NULL ,
  INDEX `fk_cel_mots_cles_images_cel_utilisateur1` (`ce_utilisateur` ASC) ,
  PRIMARY KEY (`id_mot_cle_utilisateur`) ,
  INDEX `fk_cel_mots_cles_images_cel_mots_cles_images1` (`ce_mot_cle_utilisateur_parent` ASC) ,
  CONSTRAINT `fk_cel_mots_cles_images_cel_utilisateur1`
    FOREIGN KEY (`ce_utilisateur` )
    REFERENCES `tb_cel`.`cel_utilisateurs` (`id_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_mots_cles_images_cel_mots_cles_images1`
    FOREIGN KEY (`ce_mot_cle_utilisateur_parent` )
    REFERENCES `tb_cel`.`cel_mots_cles_images` (`id_mot_cle_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n' 
ROW_FORMAT = COMPACT;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_images_mots_cles`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_images_mots_cles` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_images_mots_cles` (
  `id_image` INT NOT NULL ,
  `id_mot_cle_utilisateur` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  PRIMARY KEY (`id_image`, `id_mot_cle_utilisateur`) ,
  INDEX `fk_cel_images_mot_cles_cel_mots_cles_images1` (`id_mot_cle_utilisateur` ASC) ,
  CONSTRAINT `fk_cel_images_mot_cles_cel_mots_cles_images1`
    FOREIGN KEY (`id_mot_cle_utilisateur` )
    REFERENCES `tb_cel`.`cel_mots_cles_images` (`id_mot_cle_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_images` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_images` (
  `id_image` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `ordre` BIGINT(20) NOT NULL ,
  `ce_utilisateur` VARCHAR(32) NOT NULL COMMENT 'L\'id utilisateur est un int mais on utilise un varchar pour stocker des observations avec des identifiants temporaires\n' ,
  `prenom_utilisateur` VARCHAR(255) NULL ,
  `nom_utilisateur` VARCHAR(255) NULL ,
  `courriel_utilisateur` VARCHAR(255) NULL ,
  `hauteur` INT(11) NOT NULL ,
  `largeur` INT(11) NOT NULL ,
  `appareil_fabriquant` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `appareil_modele` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `date_prise_de_vue` DATETIME NULL DEFAULT NULL ,
  `note_qualite` TINYINT(5) NOT NULL DEFAULT '-1' ,
  `mots_cles_texte` LONGTEXT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.\n' ,
  `commentaire` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `nom_original` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `meta_exif` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `meta_iptc` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
  `meta_xmp` LONGTEXT NULL ,
  `meta_makernote` LONGTEXT NULL ,
  `date_modification` DATETIME NULL ,
  `date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.' ,
  `publiable_eflore` TINYINT NULL ,
  PRIMARY KEY (`id_image`) ,
  INDEX `ci_id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC) ,
  INDEX `fk_cel_images_cel_utilisateur1` (`ce_utilisateur` ASC) ,
  CONSTRAINT `fk_cel_images_cel_obs_images1`
    FOREIGN KEY (`id_image` )
    REFERENCES `tb_cel`.`cel_obs_images` (`ce_image` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_images_cel_utilisateur1`
    FOREIGN KEY (`ce_utilisateur` )
    REFERENCES `tb_cel`.`cel_utilisateurs` (`id_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_images_cel_images_mot_cles1`
    FOREIGN KEY (`id_image` )
    REFERENCES `tb_cel`.`cel_images_mots_cles` (`id_image` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM
AUTO_INCREMENT = 265
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_mots_cles_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_mots_cles_obs` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_mots_cles_obs` (
  `id_mot_cle_utilisateur` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
  `mot_cle` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  `bg` BIGINT NOT NULL ,
  `bd` BIGINT NOT NULL ,
  `niveau` INT(11) NOT NULL ,
  `ce_mot_cle_utilisateur_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  INDEX `fk_cel_mots_cles_obs_cel_utilisateur1` (`ce_utilisateur` ASC) ,
  PRIMARY KEY (`id_mot_cle_utilisateur`) ,
  INDEX `fk_cel_mots_cles_obs_cel_mots_cles_obs1` (`ce_mot_cle_utilisateur_parent` ASC) ,
  CONSTRAINT `fk_cel_mots_cles_obs_cel_utilisateur1`
    FOREIGN KEY (`ce_utilisateur` )
    REFERENCES `tb_cel`.`cel_utilisateurs` (`id_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_mots_cles_obs_cel_mots_cles_obs1`
    FOREIGN KEY (`ce_mot_cle_utilisateur_parent` )
    REFERENCES `tb_cel`.`cel_mots_cles_obs` (`id_mot_cle_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci, 
COMMENT = 'Table des mots clés, à utiliser avec des transactions !' 
ROW_FORMAT = COMPACT;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs_mots_cles`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_obs_mots_cles` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_obs_mots_cles` (
  `id_observation` INT NOT NULL ,
  `id_mot_cle_utilisateur` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  PRIMARY KEY (`id_observation`, `id_mot_cle_utilisateur`) ,
  INDEX `fk_cel_obs_mots_cles_cel_mots_cles_obs1` (`id_mot_cle_utilisateur` ASC) ,
  CONSTRAINT `fk_cel_obs_mots_cles_cel_mots_cles_obs1`
    FOREIGN KEY (`id_mot_cle_utilisateur` )
    REFERENCES `tb_cel`.`cel_mots_cles_obs` (`id_mot_cle_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_zones_geo`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_zones_geo` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_zones_geo` (
  `id_zone_geo` VARCHAR(50) NOT NULL ,
  `code` VARCHAR(10) NOT NULL ,
  `nom` VARCHAR(255) NOT NULL ,
  `utm_secteur` CHAR(3) NOT NULL ,
  `utm_x` INT(11) NOT NULL DEFAULT '0' ,
  `utm_y` INT(11) NOT NULL DEFAULT '0' ,
  `wgs84_latitude` FLOAT NOT NULL ,
  `wgs84_longitude` FLOAT NOT NULL ,
  `date_modification` DATETIME NOT NULL ,
  `ce_zone_geo_parente` VARCHAR(50) NULL ,
  `bg` BIGINT NULL ,
  `bd` BIGINT NULL ,
  `niveau` INT NULL ,
  PRIMARY KEY (`id_zone_geo`) ,
  INDEX `MAJ` (`nom` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_obs` ;

CREATE  TABLE IF NOT EXISTS `tb_cel`.`cel_obs` (
  `id_observation` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `ordre` BIGINT NOT NULL ,
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
  `prenom_utilisateur` VARCHAR(255) NULL ,
  `nom_utilisateur` VARCHAR(255) NULL ,
  `courriel_utilisateur` VARCHAR(255) NULL ,
  `nom_sel` VARCHAR(255) NULL ,
  `nom_sel_nn` INT(11) NULL COMMENT 'Numéro du nom sélectionné.' ,
  `nom_ret` VARCHAR(255) NULL ,
  `nom_ret_nn` INT(11) NULL COMMENT 'Numéro du nom retenu.' ,
  `nt` INT(11) NULL COMMENT 'Numéro taxonomique.' ,
  `famille` VARCHAR(255) NULL ,
  `nom_referentiel` VARCHAR(255) NULL ,
  `ce_zone_geo` VARCHAR(50) NULL ,
  `zone_geo` VARCHAR(255) NULL ,
  `lieudit` VARCHAR(255) NULL ,
  `station` VARCHAR(255) NULL ,
  `milieu` VARCHAR(255) NULL ,
  `latitude` FLOAT NULL ,
  `longitude` FLOAT NULL ,
  `geodatum` VARCHAR(25) NULL COMMENT 'Référentiel géographique utilisé.\nPar exmple : WGS84' ,
  `date_observation` DATETIME NULL ,
  `mots_cles_texte` LONGTEXT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.' ,
  `commentaire` TEXT NULL ,
  `transmission` TINYINT(1) NULL ,
  `date_creation` DATETIME NULL ,
  `date_modification` DATETIME NULL ,
  `date_transmission` DATETIME NULL ,
  PRIMARY KEY (`id_observation`) ,
  INDEX `fk_cel_obs_cel_utilisateur1` (`ce_utilisateur` ASC) ,
  INDEX `fk_cel_obs_cel_zones_geo1` (`ce_zone_geo` ASC) ,
  CONSTRAINT `fk_cel_obs_cel_obs_mots_cles1`
    FOREIGN KEY (`id_observation` )
    REFERENCES `tb_cel`.`cel_obs_mots_cles` (`id_observation` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_obs_cel_utilisateur1`
    FOREIGN KEY (`ce_utilisateur` )
    REFERENCES `tb_cel`.`cel_utilisateurs` (`id_utilisateur` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_obs_cel_obs_images1`
    FOREIGN KEY (`id_observation` )
    REFERENCES `tb_cel`.`cel_obs_images` (`ce_observation` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cel_obs_cel_zones_geo1`
    FOREIGN KEY (`ce_zone_geo` )
    REFERENCES `tb_cel`.`cel_zones_geo` (`id_zone_geo` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;