Subversion Repositories eFlore/Applications.cel

Rev

Rev 1196 | Rev 1202 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1174 jpm 1
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
2
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
3
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
4
 
5
 
6
-- -----------------------------------------------------
7
-- Table `cel_utilisateurs`
8
-- -----------------------------------------------------
9
DROP TABLE IF EXISTS `cel_utilisateurs` ;
10
 
11
CREATE  TABLE IF NOT EXISTS `cel_utilisateurs` (
12
  `id_utilisateur` INT NOT NULL ,
1196 jpm 13
  `prenom` VARCHAR(255) NULL DEFAULT NULL ,
14
  `nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
1174 jpm 15
  `courriel` VARCHAR(255) NOT NULL ,
1196 jpm 16
  `mot_de_passe` VARCHAR(45) NOT NULL ,
17
  `admin` TINYINT(1) NULL DEFAULT '0' ,
18
  `licence_acceptee` TINYINT(1) NULL DEFAULT '0' COMMENT 'Acceptation de la licence utilisateur pour le cel\n' ,
19
  `preferences` LONGTEXT NULL DEFAULT NULL COMMENT 'Préférences utilisateur sérialisées sous une forme à définir\n' ,
20
  `date__premiere_utilisation` DATETIME NOT NULL ,
1174 jpm 21
  PRIMARY KEY (`id_utilisateur`) )
22
ENGINE = MyISAM
23
DEFAULT CHARACTER SET = utf8
24
COLLATE = utf8_general_ci;
25
 
26
 
27
-- -----------------------------------------------------
28
-- Table `cel_obs_images`
29
-- -----------------------------------------------------
30
DROP TABLE IF EXISTS `cel_obs_images` ;
31
 
32
CREATE  TABLE IF NOT EXISTS `cel_obs_images` (
33
  `id_image` BIGINT NOT NULL ,
34
  `id_utilisateur` VARCHAR(32) NOT NULL ,
35
  `id_observation` BIGINT NOT NULL ,
1196 jpm 36
  `date_liaison` DATETIME NOT NULL ,
1174 jpm 37
  PRIMARY KEY (`id_image`, `id_utilisateur`, `id_observation`) ,
38
  INDEX `observation` (`id_observation` ASC) ,
39
  INDEX `image` (`id_image` ASC) )
40
ENGINE = MyISAM
41
DEFAULT CHARACTER SET = utf8
42
COLLATE = utf8_unicode_ci;
43
 
44
 
45
-- -----------------------------------------------------
46
-- Table `cel_mots_cles_images`
47
-- -----------------------------------------------------
48
DROP TABLE IF EXISTS `cel_mots_cles_images` ;
49
 
50
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_images` (
51
  `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.' ,
52
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
53
  `mot_cle` VARCHAR(50) NOT NULL COMMENT 'Mot clé de l\'utilisateur pour une position dans l\'arbre.' ,
54
  `md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
55
  `bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
56
  `bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
57
  `niveau` INT NOT NULL COMMENT 'Niveau du mot clé dans l\'arbre.' ,
58
  `ce_mot_cle_image_parent` VARCHAR(128) NOT NULL ,
59
  PRIMARY KEY (`id_mot_cle_image`) )
60
ENGINE = InnoDB
61
DEFAULT CHARACTER SET = utf8
62
COLLATE = utf8_general_ci
1185 jpm 63
COMMENT = 'Table des mots clés, à utiliser avec des transactions !\n'
1174 jpm 64
ROW_FORMAT = COMPACT;
65
 
66
 
67
-- -----------------------------------------------------
68
-- Table `cel_images_mots_cles`
69
-- -----------------------------------------------------
70
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
71
 
72
CREATE  TABLE IF NOT EXISTS `cel_images_mots_cles` (
73
  `id_image` BIGINT NOT NULL ,
74
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
75
  PRIMARY KEY (`id_image`, `id_mot_cle_image`) ,
76
  INDEX `image` (`id_image` ASC) )
77
ENGINE = MyISAM
78
DEFAULT CHARACTER SET = utf8
79
COLLATE = utf8_general_ci;
80
 
81
 
82
-- -----------------------------------------------------
83
-- Table `cel_images`
84
-- -----------------------------------------------------
85
DROP TABLE IF EXISTS `cel_images` ;
86
 
87
CREATE  TABLE IF NOT EXISTS `cel_images` (
88
  `id_image` BIGINT NOT NULL AUTO_INCREMENT ,
89
  `ordre` BIGINT NOT NULL ,
90
  `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' ,
1195 jpm 91
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
92
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
93
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
1174 jpm 94
  `hauteur` INT NOT NULL ,
95
  `largeur` INT NOT NULL ,
96
  `appareil_fabriquant` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
97
  `appareil_modele` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
98
  `date_prise_de_vue` DATETIME NULL DEFAULT NULL ,
1197 jpm 99
  `note_qualite` DECIMAL(1,0) NULL DEFAULT NULL ,
1195 jpm 100
  `mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.\n' ,
1174 jpm 101
  `commentaire` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
102
  `nom_original` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
103
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
104
  `meta_exif` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
105
  `meta_iptc` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ,
1195 jpm 106
  `meta_xmp` LONGTEXT NULL DEFAULT NULL ,
107
  `meta_makernote` LONGTEXT NULL DEFAULT NULL ,
1196 jpm 108
  `date_modification` DATETIME NOT NULL ,
109
  `date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.' ,
1195 jpm 110
  `publiable_eflore` TINYINT(1) NOT NULL DEFAULT 1 ,
1174 jpm 111
  PRIMARY KEY (`id_image`) ,
112
  INDEX `id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC) )
