1377 |
raphael |
1 |
-- r1368: ajout de nom_referentiel à del_observations
|
|
|
2 |
DROP VIEW IF EXISTS `BASEDEL`.`del_observations` ;
|
|
|
3 |
DROP TABLE IF EXISTS `BASEDEL`.`del_observations`;
|
|
|
4 |
CREATE OR REPLACE VIEW `BASEDEL`.`del_observation` AS
|
|
|
5 |
SELECT id_observation, if((char_length(o.ce_utilisateur) <> 32),cast(o.ce_utilisateur as unsigned),0) AS ce_utilisateur, prenom_utilisateur, nom_utilisateur, courriel_utilisateur, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille,
|
|
|
6 |
ce_zone_geo, zone_geo, lieudit, station, milieu,
|
|
|
7 |
date_observation, mots_cles_texte, commentaire,
|
1379 |
raphael |
8 |
date_creation, date_modification, date_transmission, nom_referentiel
|
1377 |
raphael |
9 |
FROM `BASECEL`.`cel_obs` AS o
|
|
|
10 |
WHERE transmission = '1' ;
|
|
|
11 |
|
|
|
12 |
-- r1376: ajout de la vue v_del_image (version modifiée de del_image
|
|
|
13 |
DROP VIEW IF EXISTS `BASEDEL`.`v_del_image` ;
|
|
|
14 |
DROP TABLE IF EXISTS `BASEDEL`.`v_del_image`;
|
|
|
15 |
CREATE OR REPLACE VIEW `BASEDEL`.`v_del_image` AS
|
|
|
16 |
SELECT o.*, i.id_image, i.ordre AS i_ordre,
|
|
|
17 |
i.ce_utilisateur AS i_ce_utilisateur, i.prenom_utilisateur AS i_prenom_utilisateur, i.nom_utilisateur AS i_nom_utilisateur, i.courriel_utilisateur AS i_courriel_utilisateur,
|
|
|
18 |
i.mots_cles_texte AS i_mots_cles_texte, hauteur, largeur, date_prise_de_vue, i.commentaire AS i_commentaire, nom_original, publiable_eflore
|
|
|
19 |
FROM `BASECEL`.cel_obs AS o
|
|
|
20 |
INNER JOIN `BASECEL`.cel_obs_images oi ON oi.id_observation = o.id_observation
|
|
|
21 |
INNER JOIN `BASECEL`.cel_images i ON i.id_image = oi.id_image
|
|
|
22 |
WHERE o.transmission = '1';
|
|
|
23 |
|
1380 |
raphael |
24 |
-- r1853 de CEL: ajout des INDEX (note: pas de commentaires sur les INDEX < MySQL 5.5)
|
|
|
25 |
CREATE INDEX `date_transmission` ON `BASECEL`.`cel_obs` (`date_transmission` DESC) /* COMMENT "nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL" */ ;
|
|
|
26 |
CREATE INDEX `transmission` ON `BASECEL`.`cel_obs` (`transmission`) /* COMMENT "nécessaire à CEL/DEL qui officie avec transmission = 1" */ ;
|
1411 |
raphael |
27 |
|
|
|
28 |
|
|
|
29 |
DROP INDEX `tag_normalise_2` ON `BASEDEL`.del_image_tag;
|
|
|
30 |
DROP INDEX `ce_image_2` ON `BASEDEL`.del_image_tag;
|
1420 |
raphael |
31 |
|
|
|
32 |
|
|
|
33 |
|
|
|
34 |
DROP TABLE IF EXISTS `BASEDEL`.`del_image_stat`;
|
|
|
35 |
CREATE TABLE IF NOT EXISTS `BASEDEL`.`del_image_stat` (
|
|
|
36 |
`ce_image` BIGINT(20) NOT NULL COMMENT 'id_image (tb_cel.cel_images)',
|
|
|
37 |
`ce_protocole` INT(11) NULL DEFAULT NULL COMMENT 'un id de protocole',
|
|
|
38 |
`moyenne` SMALLINT NOT NULL DEFAULT 0 COMMENT 'moyenne des votes pour une image et un protocole donné',
|
|
|
39 |
`nb_tags` SMALLINT NOT NULL DEFAULT 0 COMMENT 'nombre de tags pictoflora associés à une image',
|
|
|
40 |
PRIMARY KEY (`ce_image`, `ce_protocole`, `moyenne`),
|
|
|
41 |
KEY `ce_image` (`ce_image`),
|
|
|
42 |
KEY `ce_protocole` (`ce_protocole`, `moyenne` DESC),
|
|
|
43 |
KEY `nb_tags` (`nb_tags` DESC)
|
|
|
44 |
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'table de stockage des statistiques utilisées pour les tri de PictoFlora';
|
|
|
45 |
|
|
|
46 |
INSERT INTO `BASEDEL`.`del_image_stat` (\
|
|
|
47 |
SELECT id_image, divo.ce_protocole, divo.moyenne, dit.ctags \
|
|
|
48 |
FROM `BASECEL`.`cel_images` ci \
|
|
|
49 |
LEFT JOIN \
|
|
|
50 |
( SELECT ce_image, ce_protocole, AVG(valeur) AS moyenne FROM del_image_vote \
|
|
|
51 |
GROUP BY ce_image, ce_protocole ) AS divo
|
|
|
52 |
ON ci.id_image = divo.ce_image \
|
|
|
53 |
LEFT JOIN \
|
|
|
54 |
( SELECT ce_image, COUNT(id_tag) as ctags FROM del_image_tag \
|
|
|
55 |
GROUP BY ce_image ) AS dit \
|
|
|
56 |
ON ci.id_image = dit.ce_image );
|