Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2473 → Rev 2474

/trunk/doc/bdd/schema_bdd_cel_v2.mwb.bak
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/doc/bdd/schema_bdd_cel_v2.mwb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/doc/bdd/cel_v2.sql
File deleted
/trunk/doc/bdd/cel.sql
New file
0,0 → 1,465
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,ALLOW_INVALID_DATES';
 
 
-- -----------------------------------------------------
-- Table `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`))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_arbre_mots_cles_images`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_images` (
`id_mot_cle` INT NOT NULL AUTO_INCREMENT,
`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_images_liaison`
-- -----------------------------------------------------
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`),
INDEX `fk_cel_mots_cles_images_liaison_cel_arbre_mots_cles_images1_idx` (`id_mot_cle` ASC))
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
-- Table `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,
`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),
INDEX `zone_geo_parente` (`ce_zone_geo_parente` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_obs_etendues`
-- -----------------------------------------------------
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',
`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';
 
 
-- -----------------------------------------------------
-- Table `cel_arbre_mots_cles_obs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_obs` (
`id_mot_cle` INT NOT NULL AUTO_INCREMENT,
`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`
-- -----------------------------------------------------
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`),
INDEX `fk_cel_mots_cles_obs_liaison_cel_arbre_mots_cles_obs1_idx` (`id_mot_cle` ASC))
ENGINE = MyISAM;
 
 
-- -----------------------------------------------------
-- Table `cel_obs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_obs` (
`id_observation` BIGINT NOT NULL AUTO_INCREMENT,
`ordre` BIGINT NOT NULL,
`ce_utilisateur` VARCHAR(255) 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 NOT NULL,
`date_modification` DATETIME NOT 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`),
INDEX `ce_utilisateur` (`ce_utilisateur`(10) ASC),
INDEX `ce_zone_geo` (`ce_zone_geo` ASC),
UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `courriel_utilisateur` ASC, `ordre` ASC),
INDEX `utilisateur_date_creation` (`ce_utilisateur`(10) ASC, `courriel_utilisateur` 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*/')
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_images`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_images` (
`id_image` BIGINT NOT NULL AUTO_INCREMENT,
`ce_observation` BIGINT NOT NULL,
`ordre` BIGINT NOT NULL,
`ce_utilisateur` VARCHAR(255) 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,
`transmission` TINYINT(1) NOT NULL DEFAULT 1,
`date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.',
`date_modification` DATETIME NOT NULL,
`date_liaison` DATETIME NULL DEFAULT NULL,
`date_transmission` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id_image`),
INDEX `id_image` (`ce_utilisateur` ASC, `courriel_utilisateur` ASC, `ordre` ASC),
INDEX `ce_utilisateur` (`ce_utilisateur` ASC),
INDEX `ce_observation` (`ce_observation` ASC),
INDEX `date_creation` (`date_creation` ASC),
INDEX `date_prise_de_vue` (`date_prise_de_vue` ASC),
INDEX `utilisateur_date_creation` (`date_creation` ASC, `ce_utilisateur` ASC, `id_image` ASC))
ENGINE = MyISAM
AUTO_INCREMENT = 265
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `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`),
INDEX `id_utilisateur` (`id_utilisateur` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL. À utilis /* comment truncated */ /*er avec une vue pour récupérer les infos de la table annuaire_tela.*/';
 
 
-- -----------------------------------------------------
-- Table `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',
`valeur` TEXT NOT NULL COMMENT 'Valeur du champ.',
PRIMARY KEY (`id_observation`, `cle`),
INDEX `id_observation` (`id_observation` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Stockage d\'info supplémentaires sur une image';
 
 
-- -----------------------------------------------------
-- Table `cel_references`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_references` (
`referentiel` INT NOT NULL,
`num_nom` INT NOT NULL,
`num_nom_retenu` INT NULL,
`num_taxon` INT NOT NULL,
`nom_sci` VARCHAR(500) NOT NULL,
`auteur` VARCHAR(100) NULL,
`nom_commun` VARCHAR(60) NULL,
`catminat_code` VARCHAR(18) NULL,
`ve_lumiere` INT(1) NULL,
`ve_temperature` INT(1) NULL,
`ve_continentalite` INT(1) NULL,
`ve_humidite_atmos` INT(1) NULL,
`ve_humidite_edaph` INT(2) NULL,
`ve_reaction_sol` INT(1) NULL,
`ve_nutriments_sol` INT(1) NULL,
`ve_salinite` INT(1) NULL,
`ve_texture_sol` INT(1) NULL,
`ve_mat_org_sol` INT(1) NULL,
`syntaxon` VARCHAR(255) NULL,
PRIMARY KEY (`referentiel`, `num_nom`),
INDEX `referentiel` (`referentiel` ASC),
INDEX `num_nom` (`num_nom` ASC),
INDEX `num_taxon` (`num_taxon` ASC),
INDEX `num_nom_retenu` (`num_nom_retenu` ASC))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_catalogue_champs_etendus`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_catalogue_champs_etendus` (
`cle` VARCHAR(255) NOT NULL,
`label` VARCHAR(255) NULL,
`invisible` TINYINT(1) NOT NULL DEFAULT 0,
`groupe` TINYINT(1) NOT NULL DEFAULT 0,
`prive` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`cle`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Table `cel_catalogue_champs_etendus_liaison`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_catalogue_champs_etendus_liaison` (
`groupe` VARCHAR(255) NOT NULL,
`champ` VARCHAR(255) NOT NULL,
PRIMARY KEY (`groupe`, `champ`),
INDEX `fk_cel_catalogue_champs_etendus_liaison_cel_catalogue_champ_idx` (`champ` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
 
 
-- -----------------------------------------------------
-- Placeholder table for view `cel_utilisateurs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (`id_utilisateur` INT, `prenom` INT, `nom` INT, `courriel` INT, `mot_de_passe` INT, `licence_acceptee` INT, `admin` INT, `preferences` INT, `date_premiere_utilisation` INT);
 
-- -----------------------------------------------------
-- Placeholder table for view `cel_tapir`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cel_tapir` (`guid` INT, `observation_id` INT, `observation_date` INT, `nom_scientifique_complet` INT, `nom_num_nomenclatural` INT, `nom_num_taxonomique` INT, `nom_famille` INT, `lieu_commune_nom_complet` INT, `lieu_commune_nom` INT, `lieu_commune_code_insee` INT, `lieu_commune_source` INT, `lieu_latitude` INT, `lieu_longitude` INT, `lieu_geodatum` INT, `lieu_georeference_source` INT, `lieu_localite` INT, `observateur_prenom` INT, `observateur_nom` INT, `observateur_courriel` INT, `observateur_nom_complet` INT, `observateur_intitule` INT, `observation_commentaire` INT, `observation_information_complement` INT, `saisie_date_modification` INT, `saisie_date_creation` INT);
 
-- -----------------------------------------------------
-- View `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
LEFT JOIN cel_utilisateurs_infos AS ui ON (ui.id_utilisateur = at.U_ID);
 
-- -----------------------------------------------------
-- View `cel_tapir`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_tapir`;
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`,
`o`.`nom_sel` AS `nom_scientifique_complet`,
`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
`o`.`nt` AS `nom_num_taxonomique`,
`o`.`famille` AS `nom_famille`,
concat(_utf8'',`zg`.`nom`,' [INSEE:',`zg`.`code`,']') AS `lieu_commune_nom_complet`,
`zg`.`nom` AS `lieu_commune_nom`,
`zg`.`code` AS `lieu_commune_code_insee`,
if((`zg`.`code` <> ''), 'Lion1906 version 26-05-2008 - http://www.lion1906.com/', NULL) AS `lieu_commune_source`,
format(if((`o`.`latitude` <> ''), `o`.`latitude`, `zg`.`wgs84_latitude`), 5) AS `lieu_latitude`,
format(if((`o`.`longitude` <> ''), `o`.`longitude`, `zg`.`wgs84_longitude`), 5) AS `lieu_longitude`,
`o`.`geodatum` AS `lieu_geodatum`,
if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
`o`.`lieudit` AS `lieu_localite`,
`o`.`prenom_utilisateur` AS `observateur_prenom`,
`o`.`nom_utilisateur` AS `observateur_nom`,
`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('<',`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`),'; ',
'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
'nom_num_taxonomique=',`o`.`nt`,'; ',
'nom_referentiel=',encodeToDcsv(`o`.`nom_referentiel`),'; ',
'saisie_date_transmission=',`o`.`date_transmission`,'; ',
'saisie_date_creation=',`o`.`date_creation`,'; ',
'ordre=',`o`.`ordre`,'; ',
'station=',encodeToDcsv(`o`.`station`),'; ',
'milieu=',encodeToDcsv(`o`.`milieu`),'; ',
'mots_cles=',encodeToDcsv(`o`.`mots_cles_texte`),'; ',
'zg_utm_secteur=',encodeToDcsv(`zg`.`utm_secteur`),'; ',
'zg_date_modification=',`zg`.`date_modification`) AS `observation_information_complement`,
`o`.`date_modification` AS `saisie_date_modification`,
`o`.`date_creation` AS `saisie_date_creation`
from (`cel_obs` `o`
left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`)))
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;
 
-- -----------------------------------------------------
-- Data for table `cel_catalogue_champs_etendus`
-- -----------------------------------------------------
START TRANSACTION;
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('adresse', ' Adresse', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardAligneNbre', ' Nombre d\'arbres d\'alignement', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardCirconferenceA1m', ' Circonférence à 1 m du sol (en m)', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardClasseCirconferenceA1m', ' Classe de circonférence à 1 m du sol (en m)', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardEntretientCoupe', ' Type d\'entretien', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardEtatSanitaire', ' État sanitaire', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardFormation', ' Type de formation', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardHauteurTete', ' Hauteur de la tête (en m)', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardPresenceCavite', ' Présence de cavités', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardPresenceSp', ' Présence d\'espèces sur l\'arbre', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('arbreTetardTailleType', ' Type de taille', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('ChampsArbresTetards', ' Champs du projet arbres tétards', 0, 1, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('ChampsFlorileges', ' Champs du projet florilèges', 0, 1, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('ChampsSauvages', ' Champs du projet Sauvages de ma rue', 0, 1, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('coauteurCourriel', ' Courriel du co-auteur', 0, 0, 1);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('coauteurIntitule', ' Intitulé du co-auteur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('Collecteur', ' Collecteur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('Collecteurobservation', ' Collecteur de l\'observation', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('coordonneelambert93x', ' coordonneeLambert93X', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('coordonneelambert93y', ' coordonneeLambert93Y', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('dateArretTraitementPhyto', ' Date d\'arrêt des traitements', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('dateDerniereIntervention', ' Dernière intervention', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('Determinateur', ' Déterminateur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('hauteurBatimentAvoisinant', ' Hauteur des bâtiments', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('hauteurPlante', ' Hauteur max. (en cm) de la plante', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('intensiteGestion', ' Intensité de gestion', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('itineraireGestion', ' Description de l\'itinéraire de gestion', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('latitudeDebutRue', ' Latitude du début de la rue', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('latitudeFinRue', ' Latitude de fin de la rue', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('longitudeDebutRue', ' Longitude du début de la rue', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('longitudeFinRue', ' Longitude de fin de la rue', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('perceptionRiverainMauvaise', ' Mauvaise perception par les riverains ?', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('perceptionTechnicien', ' Perceptions par l\'équipe', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('periodiciteTraitementPhyto', ' Utilisation de produits phytosanitaires', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('personneFonction', ' Fonction de l\'observateur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('personneService', ' Service de l\'observateur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('personneStructure', ' Structure de l\'observateur', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('resistanceTraitementPhyto', ' Résistance/Résilience', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('revetementSol', ' Revêtement de sol', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('typoUrbaine', ' Typologie', 0, 0, 0);
INSERT INTO `cel_catalogue_champs_etendus` (`cle`, `label`, `invisible`, `groupe`, `prive`) VALUES ('vitesseCroissance', ' Croissance', 0, 0, 0);
 
COMMIT;
 
 
-- -----------------------------------------------------
-- Data for table `cel_catalogue_champs_etendus_liaison`
-- -----------------------------------------------------
START TRANSACTION;
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' adresse');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' Collecteur');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' Collecteurobservation');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' dateArretTraitementPhyto');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' dateDerniereIntervention');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' Determinateur');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' hauteurBatimentAvoisinant');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' hauteurPlante');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' intensiteGestion');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' itineraireGestion');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' latitudeDebutRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' latitudeFinRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' longitudeDebutRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' longitudeFinRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' perceptionRiverainMauvaise');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' perceptionTechnicien');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' periodiciteTraitementPhyto');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' personneFonction');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' personneService');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' personneStructure');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' resistanceTraitementPhyto');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' revetementSol');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' typoUrbaine');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsFlorileges', ' vitesseCroissance');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsSauvages', ' adresse');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsSauvages', ' latitudeDebutRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsSauvages', ' latitudeFinRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsSauvages', ' longitudeDebutRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsSauvages', ' longitudeFinRue');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardAligneNbre');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardCirconferenceA1m');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardClasseCirconferenceA1m');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardEntretientCoupe');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardEtatSanitaire');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardFormation');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardHauteurTete');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardPresenceCavite');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardPresenceSp');
INSERT INTO `cel_catalogue_champs_etendus_liaison` (`groupe`, `champ`) VALUES ('ChampsArbresTetards', ' arbreTetardTailleType');
 