113
ENGINE = MyISAM
114
AUTO_INCREMENT = 265
115
DEFAULT CHARACTER SET = utf8
116
COLLATE = utf8_general_ci;
117
 
118
 
119
-- -----------------------------------------------------
120
-- Table `cel_mots_cles_obs`
121
-- -----------------------------------------------------
122
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
123
 
124
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_obs` (
125
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
126
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
127
  `mot_cle` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
128
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
129
  `bg` BIGINT NOT NULL ,
130
  `bd` BIGINT NOT NULL ,
131
  `niveau` INT NOT NULL ,
132
  `ce_mot_cle_obs_parent` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
133
  PRIMARY KEY (`id_mot_cle_obs`) )
134
ENGINE = InnoDB
135
DEFAULT CHARACTER SET = utf8
1185 jpm 136
COLLATE = utf8_general_ci
137
COMMENT = 'Table des mots clés, à utiliser avec des transactions !'
1174 jpm 138
ROW_FORMAT = COMPACT;
139
 
140
 
141
-- -----------------------------------------------------
142
-- Table `cel_obs_mots_cles`
143
-- -----------------------------------------------------
144
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
145
 
146
CREATE  TABLE IF NOT EXISTS `cel_obs_mots_cles` (
147
  `id_observation` BIGINT NOT NULL ,
148
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
149
  PRIMARY KEY (`id_observation`, `id_mot_cle_obs`) ,
150
  INDEX `observation` (`id_observation` ASC) )
151
ENGINE = MyISAM
152
DEFAULT CHARACTER SET = utf8
153
COLLATE = utf8_general_ci;
154
 
155
 
156
-- -----------------------------------------------------
157
-- Table `cel_zones_geo`
158
-- -----------------------------------------------------
159
DROP TABLE IF EXISTS `cel_zones_geo` ;
160
 
161
CREATE  TABLE IF NOT EXISTS `cel_zones_geo` (
162
  `id_zone_geo` VARCHAR(50) NOT NULL ,
163
  `code` VARCHAR(10) NOT NULL ,
164
  `nom` VARCHAR(255) NOT NULL ,
165
  `utm_secteur` CHAR(3) NOT NULL ,
166
  `utm_x` INT NOT NULL DEFAULT '0' ,
167
  `utm_y` INT NOT NULL DEFAULT '0' ,
168
  `wgs84_latitude` FLOAT NOT NULL ,
169
  `wgs84_longitude` FLOAT NOT NULL ,
170
  `date_modification` DATETIME NOT NULL ,
1195 jpm 171
  `ce_zone_geo_parente` VARCHAR(50) NULL DEFAULT NULL ,
1174 jpm 172
  `bg` BIGINT NULL ,
173
  `bd` BIGINT NULL ,
174
  `niveau` INT NULL ,
175
  PRIMARY KEY (`id_zone_geo`) ,
176
  INDEX `nom` (`nom` ASC) )
177
ENGINE = MyISAM
178
DEFAULT CHARACTER SET = utf8
179
COLLATE = utf8_general_ci;
180
 
181
 
182
-- -----------------------------------------------------
183
-- Table `cel_obs`
184
-- -----------------------------------------------------
185
DROP TABLE IF EXISTS `cel_obs` ;
186
 
187
CREATE  TABLE IF NOT EXISTS `cel_obs` (
188
  `id_observation` BIGINT NOT NULL AUTO_INCREMENT ,
189
  `ordre` BIGINT NOT NULL ,
190
  `ce_utilisateur` VARCHAR(32) NOT NULL ,
1195 jpm 191
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
192
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
193
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
194
  `nom_sel` VARCHAR(255) NULL DEFAULT NULL ,
195
  `nom_sel_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom sélectionné.' ,
