Subversion Repositories eFlore/Applications.cel

Rev

Rev 1947 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1947 Rev 2065
Line 40... Line 40...
40
DEFAULT CHARACTER SET = utf8
40
DEFAULT CHARACTER SET = utf8
41
COLLATE = utf8_general_ci;
41
COLLATE = utf8_general_ci;
Line 42... Line 42...
42
 
42
 
43
 
43
 
44
-- -----------------------------------------------------
44
-- -----------------------------------------------------
45
-- Table `cel_mots_cles_images`
45
-- Table `cel_arbre_mots_cles_images`
Line 46... Line 46...
46
-- -----------------------------------------------------
46
-- -----------------------------------------------------
47
DROP TABLE IF EXISTS `cel_mots_cles_images` ;
47
DROP TABLE IF EXISTS `cel_arbre_mots_cles_images` ;
48
 
48
 
49
CREATE TABLE IF NOT EXISTS `cel_mots_cles_images` (
-
 
50
  `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.',
-
 
51
  `id_utilisateur` VARCHAR(255) NOT NULL,
-
 
52
  `mot_cle` VARCHAR(50) NOT NULL COMMENT 'Mot clé de l\'utilisateur pour une position dans l\'arbre.',
-
 
53
  `md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.',
-
 
54
  `bg` BIGINT NOT NULL COMMENT 'Bordure gauche.',
49
CREATE  TABLE IF NOT EXISTS `cel_arbre_mots_cles_images` (
55
  `bd` BIGINT NOT NULL COMMENT 'bordure droite.',
-
 
56
  `niveau` INT NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.',
-
 
57
  `ce_mot_cle_image_parent` VARCHAR(128) NOT NULL,
-
 
58
  PRIMARY KEY (`id_mot_cle_image`, `id_utilisateur`),
50
  `id_mot_cle` INT NOT NULL ,
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
51
  `chemin` VARCHAR(2048) NULL ,
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`)
52
  `mot_cle` VARCHAR(80) NULL ,
67
    ON DELETE NO ACTION
-
 
68
    ON UPDATE NO ACTION)
-
 
69
ENGINE = InnoDB
-
 
70
DEFAULT CHARACTER SET = utf8
-
 
Line 71... Line 53...
71
COLLATE = utf8_general_ci
53
  `id_utilisateur` VARCHAR(255) NULL ,
72
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
54
  PRIMARY KEY (`id_mot_cle`) )
73
ROW_FORMAT = COMPACT;
55
ENGINE = MyISAM;
74
 
56
 
Line 75... Line 57...
75
 
57
 
76
-- -----------------------------------------------------
58
-- -----------------------------------------------------
77
-- Table `cel_images_mots_cles`
-
 
78
-- -----------------------------------------------------
59
-- Table `cel_mots_cles_images_liaison`
79
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
60
-- -----------------------------------------------------
80
 
-
 
81
CREATE TABLE IF NOT EXISTS `cel_images_mots_cles` (
61
DROP TABLE IF EXISTS `cel_mots_cles_images_liaison` ;
82
  `id_image` BIGINT NOT NULL,
-
 
83
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
Line 84... Line 62...
84
  `id_utilisateur` VARCHAR(128) NOT NULL,
62
 
85
  PRIMARY KEY (`id_image`, `id_mot_cle_image`, `id_utilisateur`),
63
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_images_liaison` (
86
  INDEX `image` (`id_image` ASC))
64
  `id_element_lie` INT NOT NULL ,
Line 126... Line 104...
126
DEFAULT CHARACTER SET = utf8
104
DEFAULT CHARACTER SET = utf8
127
COLLATE = utf8_general_ci;
105
COLLATE = utf8_general_ci;
Line 128... Line 106...
128
 
106
 
129
 
-
 
130
-- -----------------------------------------------------
-
 
131
-- Table `cel_mots_cles_obs`
-
 
132
-- -----------------------------------------------------
-
 
133
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
-
 
134
 
-
 
135
CREATE TABLE IF NOT EXISTS `cel_mots_cles_obs` (
-
 
136
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
137
  `id_utilisateur` VARCHAR(255) NOT NULL,
-
 
138
  `mot_cle` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
139
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
140
  `bg` BIGINT NOT NULL,
-
 
141
  `bd` BIGINT NOT NULL,
-
 
142
  `niveau` INT NOT NULL,
-
 
143
  `ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
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)
-
 
155
ENGINE = InnoDB
-
 
156
DEFAULT CHARACTER SET = utf8
-
 
157
COLLATE = utf8_general_ci
-
 
158
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
-
 
159
ROW_FORMAT = COMPACT;
-
 
160
 
-
 
161
 
-
 
162
-- -----------------------------------------------------
-
 
163
-- Table `cel_obs_mots_cles`
-
 
164
-- -----------------------------------------------------
-
 
165
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
-
 
166
 
-
 
167
CREATE TABLE IF NOT EXISTS `cel_obs_mots_cles` (
-
 
168
  `id_observation` BIGINT NOT NULL,
-
 
169
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
-
 
170
  `id_utilisateur` VARCHAR(128) NOT NULL,
-
 
171
  PRIMARY KEY (`id_observation`, `id_mot_cle_obs`, `id_utilisateur`),
-
 
172
  INDEX `observation` (`id_observation` ASC))
-
 
173
ENGINE = MyISAM
-
 
174
DEFAULT CHARACTER SET = utf8
-
 
175
COLLATE = utf8_general_ci;
-
 
176
 
-
 
177
 
107
 
178
-- -----------------------------------------------------
108
-- -----------------------------------------------------
179
-- Table `cel_zones_geo`
109
-- Table `cel_zones_geo`
Line 180... Line 110...
180
-- -----------------------------------------------------
110
-- -----------------------------------------------------
Line 217... Line 147...
217
COLLATE = utf8_general_ci
147
COLLATE = utf8_general_ci
218
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
148
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
Line 219... Line 149...
219
 
149
 
-
 
150
 
-
 
151
-- -----------------------------------------------------
-
 
152
-- Table `cel_arbre_mots_cles_obs`
-
 
153
-- -----------------------------------------------------
-
 
154
DROP TABLE IF EXISTS `cel_arbre_mots_cles_obs` ;
-
 
155
 
-
 
156
CREATE  TABLE IF NOT EXISTS `cel_arbre_mots_cles_obs` (
-
 
157
  `id_mot_cle` INT NOT NULL ,
-
 
158
  `chemin` VARCHAR(2048) NULL ,
-
 
159
  `mot_cle` VARCHAR(80) NULL ,
-
 
160
  `id_utilisateur` VARCHAR(255) NULL ,
-
 
161
  PRIMARY KEY (`id_mot_cle`) )
-
 
162
ENGINE = MyISAM;
-
 
163
 
-
 
164
 
-
 
165
-- -----------------------------------------------------
-
 
166
-- Table `cel_mots_cles_obs_liaison`
-
 
167
-- -----------------------------------------------------
-
 
168
DROP TABLE IF EXISTS `cel_mots_cles_obs_liaison` ;
-
 
169
 
-
 
170
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_obs_liaison` (
-
 
171
  `id_element_lie` INT NOT NULL ,
-
 
172
  `id_mot_cle` INT NOT NULL ,
-
 
173
  PRIMARY KEY (`id_element_lie`, `id_mot_cle`) )
-
 
174
ENGINE = MyISAM;
-
 
175
 
220
 
176
 
221
-- -----------------------------------------------------
177
-- -----------------------------------------------------
222
-- Table `cel_obs`
178
-- Table `cel_obs`
Line 223... Line 179...
223
-- -----------------------------------------------------
179
-- -----------------------------------------------------
Line 260... Line 216...
260
  PRIMARY KEY (`id_observation`),
216
  PRIMARY KEY (`id_observation`) ,
261
  UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `ordre` ASC),
217
  UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `ordre` ASC) ,
262
  INDEX `date_creation` (`ce_utilisateur`(10) ASC, `date_creation` ASC),
218
  INDEX `date_creation` (`ce_utilisateur`(10) ASC, `date_creation` ASC) ,
263
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC),
219
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
264
  INDEX `nom_retenu` (`nom_ret` ASC),