COMMIT;
 
/trunk/doc/bdd/2014-09_migration_optimisation/maj_optimisation.sql
21,11 → 21,11
 
-- Met à jour la table cel_image avec les données de cel_obs_images
START TRANSACTION;
UPDATE cel_images, cel_obs_images
SET cel_images.ce_observation = cel_obs_images.id_observation,
cel_images.date_liaison = cel_obs_images.date_liaison
WHERE cel_images.id_image = cel_obs_images.id_image
AND cel_obs_images.id_image != '0';
UPDATE cel_images AS ci, cel_obs_images AS coi
SET ci.ce_observation = coi.id_observation,
ci.date_liaison = coi.date_liaison
WHERE ci.id_image = coi.id_image
AND coi.id_image != '0';
COMMIT;
 
-- Ajout index sur ce_observation
33,11 → 33,11
 
-- Mise à jour du champ «transmission» de la table «cel_images» à partir des données de «cel_obs»
START TRANSACTION;
UPDATE cel_images, cel_obs
SET cel_images.transmission = cel_obs.transmission,
cel_images.date_transmission = cel_obs.date_transmission
WHERE cel_images.ce_observation = cel_obs.id_observation
AND (cel_images.ce_observation IS NOT NULL OR cel_images.ce_observation != 0);
UPDATE cel_images AS ci, cel_obs AS co
SET ci.transmission = co.transmission,
ci.date_transmission = co.date_transmission
WHERE ci.ce_observation = co.id_observation
AND (ci.ce_observation IS NOT NULL OR ci.ce_observation != 0);
COMMIT;
 