196
  `nom_ret` VARCHAR(255) NULL DEFAULT NULL ,
197
  `nom_ret_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom retenu.' ,
198
  `nt` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro taxonomique.' ,
199
  `famille` VARCHAR(255) NULL DEFAULT NULL ,
200
  `nom_referentiel` VARCHAR(255) NULL DEFAULT NULL ,
201
  `ce_zone_geo` VARCHAR(50) NULL DEFAULT NULL ,
202
  `zone_geo` VARCHAR(255) NULL DEFAULT NULL ,
203
  `lieudit` VARCHAR(255) NULL DEFAULT NULL ,
204
  `station` VARCHAR(255) NULL DEFAULT NULL ,
205
  `milieu` VARCHAR(255) NULL DEFAULT NULL ,
206
  `latitude` DECIMAL(8,5) NULL DEFAULT NULL ,
207
  `longitude` DECIMAL(8,5) NULL DEFAULT NULL ,
208
  `geodatum` VARCHAR(25) NULL DEFAULT NULL COMMENT 'Référentiel géographique utilisé.\nPar exmple : WGS84' ,
1196 jpm 209
  `date_observation` DATETIME NULL DEFAULT NULL ,
1195 jpm 210
  `mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.' ,
211
  `commentaire` TEXT NULL DEFAULT NULL ,
212
  `transmission` TINYINT(1) NULL DEFAULT NULL ,
1196 jpm 213
  `date_creation` DATETIME NULL DEFAULT NULL ,
214
  `date_modification` DATETIME NULL DEFAULT NULL ,
215
  `date_transmission` DATETIME NULL DEFAULT NULL ,
1174 jpm 216
  PRIMARY KEY (`id_observation`) ,
217
  INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
218
  INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
219
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
220
  INDEX `nom_retenu` (`nom_ret` ASC) ,
221
  INDEX `date_observation` (`date_observation` ASC) )
222
ENGINE = MyISAM
223
DEFAULT CHARACTER SET = utf8
224
COLLATE = utf8_general_ci;
225
 
1196 jpm 226
 
1197 jpm 227
-- -----------------------------------------------------
228
-- Table `cel_utilisateurs_infos`
229
-- -----------------------------------------------------
230
DROP TABLE IF EXISTS `cel_utilisateurs_infos` ;
231
 
232
CREATE  TABLE IF NOT EXISTS `cel_utilisateurs_infos` (
233
  `id_utilisateur` INT NOT NULL ,
234
  `admin` TINYINT(1) NOT NULL DEFAULT 0 ,
235
  `licence_acceptee` TINYINT(1) NOT NULL DEFAULT 0 ,
236
  `preferences` LONGTEXT NULL DEFAULT NULL ,
237
  `date_premiere_utilisation` DATETIME NOT NULL ,
238
  PRIMARY KEY (`id_utilisateur`) )
239
ENGINE = MyISAM
240
DEFAULT CHARACTER SET = utf8
241
COLLATE = utf8_general_ci
242
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL.\nA utilis' /* comment truncated */;
243
 
244
 
245
-- -----------------------------------------------------
246
-- Placeholder table for view `cel_tapir`
247
-- -----------------------------------------------------
248
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);
249
 