220
  INDEX `nom_retenu` (`nom_ret` ASC) ,
265
  INDEX `date_observation` (`date_observation` ASC),
-
 
266
  INDEX `nom_referentiel` (`nom_referentiel`(5) ASC)  COMMENT ' /* comment truncated */ /*Index sur (bdtfx,bdtfx,isfan)*/',
221
  INDEX `date_observation` (`date_observation` ASC) COMMENT ' /* comment truncated */ /*Index sur (bdtfx,bdtfx,isfan)*/' ,
267
  INDEX `date_transmission` (`date_transmission` DESC)  COMMENT ' /* comment truncated */ /*Date_transmission : nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL*/',
222
  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*/' ,
268
  INDEX `transmission` (`transmission` ASC)  COMMENT ' /* comment truncated */ /*Nécessaire à CEL/DEL qui officie avec transmission = 1*/')
223
  INDEX `date_transmission` (`date_transmission` DESC) COMMENT ' /* comment truncated */ /*Nécessaire à CEL/DEL qui officie avec transmission = 1*/' ,
-
 
224
  INDEX `transmission` (`transmission` ASC) )
269
ENGINE = MyISAM
225
ENGINE = MyISAM
270
DEFAULT CHARACTER SET = utf8
226
DEFAULT CHARACTER SET = utf8
271
COLLATE = utf8_general_ci;
227
COLLATE = utf8_general_ci;
Line 330... Line 286...
330
-- -----------------------------------------------------
286
-- -----------------------------------------------------
331
-- View `cel_tapir`
287
-- View `cel_tapir`
332
-- -----------------------------------------------------
288
-- -----------------------------------------------------
333
DROP VIEW IF EXISTS `cel_tapir` ;
289
DROP VIEW IF EXISTS `cel_tapir` ;
334
DROP TABLE IF EXISTS `cel_tapir`;
290
DROP TABLE IF EXISTS `cel_tapir`;
335
CREATE VIEW `cel_tapir` AS 
291
CREATE  OR REPLACE VIEW `cel_tapir` AS 
336
	select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