-- Suppression de la table cel_obs_image inutile
44,6 → 44,104
RENAME TABLE cel_obs_images TO cel_obs_images_obsolete;
 
-- -----------------------------------------------------
 
-- Champs ce_utilisateur de cel_obs peut être NULL
ALTER TABLE cel_obs CHANGE ce_utilisateur ce_utilisateur VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
 
-- Suppression index id_obs
ALTER TABLE cel_obs DROP INDEX id_obs;
 
-- Correction du champ ce_utilisateur pour la table cel_images
UPDATE cel_obs SET ce_utilisateur = NULL WHERE ce_utilisateur LIKE '%@%' OR ce_utilisateur = '';
 
-- Correction index id_obs
CREATE UNIQUE INDEX id_obs ON cel_obs (ordre, ce_utilisateur, courriel_utilisateur);
 
-- Correction index date_creation
ALTER TABLE cel_obs DROP INDEX date_creation;
CREATE INDEX utilisateur_date_creation ON cel_obs (ce_utilisateur, date_creation, id_observation);
 
-- -----------------------------------------------------
 
-- Correction données en erreurs (bloque la génération des index)
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 20207 AND courriel_utilisateur = 'jardin-de-claire@orange.fr';
COMMIT;
 
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 16501 AND courriel_utilisateur = 'alexis.joly@inria.fr';
COMMIT;
 
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 10261 AND courriel_utilisateur = 'kti-moreau@orange.fr';
COMMIT;
 
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 18989 AND courriel_utilisateur = 'laetitia.goeau@free.fr';
COMMIT;
 
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 20667 AND courriel_utilisateur = 'catalina20@hotmail.fr';
COMMIT;
 