250
-- -----------------------------------------------------
251
-- View `cel_utilisateurs`
252
-- -----------------------------------------------------
253
DROP VIEW IF EXISTS `cel_utilisateurs` ;
254
DROP TABLE IF EXISTS `cel_utilisateurs`;
255
CREATE  OR REPLACE VIEW `cel_utilisateurs` AS
256
	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,
257
		ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation
258
	FROM cel_utilisateurs_infos AS ui
259
		LEFT JOIN tela_prod_v4.annuaire_tela AS at ON (ui.id_utilisateur = at.U_ID);
260
 
261
-- -----------------------------------------------------
262
-- View `cel_tapir`
263
-- -----------------------------------------------------
264
DROP VIEW IF EXISTS `cel_tapir` ;
265
DROP TABLE IF EXISTS `cel_tapir`;
266
DELIMITER $$
267
CREATE  OR REPLACE VIEW `cel_tapir` AS
268
    SELECT concat(_utf8'urn:lsid:tela-botanica.org:cel:', o.id_observation) AS guid,
269
        o.id_observation AS observation_id,
270
        date_format(o.date_observation,'%Y-%m-%d') AS observation_date,
271
        o.nom_sel AS nom_scientifique_complet,
272
        o.nom_sel_nn AS nom_num_nomenclatural,
273
        o.nt AS nom_num_taxonomique,
274
        o.famille AS nom_famille,
275
        concat(_utf8'',zg.nom,' [INSEE:',zg.code,']') AS lieu_commune_nom_complet,
276
        zg.nom AS lieu_commune_nom,
277
        zg.code AS lieu_commune_code_insee,
278
        concat(zg.utm_secteur,' ',zg.utm_x,'m E ',zg.utm_y,'m N') AS lieu_commune_utm_coordonnees_bruts,
279
        zg.utm_secteur AS lieu_commune_utm_zone,
280
        zg.utm_x AS lieu_commune_utm_x,
281
        zg.utm_y AS lieu_commune_utm_y,
282
        o.latitude AS lieu_latitude,
283
        o.longitude AS lieu_longitude,
284
        o.geodatum AS lieu_geodatum,
285
        o.lieudit AS lieu_localite,
286
        o.prenom_utilisateur AS observateur_prenom,
287
        o.nom_utilisateur AS observateur_nom,
288
        o.courriel_utilisateur AS observateur_courriel,
289
        concat(o.prenom_utilisateur,_utf8' ',o.nom_utilisateur) AS observateur_intitule,
290
        o.commentaire AS observation_commentaire,
291
        concat(_utf8'<?xml version="1.0" encoding="UTF-8"?>',
292
            '<info>',
293
            '<nom_num_nomenclatural>',o.nom_sel_nn,'</nom_num_nomenclatural>',
294
            '<nom_num_taxonomique>',o.nt,'</nom_num_taxonomique>',
295
            '<nom_referentiel>',o.nom_referentiel,'</nom_referentiel>',
296
            '<saisie_date_transmission>',o.date_transmission,'</saisie_date_transmission>',
297
            '<saisie_date_creation>',o.date_creation,'</saisie_date_creation>',
298
            '<lieu_commune_utm_secteur>',o.utm_secteur,'</lieu_commune_utm_secteur>',
299
            '<ordre>',o.ordre,'</ordre>',
300
            '<nom_ret>',o.nom_ret,'</nom_ret>',
301
            '<num_nom_ret>',o.nom_ret_nn,'</num_nom_ret>',
302
            '<station>',o.station,'</station>',
303
            '<milieu>',o.milieu,'</milieu>',
304
            '<mots_cles>',o.mots_cles_texte,'</mots_cles>',
305
            '<zg_date_modification>',zg.date_modification,'</zg_date_modification>',
306
            '</info>') AS observation_information_complement,
307
        o.date_modification AS saisie_date_modification,
308
        o.date_creation AS saisie_date_creation
309
    FROM cel_obs AS o
310
        LEFT JOIN cel_zones_geo AS zg ON (o.ce_zone_geo = zg.id_zone_geo)
311
    WHERE o.transmission = 1;
312
 
313
$$
314
DELIMITER ;
315
 
316
;
317
 
318
 
1174 jpm 319
SET SQL_MODE=@OLD_SQL_MODE;
320
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
1196 jpm 321
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;