Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2064 → Rev 2065

/trunk/doc/bdd/schema_bdd_cel_v2.sql
File deleted
/trunk/doc/bdd/cel_v2.sql
8,13 → 8,13
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs_images` ;
 
CREATE TABLE IF NOT EXISTS `cel_obs_images` (
`id_image` BIGINT NOT NULL,
`id_observation` BIGINT NOT NULL,
`date_liaison` DATETIME NOT NULL,
PRIMARY KEY (`id_image`, `id_observation`),
INDEX `observation` (`id_observation` ASC),
INDEX `image` (`id_image` ASC))
CREATE TABLE IF NOT EXISTS `cel_obs_images` (
`id_image` BIGINT NOT NULL ,
`id_observation` BIGINT NOT NULL ,
`date_liaison` DATETIME NOT NULL ,
PRIMARY KEY (`id_image`, `id_observation`) ,
INDEX `observation` (`id_observation` ASC) ,
INDEX `image` (`id_image` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
25,17 → 25,17
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_utilisateurs` ;
 
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (
`id_utilisateur` INT NOT NULL,
`prenom` VARCHAR(255) NULL DEFAULT NULL,
`nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
`courriel` VARCHAR(255) NOT NULL,
`mot_de_passe` VARCHAR(45) NOT NULL,
`admin` TINYINT(1) NULL DEFAULT '0',
`licence_acceptee` TINYINT(1) NULL DEFAULT '0' COMMENT 'Acceptation de la licence utilisateur pour le cel\n',
`preferences` LONGTEXT NULL DEFAULT NULL COMMENT 'Préférences utilisateur sérialisées sous une forme à définir\n',
`date__premiere_utilisation` DATETIME NOT NULL,
PRIMARY KEY (`id_utilisateur`))
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (
`id_utilisateur` INT NOT NULL ,
`prenom` VARCHAR(255) NULL DEFAULT NULL ,
`nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
`courriel` VARCHAR(255) NOT NULL ,
`mot_de_passe` VARCHAR(45) NOT NULL ,
`admin` TINYINT(1) NULL DEFAULT '0' ,
`licence_acceptee` TINYINT(1) NULL DEFAULT '0' COMMENT 'Acceptation de la licence utilisateur pour le cel\n' ,
`preferences` LONGTEXT NULL DEFAULT NULL COMMENT 'Préférences utilisateur sérialisées sous une forme à définir\n' ,
`date__premiere_utilisation` DATETIME NOT NULL ,
PRIMARY KEY (`id_utilisateur`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
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;
 
 
-- -----------------------------------------------------
94,33 → 72,33
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_images` ;
 
CREATE TABLE IF NOT EXISTS `cel_images` (
`id_image` BIGINT NOT NULL AUTO_INCREMENT,
`ordre` BIGINT NOT NULL,
`ce_utilisateur` VARCHAR(255) 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 DEFAULT NULL,
`nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
`courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
`hauteur` INT NOT NULL,
`largeur` INT 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` DECIMAL(1,0) NULL DEFAULT NULL,
`mots_cles_texte` LONGTEXT NULL DEFAULT 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 DEFAULT NULL,
`meta_makernote` LONGTEXT NULL DEFAULT NULL,
`meta_autres` LONGTEXT NULL DEFAULT NULL,
`date_modification` DATETIME NOT NULL,
`date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.',
`publiable_eflore` TINYINT(1) NOT NULL DEFAULT 1,
PRIMARY KEY (`id_image`),
INDEX `id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC))
CREATE TABLE IF NOT EXISTS `cel_images` (
`id_image` BIGINT NOT NULL AUTO_INCREMENT ,
`ordre` BIGINT NOT NULL ,
`ce_utilisateur` VARCHAR(255) 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 DEFAULT NULL ,
`nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
`courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
`hauteur` INT NOT NULL ,
`largeur` INT 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` DECIMAL(1,0) NULL DEFAULT NULL ,
`mots_cles_texte` LONGTEXT NULL DEFAULT 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 DEFAULT NULL ,
`meta_makernote` LONGTEXT NULL DEFAULT NULL ,
`meta_autres` LONGTEXT NULL DEFAULT NULL ,
`date_modification` DATETIME NOT NULL ,
`date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.' ,
`publiable_eflore` TINYINT(1) NOT NULL DEFAULT 1 ,
PRIMARY KEY (`id_image`) ,
INDEX `id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC) )
ENGINE = MyISAM
AUTO_INCREMENT = 265
DEFAULT CHARACTER SET = utf8
128,94 → 106,72
 
 
-- -----------------------------------------------------
-- Table `cel_mots_cles_obs`
-- Table `cel_zones_geo`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
DROP TABLE IF EXISTS `cel_zones_geo` ;
 
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
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 ,
`utm_secteur` CHAR(3) NOT NULL ,
`utm_x` INT NOT NULL DEFAULT '0' ,
`utm_y` INT 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 DEFAULT NULL ,
`bg` BIGINT NULL ,
`bd` BIGINT NULL ,
`niveau` INT NULL ,
PRIMARY KEY (`id_zone_geo`) ,
INDEX `nom` (`nom` ASC) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
ROW_FORMAT = COMPACT;
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_obs_mots_cles`
-- Table `cel_obs_etendues`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
DROP TABLE IF EXISTS `cel_obs_etendues` ;
 
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))
CREATE TABLE IF NOT EXISTS `cel_obs_etendues` (
`id_observation` BIGINT NOT NULL ,
`cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle' ,
`label` VARCHAR(255) NOT NULL COMMENT 'Intitulé du champ à afficher dans les formulaires.' ,
`valeur` TEXT NOT NULL COMMENT 'Valeur du champ.' ,
PRIMARY KEY (`id_observation`, `cle`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
COLLATE = utf8_general_ci
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
 
 
-- -----------------------------------------------------
-- Table `cel_zones_geo`
-- Table `cel_arbre_mots_cles_obs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_zones_geo` ;
DROP TABLE IF EXISTS `cel_arbre_mots_cles_obs` ;
 
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,
`utm_secteur` CHAR(3) NOT NULL,
`utm_x` INT NOT NULL DEFAULT '0',
`utm_y` INT 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 DEFAULT NULL,
`bg` BIGINT NULL,
`bd` BIGINT NULL,
`niveau` INT NULL,
PRIMARY KEY (`id_zone_geo`),
INDEX `nom` (`nom` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
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_obs_etendues`
-- Table `cel_mots_cles_obs_liaison`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs_etendues` ;
DROP TABLE IF EXISTS `cel_mots_cles_obs_liaison` ;
 
CREATE TABLE IF NOT EXISTS `cel_obs_etendues` (
`id_observation` BIGINT NOT NULL,
`cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle',
`label` VARCHAR(255) NOT NULL COMMENT 'Intitulé du champ à afficher dans les formulaires.',
`valeur` TEXT NOT NULL COMMENT 'Valeur du champ.',
PRIMARY KEY (`id_observation`, `cle`))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
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;
 
 
-- -----------------------------------------------------
223,49 → 179,49
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_obs` ;
 
CREATE TABLE IF NOT EXISTS `cel_obs` (
`id_observation` BIGINT NOT NULL AUTO_INCREMENT,
`ordre` BIGINT NOT NULL,
`ce_utilisateur` VARCHAR(255) NOT NULL,
`prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
`nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
`courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
`nom_sel` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères',
`nom_sel_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom sélectionné.',
`nom_ret` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères',
`nom_ret_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom retenu = num_nom_retenu dans bdtfx',
`nt` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro taxonomique.',
`famille` VARCHAR(255) NULL DEFAULT NULL,
`nom_referentiel` VARCHAR(255) NULL DEFAULT NULL,
`ce_zone_geo` VARCHAR(50) NULL DEFAULT NULL,
`zone_geo` VARCHAR(255) NULL DEFAULT NULL,
`lieudit` VARCHAR(255) NULL DEFAULT NULL,
`station` VARCHAR(255) NULL DEFAULT NULL,
`milieu` VARCHAR(255) NULL DEFAULT NULL,
`latitude` DECIMAL(8,5) NULL DEFAULT NULL,
`longitude` DECIMAL(8,5) NULL DEFAULT NULL,
`altitude` INT(5) NULL DEFAULT NULL,
`geodatum` VARCHAR(25) NULL DEFAULT NULL COMMENT 'Référentiel géographique utilisé.\nPar exmple : WGS84',
`date_observation` DATETIME NULL DEFAULT NULL,
`mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.',
`commentaire` TEXT NULL DEFAULT NULL,
`transmission` TINYINT(1) NULL DEFAULT NULL,
`date_creation` DATETIME NULL DEFAULT NULL,
`date_modification` DATETIME NULL DEFAULT NULL,
`date_transmission` DATETIME NULL DEFAULT NULL,
`abondance` VARCHAR(50) NULL DEFAULT NULL,
`certitude` VARCHAR(255) NULL DEFAULT NULL,
`phenologie` VARCHAR(255) NULL DEFAULT NULL,
`code_insee_calcule` VARCHAR(5) NULL DEFAULT NULL COMMENT 'Code INSEE calculé par un scrip CRON.',
PRIMARY KEY (`id_observation`),
UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `ordre` ASC),
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*/')
CREATE TABLE IF NOT EXISTS `cel_obs` (
`id_observation` BIGINT NOT NULL AUTO_INCREMENT ,
`ordre` BIGINT NOT NULL ,
`ce_utilisateur` VARCHAR(255) NOT NULL ,
`prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
`nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
`courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
`nom_sel` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères' ,
`nom_sel_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom sélectionné.' ,
`nom_ret` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères' ,
`nom_ret_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom retenu = num_nom_retenu dans bdtfx' ,
`nt` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro taxonomique.' ,
`famille` VARCHAR(255) NULL DEFAULT NULL ,
`nom_referentiel` VARCHAR(255) NULL DEFAULT NULL ,
`ce_zone_geo` VARCHAR(50) NULL DEFAULT NULL ,
`zone_geo` VARCHAR(255) NULL DEFAULT NULL ,
`lieudit` VARCHAR(255) NULL DEFAULT NULL ,
`station` VARCHAR(255) NULL DEFAULT NULL ,
`milieu` VARCHAR(255) NULL DEFAULT NULL ,
`latitude` DECIMAL(8,5) NULL DEFAULT NULL ,
`longitude` DECIMAL(8,5) NULL DEFAULT NULL ,
`altitude` INT(5) NULL DEFAULT NULL ,
`geodatum` VARCHAR(25) NULL DEFAULT NULL COMMENT 'Référentiel géographique utilisé.\nPar exmple : WGS84' ,
`date_observation` DATETIME NULL DEFAULT NULL ,
`mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.' ,
`commentaire` TEXT NULL DEFAULT NULL ,
`transmission` TINYINT(1) NULL DEFAULT NULL ,
`date_creation` DATETIME NULL DEFAULT NULL ,
`date_modification` DATETIME NULL DEFAULT NULL ,
`date_transmission` DATETIME NULL DEFAULT NULL ,
`abondance` VARCHAR(50) NULL DEFAULT NULL ,
`certitude` VARCHAR(255) NULL DEFAULT NULL ,
`phenologie` VARCHAR(255) NULL DEFAULT NULL ,
`code_insee_calcule` VARCHAR(5) NULL DEFAULT NULL COMMENT 'Code INSEE calculé par un scrip CRON.' ,
PRIMARY KEY (`id_observation`) ,
UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `ordre` ASC) ,
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) 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;
276,13 → 232,13
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_utilisateurs_infos` ;
 
