Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1104 → Rev 1159

/trunk/doc/divers/cel-db.mwb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/doc/sql/cel_db.sql
2,16 → 2,11
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`
-- Table `cel_utilisateurs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_utilisateurs` ;
 
CREATE TABLE IF NOT EXISTS `tb_cel`.`cel_utilisateurs` (
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (
`id_utilisateur` INT NOT NULL ,
`prenom` VARCHAR(255) NULL ,
`nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL ,
23,26 → 18,20
PRIMARY KEY (`id_utilisateur`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs_images`
-- Table `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)
CREATE TABLE IF NOT EXISTS `cel_obs_images` (
`id_image` BIGINT(20) NOT NULL ,
`id_utilisateur` VARCHAR(32) NOT NULL ,
`id_observation` BIGINT(20) NOT NULL ,
`date_liaison` DATETIME NOT NULL ,
PRIMARY KEY (`id_image`, `id_utilisateur`, `id_observation`) ,
INDEX `observation` (`id_observation` ASC) ,
INDEX `image` (`id_image` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
49,12 → 38,10
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_mots_cles_images`
-- Table `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.' ,
CREATE TABLE IF NOT EXISTS `cel_mots_cles_images` (
`id_mot_cle_image` 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.' ,
61,53 → 48,32
`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)
`ce_mot_cle_image_parent` VARCHAR(128) NOT NULL ,
PRIMARY KEY (`id_mot_cle_image`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci
COLLATE = utf8_general_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
ROW_FORMAT = COMPACT;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_images_mots_cles`
-- Table `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` (
CREATE TABLE IF NOT EXISTS `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)
`id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
PRIMARY KEY (`id_image`, `id_mot_cle_image`) ,
INDEX `image` (`id_image` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_images`
-- Table `cel_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_images` ;
 
CREATE TABLE IF NOT EXISTS `tb_cel`.`cel_images` (
CREATE TABLE IF NOT EXISTS `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' ,
132,36 → 98,18
`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)
INDEX `id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC) )
ENGINE = MyISAM
AUTO_INCREMENT = 265
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_mots_cles_obs`
-- Table `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 ,
CREATE TABLE IF NOT EXISTS `cel_mots_cles_obs` (
`id_mot_cle_obs` 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 ,
168,53 → 116,32
`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)
`ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
PRIMARY KEY (`id_mot_cle_obs`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci,
COLLATE = utf8_general_ci,
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
ROW_FORMAT = COMPACT;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs_mots_cles`
-- Table `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` (
CREATE TABLE IF NOT EXISTS `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)
`id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
PRIMARY KEY (`id_observation`, `id_mot_cle_obs`) ,
INDEX `observation` (`id_observation` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_zones_geo`
-- Table `cel_zones_geo`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_zones_geo` ;
 
CREATE TABLE IF NOT EXISTS `tb_cel`.`cel_zones_geo` (
CREATE TABLE IF NOT EXISTS `cel_zones_geo` (
`id_zone_geo` VARCHAR(50) NOT NULL ,
`code` VARCHAR(10) NOT NULL ,
`nom` VARCHAR(255) NOT NULL ,
229,17 → 156,16
`bd` BIGINT NULL ,
`niveau` INT NULL ,
PRIMARY KEY (`id_zone_geo`) ,
INDEX `MAJ` (`nom` ASC) )
INDEX `nom` (`nom` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8;
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `tb_cel`.`cel_obs`
-- Table `cel_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tb_cel`.`cel_obs` ;
 
CREATE TABLE IF NOT EXISTS `tb_cel`.`cel_obs` (
CREATE TABLE IF NOT EXISTS `cel_obs` (
`id_observation` BIGINT(20) NOT NULL AUTO_INCREMENT ,
`ordre` BIGINT NOT NULL ,
`ce_utilisateur` VARCHAR(32) NOT NULL ,
269,31 → 195,14
`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)
INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
INDEX `nom_retenu` (`nom_ret` ASC) ,
INDEX `date_observation` (`date_observation` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
COLLATE = utf8_general_ci;
 
 
 
300,4 → 209,3
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;