Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 2064 → Rev 2065

/trunk/doc/bdd/schema_bdd_cel_v2.sql
File deleted
/trunk/doc/bdd/cel_v2.sql
42,51 → 42,29
 
 
-- -----------------------------------------------------
-- Table `cel_mots_cles_images`
-- Table `cel_arbre_mots_cles_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_mots_cles_images` ;
DROP TABLE IF EXISTS `cel_arbre_mots_cles_images` ;
 
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.',
`id_utilisateur` VARCHAR(255) 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 NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.',
`ce_mot_cle_image_parent` VARCHAR(128) NOT NULL,
PRIMARY KEY (`id_mot_cle_image`, `id_utilisateur`),
CONSTRAINT `fk_cel_mots_cles_images_cel_utilisateur1`
FOREIGN KEY (`id_utilisateur`)
REFERENCES `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_image_parent`)
REFERENCES `cel_mots_cles_images` (`id_mot_cle_image`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
ROW_FORMAT = COMPACT;
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_images` (
`id_mot_cle` INT NOT NULL ,
`chemin` VARCHAR(2048) NULL ,
`mot_cle` VARCHAR(80) NULL ,
`id_utilisateur` VARCHAR(255) NULL ,
PRIMARY KEY (`id_mot_cle`) )
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
-- Table `cel_images_mots_cles`
-- Table `cel_mots_cles_images_liaison`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
DROP TABLE IF EXISTS `cel_mots_cles_images_liaison` ;
 
CREATE TABLE IF NOT EXISTS `cel_images_mots_cles` (
`id_image` BIGINT NOT NULL,
`id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
`id_utilisateur` VARCHAR(128) NOT NULL,
PRIMARY KEY (`id_image`, `id_mot_cle_image`, `id_utilisateur`),
INDEX `image` (`id_image` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
CREATE TABLE IF NOT EXISTS `cel_mots_cles_images_liaison` (
`id_element_lie` INT NOT NULL ,
`id_mot_cle` INT NOT NULL ,
PRIMARY KEY (`id_element_lie`, `id_mot_cle`) )
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
128,54 → 106,6
 
 
-- -----------------------------------------------------
-- Table `cel_mots_cles_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
 
CREATE TABLE IF NOT EXISTS `cel_mots_cles_obs` (
`id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
`id_utilisateur` VARCHAR(255) 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 NOT NULL,
`ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
PRIMARY KEY (`id_mot_cle_obs`, `id_utilisateur`),
CONSTRAINT `fk_cel_mots_cles_obs_cel_utilisateur1`
FOREIGN KEY (`id_utilisateur`)
REFERENCES `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_obs_parent`)
REFERENCES `cel_mots_cles_obs` (`id_mot_cle_obs`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
ROW_FORMAT = COMPACT;
 
 
-- -----------------------------------------------------
-- Table `cel_obs_mots_cles`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
 
CREATE TABLE IF NOT EXISTS `cel_obs_mots_cles` (
`id_observation` BIGINT NOT NULL,
`id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
`id_utilisateur` VARCHAR(128) NOT NULL,
PRIMARY KEY (`id_observation`, `id_mot_cle_obs`, `id_utilisateur`),
INDEX `observation` (`id_observation` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_zones_geo`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_zones_geo` ;
219,6 → 149,32
 
 
-- -----------------------------------------------------
-- Table `cel_arbre_mots_cles_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_arbre_mots_cles_obs` ;
 
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_obs` (
`id_mot_cle` INT NOT NULL ,
`chemin` VARCHAR(2048) NULL ,
`mot_cle` VARCHAR(80) NULL ,
`id_utilisateur` VARCHAR(255) NULL ,
PRIMARY KEY (`id_mot_cle`) )
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
-- Table `cel_mots_cles_obs_liaison`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_mots_cles_obs_liaison` ;
 
CREATE TABLE IF NOT EXISTS `cel_mots_cles_obs_liaison` (
`id_element_lie` INT NOT NULL ,
`id_mot_cle` INT NOT NULL ,
PRIMARY KEY (`id_element_lie`, `id_mot_cle`) )
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
-- Table `cel_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs` ;
262,10 → 218,10
INDEX `date_creation` (`ce_utilisateur`(10) ASC, `date_creation` ASC),
INDEX `coordonnees` (`latitude` ASC, `longitude` ASC),
INDEX `nom_retenu` (`nom_ret` ASC),
INDEX `date_observation` (`date_observation` ASC),
INDEX `nom_referentiel` (`nom_referentiel`(5) ASC) COMMENT ' /* comment truncated */ /*Index sur (bdtfx,bdtfx,isfan)*/',
INDEX `date_transmission` (`date_transmission` DESC) COMMENT ' /* comment truncated */ /*Date_transmission : nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL*/',
INDEX `transmission` (`transmission` ASC) COMMENT ' /* comment truncated */ /*Nécessaire à CEL/DEL qui officie avec transmission = 1*/')
INDEX `date_observation` (`date_observation` ASC) COMMENT ' /* comment truncated */ /*Index sur (bdtfx,bdtfx,isfan)*/' ,
INDEX `nom_referentiel` (`nom_referentiel`(5) ASC) COMMENT ' /* comment truncated */ /*Date_transmission : nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL*/' ,
INDEX `date_transmission` (`date_transmission` DESC) COMMENT ' /* comment truncated */ /*Nécessaire à CEL/DEL qui officie avec transmission = 1*/' ,
INDEX `transmission` (`transmission` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
332,7 → 288,7
-- -----------------------------------------------------
DROP VIEW IF EXISTS `cel_tapir` ;
DROP TABLE IF EXISTS `cel_tapir`;
CREATE VIEW `cel_tapir` AS
CREATE OR REPLACE VIEW `cel_tapir` AS
select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
`o`.`id_observation` AS `observation_id`,
date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
351,9 → 307,9
`o`.`lieudit` AS `lieu_localite`,
`o`.`prenom_utilisateur` AS `observateur_prenom`,
`o`.`nom_utilisateur` AS `observateur_nom`,
concat(_utf8'',substring_index(`o`.`courriel_utilisateur`,'@',1), '@...') AS `observateur_courriel`,
`o`.`courriel_utilisateur` AS `observateur_courriel`,
concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',concat(_utf8'',substring_index(`o`.`courriel_utilisateur`,'@',1), '@...'),'>')) AS `observateur_intitule`,
concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
`o`.`commentaire` AS `observation_commentaire`,
concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
375,6 → 331,8
where `o`.`transmission` = 1
AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
 
 
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;