Subversion Repositories eFlore/Applications.del

Rev

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

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