CREATE TABLE IF NOT EXISTS `cel_utilisateurs_infos` (
`id_utilisateur` INT NOT NULL,
`admin` TINYINT(1) NOT NULL DEFAULT 0,
`licence_acceptee` TINYINT(1) NOT NULL DEFAULT 0,
`preferences` LONGTEXT NULL DEFAULT NULL,
`date_premiere_utilisation` DATETIME NOT NULL,
PRIMARY KEY (`id_utilisateur`))
CREATE TABLE IF NOT EXISTS `cel_utilisateurs_infos` (
`id_utilisateur` INT NOT NULL ,
`admin` TINYINT(1) NOT NULL DEFAULT 0 ,
`licence_acceptee` TINYINT(1) NOT NULL DEFAULT 0 ,
`preferences` LONGTEXT NULL DEFAULT NULL ,
`date_premiere_utilisation` DATETIME NOT NULL ,
PRIMARY KEY (`id_utilisateur`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
294,12 → 250,12
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_images_etendues` ;
 
CREATE TABLE IF NOT EXISTS `cel_images_etendues` (
`id_observation` BIGINT NOT NULL,
`cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle',
`label` VARCHAR(45) NOT NULL COMMENT 'Intitulé du champ à afficher dans les formulaires.',
`valeur` TEXT NOT NULL COMMENT 'Valeur du champ.',
PRIMARY KEY (`id_observation`, `cle`))
CREATE TABLE IF NOT EXISTS `cel_images_etendues` (
`id_observation` BIGINT NOT NULL ,
`cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle' ,
`label` VARCHAR(45) NOT NULL COMMENT 'Intitulé du champ à afficher dans les formulaires.' ,
`valeur` TEXT NOT NULL COMMENT 'Valeur du champ.' ,
PRIMARY KEY (`id_observation`, `cle`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
321,10 → 277,10
-- -----------------------------------------------------
DROP VIEW IF EXISTS `cel_utilisateurs` ;
DROP TABLE IF EXISTS `cel_utilisateurs`;
CREATE OR REPLACE VIEW `cel_utilisateurs` AS
SELECT at.U_ID AS id_utilisateur, at.U_SURNAME AS prenom, at.U_NAME AS nom, at.U_MAIL AS courriel, at.U_PASSWD AS mot_de_passe,
ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation
FROM tela_prod_v4.annuaire_tela AS at
CREATE OR REPLACE VIEW `cel_utilisateurs` AS
SELECT at.U_ID AS id_utilisateur, at.U_SURNAME AS prenom, at.U_NAME AS nom, at.U_MAIL AS courriel, at.U_PASSWD AS mot_de_passe,
ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation
FROM tela_prod_v4.annuaire_tela AS at
LEFT JOIN cel_utilisateurs_infos AS ui ON (ui.id_utilisateur = at.U_ID);
 
-- -----------------------------------------------------
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;