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; |
|