Subversion Repositories eFlore/Applications.del

Rev

Rev 1411 | Rev 1423 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1411 Rev 1420
1
-- r1368: ajout de nom_referentiel à del_observations
1
-- r1368: ajout de nom_referentiel à del_observations
2
DROP VIEW IF EXISTS `BASEDEL`.`del_observations` ;
2
DROP VIEW IF EXISTS `BASEDEL`.`del_observations` ;
3
DROP TABLE IF EXISTS `BASEDEL`.`del_observations`;
3
DROP TABLE IF EXISTS `BASEDEL`.`del_observations`;
4
CREATE OR REPLACE VIEW `BASEDEL`.`del_observation` AS 
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, 
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, 
6
        ce_zone_geo, zone_geo, lieudit, station, milieu, 
7
        date_observation, mots_cles_texte, commentaire, 
7
        date_observation, mots_cles_texte, commentaire, 
8
        date_creation, date_modification, date_transmission, nom_referentiel
8
        date_creation, date_modification, date_transmission, nom_referentiel
9
    FROM `BASECEL`.`cel_obs` AS o
9
    FROM `BASECEL`.`cel_obs` AS o
10
    WHERE transmission = '1' ;
10
    WHERE transmission = '1' ;
11
 
11
 
12
-- r1376: ajout de la vue v_del_image (version modifiée de del_image
12
-- r1376: ajout de la vue v_del_image (version modifiée de del_image
13
DROP VIEW IF EXISTS `BASEDEL`.`v_del_image` ;
13
DROP VIEW IF EXISTS `BASEDEL`.`v_del_image` ;
14
DROP TABLE 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
15
CREATE OR REPLACE VIEW `BASEDEL`.`v_del_image` AS
16
    SELECT o.*, i.id_image, i.ordre AS i_ordre,
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,
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
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
19
    FROM `BASECEL`.cel_obs AS o
20
    INNER JOIN `BASECEL`.cel_obs_images oi ON oi.id_observation = o.id_observation
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
21
    INNER JOIN `BASECEL`.cel_images i ON i.id_image = oi.id_image
22
    WHERE o.transmission = '1';
22
    WHERE o.transmission = '1';
23
 
23
 
24
-- r1853 de CEL: ajout des INDEX (note: pas de commentaires sur les INDEX < MySQL 5.5)
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" */ ;
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" */ ;
26
CREATE INDEX `transmission` ON `BASECEL`.`cel_obs` (`transmission`) /* COMMENT "nécessaire à CEL/DEL qui officie avec transmission = 1" */ ;
27
 
27
 
28
 
28
 
29
DROP INDEX `tag_normalise_2` ON `BASEDEL`.del_image_tag;
29
DROP INDEX `tag_normalise_2` ON `BASEDEL`.del_image_tag;
30
DROP INDEX `ce_image_2` ON `BASEDEL`.del_image_tag;
30
DROP INDEX `ce_image_2` ON `BASEDEL`.del_image_tag;
-
 
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 );