292
	select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
337
		`o`.`id_observation` AS `observation_id`,
293
		`o`.`id_observation` AS `observation_id`,
338
		date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
294
		date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
339
		`o`.`nom_sel` AS `nom_scientifique_complet`,
295
		`o`.`nom_sel` AS `nom_scientifique_complet`,
340
		`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
296
		`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
Line 349... Line 305...
349
		`o`.`geodatum` AS `lieu_geodatum`,
305
		`o`.`geodatum` AS `lieu_geodatum`,
350
		if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
306
		if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
351
		`o`.`lieudit` AS `lieu_localite`,
307
		`o`.`lieudit` AS `lieu_localite`,
352
		`o`.`prenom_utilisateur` AS `observateur_prenom`,
308
		`o`.`prenom_utilisateur` AS `observateur_prenom`,
353
		`o`.`nom_utilisateur` AS `observateur_nom`,
309
		`o`.`nom_utilisateur` AS `observateur_nom`,
354
		concat(_utf8'',substring_index(`o`.`courriel_utilisateur`,'@',1), '@...') AS `observateur_courriel`,
310
		`o`.`courriel_utilisateur` AS `observateur_courriel`,
355
		concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
311
		concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
356
		concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',concat(_utf8'',substring_index(`o`.`courriel_utilisateur`,'@',1), '@...'),'>')) AS `observateur_intitule`,
312
		concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
357
		`o`.`commentaire` AS `observation_commentaire`,
313
		`o`.`commentaire` AS `observation_commentaire`,
358
		concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
314
		concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
359
			'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
315
			'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
360
			'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
316
			'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
361
			'nom_num_taxonomique=',`o`.`nt`,'; ',
317
			'nom_num_taxonomique=',`o`.`nt`,'; ',
Line 373... Line 329...
373
	from (`cel_obs` `o` 
329
	from (`cel_obs` `o` 
374
		left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`))) 
330
		left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`))) 
375
	where `o`.`transmission` = 1 
331
	where `o`.`transmission` = 1 
376
		AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
332
		AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
Line -... Line 333...
-
 
333
 
377
 
334
 
378
SET SQL_MODE=@OLD_SQL_MODE;
335
SET SQL_MODE=@OLD_SQL_MODE;
379
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
336
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
-
 
337
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;