Line 53... |
Line 53... |
53 |
`md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
|
53 |
`md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
|
54 |
`bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
|
54 |
`bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
|
55 |
`bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
|
55 |
`bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
|
56 |
`niveau` INT NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.' ,
|
56 |
`niveau` INT NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.' ,
|
57 |
`ce_mot_cle_image_parent` VARCHAR(128) NOT NULL ,
|
57 |
`ce_mot_cle_image_parent` VARCHAR(128) NOT NULL ,
|
58 |
PRIMARY KEY (`id_mot_cle_image`, `id_utilisateur`) )
|
58 |
PRIMARY KEY (`id_mot_cle_image`, `id_utilisateur`) ,
|
- |
|
59 |
CONSTRAINT `fk_cel_mots_cles_images_cel_utilisateur1`
|
- |
|
60 |
FOREIGN KEY (`id_utilisateur` )
|
- |
|
61 |
REFERENCES `cel_utilisateurs` (`id_utilisateur` )
|
- |
|
62 |
ON DELETE NO ACTION
|
- |
|
63 |
ON UPDATE NO ACTION,
|
- |
|
64 |
CONSTRAINT `fk_cel_mots_cles_images_cel_mots_cles_images1`
|
- |
|
65 |
FOREIGN KEY (`ce_mot_cle_image_parent` )
|
- |
|
66 |
REFERENCES `cel_mots_cles_images` (`id_mot_cle_image` )
|
- |
|
67 |
ON DELETE NO ACTION
|
- |
|
68 |
ON UPDATE NO ACTION)
|
59 |
ENGINE = InnoDB
|
69 |
ENGINE = InnoDB
|
60 |
DEFAULT CHARACTER SET = utf8
|
70 |
DEFAULT CHARACTER SET = utf8
|
61 |
COLLATE = utf8_general_ci
|
71 |
COLLATE = utf8_general_ci
|
62 |
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
|
72 |
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
|
63 |
ROW_FORMAT = COMPACT;
|
73 |
ROW_FORMAT = COMPACT;
|
Line 129... |
Line 139... |
129 |
`md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
|
139 |
`md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
|
130 |
`bg` BIGINT NOT NULL ,
|
140 |
`bg` BIGINT NOT NULL ,
|
131 |
`bd` BIGINT NOT NULL ,
|
141 |
`bd` BIGINT NOT NULL ,
|
132 |
`niveau` INT NOT NULL ,
|
142 |
`niveau` INT NOT NULL ,
|
133 |
`ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
|
143 |
`ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
|
134 |
PRIMARY KEY (`id_mot_cle_obs`, `id_utilisateur`) )
|
144 |
PRIMARY KEY (`id_mot_cle_obs`, `id_utilisateur`) ,
|
- |
|
145 |
CONSTRAINT `fk_cel_mots_cles_obs_cel_utilisateur1`
|
- |
|
146 |
FOREIGN KEY (`id_utilisateur` )
|
- |
|
147 |
REFERENCES `cel_utilisateurs` (`id_utilisateur` )
|
- |
|
148 |
ON DELETE NO ACTION
|
- |
|
149 |
ON UPDATE NO ACTION,
|
- |
|
150 |
CONSTRAINT `fk_cel_mots_cles_obs_cel_mots_cles_obs1`
|
- |
|
151 |
FOREIGN KEY (`ce_mot_cle_obs_parent` )
|
- |
|
152 |
REFERENCES `cel_mots_cles_obs` (`id_mot_cle_obs` )
|
- |
|
153 |
ON DELETE NO ACTION
|
- |
|
154 |
ON UPDATE NO ACTION)
|
135 |
ENGINE = InnoDB
|
155 |
ENGINE = InnoDB
|
136 |
DEFAULT CHARACTER SET = utf8
|
156 |
DEFAULT CHARACTER SET = utf8
|
137 |
COLLATE = utf8_general_ci
|
157 |
COLLATE = utf8_general_ci
|
138 |
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
|
158 |
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
|
139 |
ROW_FORMAT = COMPACT;
|
159 |
ROW_FORMAT = COMPACT;
|
Line 180... |
Line 200... |
180 |
DEFAULT CHARACTER SET = utf8
|
200 |
DEFAULT CHARACTER SET = utf8
|
181 |
COLLATE = utf8_general_ci;
|
201 |
COLLATE = utf8_general_ci;
|
Line 182... |
Line 202... |
182 |
|
202 |
|
- |
|
203 |
|
- |
|
204 |
-- -----------------------------------------------------
|
- |
|
205 |
-- Table `cel_obs_etendues`
|
- |
|
206 |
-- -----------------------------------------------------
|
- |
|
207 |
DROP TABLE IF EXISTS `cel_obs_etendues` ;
|
- |
|
208 |
|
- |
|
209 |
CREATE TABLE IF NOT EXISTS `cel_obs_etendues` (
|
- |
|
210 |
`id_observation` BIGINT NOT NULL ,
|
- |
|
211 |
`cle` VARCHAR(255) NOT NULL ,
|
- |
|
212 |
`valeur` VARCHAR(255) NOT NULL ,
|
- |
|
213 |
PRIMARY KEY (`id_observation`, `cle`) )
|
- |
|
214 |
ENGINE = MyISAM
|
- |
|
215 |
DEFAULT CHARACTER SET = utf8
|
- |
|
216 |
COLLATE = utf8_general_ci
|
- |
|
217 |
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
|
- |
|
218 |
|
183 |
|
219 |
|
184 |
-- -----------------------------------------------------
|
220 |
-- -----------------------------------------------------
|
185 |
-- Table `cel_obs`
|
221 |
-- Table `cel_obs`
|
Line 186... |
Line 222... |
186 |
-- -----------------------------------------------------
|
222 |
-- -----------------------------------------------------
|
Line 213... |
Line 249... |
213 |
`commentaire` TEXT NULL DEFAULT NULL ,
|
249 |
`commentaire` TEXT NULL DEFAULT NULL ,
|
214 |
`transmission` TINYINT(1) NULL DEFAULT NULL ,
|
250 |
`transmission` TINYINT(1) NULL DEFAULT NULL ,
|
215 |
`date_creation` DATETIME NULL DEFAULT NULL ,
|
251 |
`date_creation` DATETIME NULL DEFAULT NULL ,
|
216 |
`date_modification` DATETIME NULL DEFAULT NULL ,
|
252 |
`date_modification` DATETIME NULL DEFAULT NULL ,
|
217 |
`date_transmission` DATETIME NULL DEFAULT NULL ,
|
253 |
`date_transmission` DATETIME NULL DEFAULT NULL ,
|
- |
|
254 |
`abondance` VARCHAR(50) NULL ,
|
- |
|
255 |
`certitude` VARCHAR(255) NULL ,
|
218 |
PRIMARY KEY (`id_observation`) ,
|
256 |
PRIMARY KEY (`id_observation`) ,
|
219 |
INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
|
257 |
INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
|
220 |
INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
|
258 |
INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
|
221 |
INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
|
259 |
INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
|
222 |
INDEX `nom_retenu` (`nom_ret` ASC) ,
|
260 |
INDEX `nom_retenu` (`nom_ret` ASC) ,
|
Line 243... |
Line 281... |
243 |
COLLATE = utf8_general_ci
|
281 |
COLLATE = utf8_general_ci
|
244 |
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL.\nA utilis' /* comment truncated */;
|
282 |
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL.\nA utilis' /* comment truncated */;
|
Line 245... |
Line 283... |
245 |
|
283 |
|
- |
|
284 |
|
- |
|
285 |
-- -----------------------------------------------------
|
- |
|
286 |
-- Table `cel_images_etendues`
|
- |
|
287 |
-- -----------------------------------------------------
|
- |
|
288 |
DROP TABLE IF EXISTS `cel_images_etendues` ;
|
- |
|
289 |
|
- |
|
290 |
CREATE TABLE IF NOT EXISTS `cel_images_etendues` (
|
- |
|
291 |
`id_observation` BIGINT NOT NULL ,
|
- |
|
292 |
`cle` VARCHAR(255) NOT NULL ,
|
- |
|
293 |
`valeur` VARCHAR(255) NOT NULL ,
|
- |
|
294 |
PRIMARY KEY (`id_observation`, `cle`) )
|
- |
|
295 |
ENGINE = MyISAM
|
- |
|
296 |
DEFAULT CHARACTER SET = utf8
|
- |
|
297 |
COLLATE = utf8_general_ci
|
- |
|
298 |
COMMENT = 'Stockage d\'info supplémentaires sur une image';
|
- |
|
299 |
|
246 |
|
300 |
|
247 |
-- -----------------------------------------------------
|
301 |
-- -----------------------------------------------------
|
248 |
-- Placeholder table for view `cel_utilisateurs`
|
302 |
-- Placeholder table for view `cel_utilisateurs`
|
Line 249... |
Line 303... |
249 |
-- -----------------------------------------------------
|
303 |
-- -----------------------------------------------------
|
250 |
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);
|
304 |
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);
|
251 |
|
305 |
|
252 |
-- -----------------------------------------------------
|
306 |
-- -----------------------------------------------------
|
Line 253... |
Line 307... |
253 |
-- Placeholder table for view `cel_tapir`
|
307 |
-- Placeholder table for view `cel_tapir`
|
254 |
-- -----------------------------------------------------
|
308 |
-- -----------------------------------------------------
|
255 |
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);
|
309 |
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);
|
256 |
|
310 |
|
Line 270... |
Line 324... |
270 |
-- -----------------------------------------------------
|
324 |
-- -----------------------------------------------------
|
271 |
DROP VIEW IF EXISTS `cel_tapir` ;
|
325 |
DROP VIEW IF EXISTS `cel_tapir` ;
|
272 |
DROP TABLE IF EXISTS `cel_tapir`;
|
326 |
DROP TABLE IF EXISTS `cel_tapir`;
|
273 |
DELIMITER $$
|
327 |
DELIMITER $$
|
274 |
CREATE OR REPLACE VIEW `cel_tapir` AS
|
328 |
CREATE OR REPLACE VIEW `cel_tapir` AS
|
275 |
SELECT concat(_utf8'urn:lsid:tela-botanica.org:cel:', o.id_observation) AS guid,
|
329 |
select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
|
276 |
o.id_observation AS observation_id,
|
330 |
`o`.`id_observation` AS `observation_id`,
|
277 |
date_format(o.date_observation,'%Y-%m-%d') AS observation_date,
|
331 |
date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
|
278 |
o.nom_sel AS nom_scientifique_complet,
|
332 |
`o`.`nom_sel` AS `nom_scientifique_complet`,
|
279 |
o.nom_sel_nn AS nom_num_nomenclatural,
|
333 |
`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
|
280 |
o.nt AS nom_num_taxonomique,
|
334 |
`o`.`nt` AS `nom_num_taxonomique`,
|
281 |
o.famille AS nom_famille,
|
335 |
`o`.`famille` AS `nom_famille`,
|
282 |
concat(_utf8'',zg.nom,' [INSEE:',zg.code,']') AS lieu_commune_nom_complet,
|
336 |
concat(_utf8'',`zg`.`nom`,' [INSEE:',`zg`.`code`,']') AS `lieu_commune_nom_complet`,
|
283 |
zg.nom AS lieu_commune_nom,
|
337 |
`zg`.`nom` AS `lieu_commune_nom`,
|
284 |
zg.code AS lieu_commune_code_insee,
|
338 |
`zg`.`code` AS `lieu_commune_code_insee`,
|
285 |
concat(zg.utm_secteur,' ',zg.utm_x,'m E ',zg.utm_y,'m N') AS lieu_commune_utm_coordonnees_bruts,
|
339 |
if((`zg`.`code` <> ''), 'Lion1906 version 26-05-2008 - http://www.lion1906.com/', NULL) AS `lieu_commune_source`,
|
286 |
zg.utm_secteur AS lieu_commune_utm_zone,
|
- |
|
287 |
zg.utm_x AS lieu_commune_utm_x,
|
- |
|
288 |
zg.utm_y AS lieu_commune_utm_y,
|
- |
|
289 |
o.latitude AS lieu_latitude,
|
340 |
format(if((`o`.`latitude` <> ''), `o`.`latitude`, `zg`.`wgs84_latitude`), 5) AS `lieu_latitude`,
|
290 |
o.longitude AS lieu_longitude,
|
341 |
format(if((`o`.`longitude` <> ''), `o`.`longitude`, `zg`.`wgs84_longitude`), 5) AS `lieu_longitude`,
|
291 |
o.geodatum AS lieu_geodatum,
|
342 |
`o`.`geodatum` AS `lieu_geodatum`,
|
- |
|
343 |
if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
|
292 |
o.lieudit AS lieu_localite,
|
344 |
`o`.`lieudit` AS `lieu_localite`,
|
293 |
o.prenom_utilisateur AS observateur_prenom,
|
345 |
`o`.`prenom_utilisateur` AS `observateur_prenom`,
|
294 |
o.nom_utilisateur AS observateur_nom,
|
346 |
`o`.`nom_utilisateur` AS `observateur_nom`,
|
295 |
o.courriel_utilisateur AS observateur_courriel,
|
347 |
`o`.`courriel_utilisateur` AS `observateur_courriel`,
|
296 |
concat(o.prenom_utilisateur,_utf8' ',o.nom_utilisateur) AS observateur_intitule,
|
348 |
concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
|
- |
|
349 |
concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
|
297 |
o.commentaire AS observation_commentaire,
|
350 |
`o`.`commentaire` AS `observation_commentaire`,
|
298 |
concat(_utf8'<?xml version="1.0" encoding="UTF-8"?>',
|
- |
|
299 |
'<info>',
|
- |
|
300 |
'<nom_num_nomenclatural>',o.nom_sel_nn,'</nom_num_nomenclatural>',
|
351 |
concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
|
301 |
'<nom_ret>',o.nom_ret,'</nom_ret>',
|
352 |
'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
|
302 |
'<nom_num_ret>',o.nom_ret_nn,'</nom_num_ret>',
|
353 |
'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
|
303 |
'<nom_num_taxonomique>',o.nt,'</nom_num_taxonomique>',
|
354 |
'nom_num_taxonomique=',`o`.`nt`,'; ',
|
304 |
'<nom_referentiel>',o.nom_referentiel,'</nom_referentiel>',
|
355 |
'nom_referentiel=',encodeToDcsv(`o`.`nom_referentiel`),'; ',
|
305 |
'<saisie_date_transmission>',o.date_transmission,'</saisie_date_transmission>',
|
356 |
'saisie_date_transmission=',`o`.`date_transmission`,'; ',
|
306 |
'<saisie_date_creation>',o.date_creation,'</saisie_date_creation>',
|
357 |
'saisie_date_creation=',`o`.`date_creation`,'; ',
|
307 |
'<ordre>',o.ordre,'</ordre>',
|
358 |
'ordre=',`o`.`ordre`,'; ',
|
308 |
'<station>',o.station,'</station>',
|
359 |
'station=',encodeToDcsv(`o`.`station`),'; ',
|
309 |
'<milieu>',o.milieu,'</milieu>',
|
360 |
'milieu=',encodeToDcsv(`o`.`milieu`),'; ',
|
310 |
'<mots_cles>',o.mots_cles_texte,'</mots_cles>',
|
361 |
'mots_cles=',encodeToDcsv(`o`.`mots_cles_texte`),'; ',
|
311 |
'<zg_utm_secteur>',zg.utm_secteur,'</zg_utm_secteur>',
|
362 |
'zg_utm_secteur=',encodeToDcsv(`zg`.`utm_secteur`),'; ',
|
312 |
'<zg_date_modification>',zg.date_modification,'</zg_date_modification>',
|
363 |
'zg_date_modification=',`zg`.`date_modification`) AS `observation_information_complement`,
|
313 |
'</info>') AS observation_information_complement,
|
- |
|
314 |
o.date_modification AS saisie_date_modification,
|
364 |
`o`.`date_modification` AS `saisie_date_modification`,
|
315 |
o.date_creation AS saisie_date_creation
|
365 |
`o`.`date_creation` AS `saisie_date_creation`
|
316 |
FROM cel_obs AS o
|
366 |
from (`cel_obs` `o`
|
317 |
LEFT JOIN cel_zones_geo AS zg ON (o.ce_zone_geo = zg.id_zone_geo)
|
367 |
left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`)))
|
318 |
WHERE o.transmission = 1;
|
368 |
where `o`.`transmission` = 1
|
- |
|
369 |
AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
|
319 |
$$
|
370 |
$$
|
320 |
DELIMITER ;
|
371 |
DELIMITER ;
|
Line 321... |
Line 372... |
321 |
|
372 |
|