Rev 1197 | Rev 1505 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
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';
-- -----------------------------------------------------
-- Table `cel_obs_images`
-- -----------------------------------------------------
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) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
-- -----------------------------------------------------
-- Table `cel_utilisateurs`
-- -----------------------------------------------------
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`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
-- -----------------------------------------------------
-- Table `cel_mots_cles_images`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_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(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.' ,
`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`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
ROW_FORMAT = COMPACT;
-- -----------------------------------------------------
-- Table `cel_images_mots_cles`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
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(32) 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;
-- -----------------------------------------------------
-- Table `cel_images`
-- -----------------------------------------------------
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(32) 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
COLLATE = utf8_general_ci;
-- -----------------------------------------------------
-- 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(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 ,
`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`) )
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(32) 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` ;
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;
-- -----------------------------------------------------
-- Table `cel_obs`
-- -----------------------------------------------------
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(32) 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(255) NULL DEFAULT NULL ,
`nom_sel_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom sélectionné.' ,
`nom_ret` VARCHAR(255) NULL DEFAULT NULL ,
`nom_ret_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom retenu.' ,
`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 ,
`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 ,
PRIMARY KEY (`id_observation`) ,
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_general_ci;
-- -----------------------------------------------------
-- Table `cel_utilisateurs_infos`
-- -----------------------------------------------------
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`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL.\nA utilis' /* comment truncated */;
-- -----------------------------------------------------
-- 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_utm_coordonnees_bruts` INT, `lieu_commune_utm_zone` INT, `lieu_commune_utm_x` INT, `lieu_commune_utm_y` INT, `lieu_latitude` INT, `lieu_longitude` INT, `lieu_geodatum` INT, `lieu_localite` INT, `observateur_prenom` INT, `observateur_nom` INT, `observateur_courriel` INT, `observateur_intitule` INT, `observation_commentaire` INT, `observation_information_complement` INT, `saisie_date_modification` INT, `saisie_date_creation` INT);
-- -----------------------------------------------------
-- View `cel_utilisateurs`
-- -----------------------------------------------------
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 cel_utilisateurs_infos AS ui
LEFT JOIN tela_prod_v4.annuaire_tela AS at ON (ui.id_utilisateur = at.U_ID);
-- -----------------------------------------------------
-- View `cel_tapir`
-- -----------------------------------------------------
DROP VIEW IF EXISTS `cel_tapir` ;
DROP TABLE IF EXISTS `cel_tapir`;
DELIMITER $$
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,
concat(zg.utm_secteur,' ',zg.utm_x,'m E ',zg.utm_y,'m N') AS lieu_commune_utm_coordonnees_bruts,
zg.utm_secteur AS lieu_commune_utm_zone,
zg.utm_x AS lieu_commune_utm_x,
zg.utm_y AS lieu_commune_utm_y,
o.latitude AS lieu_latitude,
o.longitude AS lieu_longitude,
o.geodatum AS lieu_geodatum,
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_intitule,
o.commentaire AS observation_commentaire,
concat(_utf8'<?xml version="1.0" encoding="UTF-8"?>',
'<info>',
'<nom_num_nomenclatural>',o.nom_sel_nn,'</nom_num_nomenclatural>',
'<nom_ret>',o.nom_ret,'</nom_ret>',
'<nom_num_ret>',o.nom_ret_nn,'</nom_num_ret>',
'<nom_num_taxonomique>',o.nt,'</nom_num_taxonomique>',
'<nom_referentiel>',o.nom_referentiel,'</nom_referentiel>',
'<saisie_date_transmission>',o.date_transmission,'</saisie_date_transmission>',
'<saisie_date_creation>',o.date_creation,'</saisie_date_creation>',
'<ordre>',o.ordre,'</ordre>',
'<station>',o.station,'</station>',
'<milieu>',o.milieu,'</milieu>',
'<mots_cles>',o.mots_cles_texte,'</mots_cles>',
'<zg_utm_secteur>',zg.utm_secteur,'</zg_utm_secteur>',
'<zg_date_modification>',zg.date_modification,'</zg_date_modification>',
'</info>') AS observation_information_complement,
o.date_modification AS saisie_date_modification,
o.date_creation AS saisie_date_creation
FROM cel_obs AS o
LEFT JOIN cel_zones_geo AS zg ON (o.ce_zone_geo = zg.id_zone_geo)
WHERE o.transmission = 1;
$$
DELIMITER ;
;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;