START TRANSACTION;
SET @ordre = 1;
UPDATE cel_images SET ordre = @ordre := @ordre+1
WHERE ce_utilisateur = 11785 AND courriel_utilisateur = 'pierre.bonnet@cirad.fr';
COMMIT;
 
-- Champ ce_utilisateur de cel_images peut être NULL
ALTER TABLE cel_images CHANGE ce_utilisateur ce_utilisateur VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL;
 
-- Correction index id_image
ALTER TABLE cel_images DROP INDEX id_image;
 
-- Correction du champ ce_utilisateur pour la table cel_images
START TRANSACTION;
UPDATE cel_images SET ce_utilisateur = NULL
WHERE ce_utilisateur LIKE '%@%' OR ce_utilisateur = '';
COMMIT;
 
-- Correction index id_image
CREATE UNIQUE INDEX id_img ON cel_images (ordre, ce_utilisateur, courriel_utilisateur);
 
-- Correction index ce_utilisateur_2
ALTER TABLE cel_images DROP INDEX ce_utilisateur_2;
CREATE INDEX utilisateur_date_creation ON cel_images (ce_utilisateur, date_creation, id_image);
 
-- Correction du champ date_modification dans la table cel_images
START TRANSACTION;
UPDATE cel_images SET
date_modification = GREATEST(
IFNULL(date_creation, '0000-00-00 00:00:00'),
IFNULL(date_transmission, '0000-00-00 00:00:00'),
IFNULL(date_modification, '0000-00-00 00:00:00'),
IFNULL(date_liaison, '0000-00-00 00:00:00')
);
COMMIT;
 
-- Correction du champ date_modification dans la table cel_obs
START TRANSACTION;
UPDATE cel_obs AS co, cel_images AS ci
SET co.date_modification = GREATEST(
IFNULL(co.date_creation, '0000-00-00 00:00:00'),
IFNULL(co.date_transmission, '0000-00-00 00:00:00'),
IFNULL(co.date_modification, '0000-00-00 00:00:00'),
IFNULL(ci.date_liaison, '0000-00-00 00:00:00')
)
WHERE co.id_observation = ci.ce_observation ;
COMMIT;
-- -----------------------------------------------------
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
/trunk/doc/bdd/schema_bdd.mwb.bak
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/doc/bdd/schema_bdd.mwb.bak
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/doc/bdd/schema_bdd.mwb
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/doc/bdd/schema_bdd.mwb
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property