Re: [Pmb-cdi] Indexation décimale
Anne-Marie CUBAT
annemarie.cubat at gmail.com
Mar 19 Jan 20:59:07 CET 2010
Merci,
Savoir que tu lis mes mails - ne fût-ce que de temps en temps - me va droit
au coeur ;-)
Amicalement,
Anne-Marie
Le 19 janvier 2010 18:51, Eric ROBERT <erobert at sigb.net> a écrit :
> Superbe explication d'Anne-Marie (tu vois que je lis tes mails de temps en
> temps ;-)
>
> Pour la requête magique de purge:
> update notices left join indexint on indexint=indexint_id set indexint=0
> where indexint_id is null
>
> la selection des données :
> *notices left join indexint on indexint=indexint_id
>
>> toutes les notices, même si l'indeaxtion décimale n'est pas présente dans
>>> la table indexint
>>>
>>
> la restriction (clause where)
> *where indexint_id is null
>
>> parmi ces notices remontées par la sélection, ne conserver qe celles dont
>>> l'indexation décimale n'est pas présente dans la table indexint
>>>
>>
> l'action :
> *set indexint=0
>
>> on met l'indexation décimale de ces notices à 0
>>>
>>
> Voilà... et normalement... ça doit cristalliser !
>
> Eric (en pleine forme, préparation des RMLL demain ;-)
>
>
> ----- Original Message ----- From: "Anne-Marie CUBAT" <
> annemarie.cubat at gmail.com>
> To: "Mailing list des utilisateurs de PMB dans l'éducation / PMB Users
> list" <pmb-cdi at pmbservices.fr>
> Sent: Tuesday, January 19, 2010 6:10 PM
> Subject: Re: [Pmb-cdi] Indexation décimale
>
>
>
> Bonsoir,
>
> Je crois qu'il y a une confusion entre deux concepts.
>
> 1) Il y a la table indexint qui se contient la liste des indexations
> décimales.
> Les champs principaux sont
> l'id - bien sûr -indexint_id
> indexint_name (le n° dans la cotation Dewey ex. 510)
> indexint_comment (le commentaire, la traduction en clair, ex.
> mathématique)
> et encore deux autre qui ne nous intéressent pas dans ce contexte.
>
> La table indexint n'est que la liste de vos indexations décimales, cette
> table ne contient pas de lien vers les notices.
> Donc, la vider ne sert à rien, la remplacer par une ancienne version non
> plus.
>
> 2) Il y a d'autre part le lien entre la table indexint et vos notices.
> Vu qu'il y a une seule indexation décimale par notice (champ non
> répétable),
> l'info peut se trouver dans la table notices, et c'est là qu'elle est, dans
> le champ indexint de la table notices.
> Si vous voulez supprimer le lien entre ces 1018 notices et l'indexation
> décimale, c'est là qu'il faut agir. D'après ce que vous racontez, cela doit
> être un "reliquat" de votre ancienne erreur de manipulation.
> C'est le champ indexint de la table notices qu'il faudra vider à mon avis.
>
> Quant à vos 1018 notices qui sont liées automatiquement à la même cote
> Dewey, c'est possible si vous avez à chaque fois lancé une restauration
> entre deux étapes.
> Je m'explique.
>
> Imaginons que la cote Dewey litigieuse ait l'id n° 1.
> Suite à votre erreur de manipulation, dans la table notices, il y a 1018
> notices qui sont liées à cette cote Dewey - en termes informatiques, 1018
> notices ont la valeur 1 dans le champ indexint (qui contient l'id de la
> cote
> Dewey).
> Vous restaurez une ancienne version de la base, avec une table indexint
> vide.
> Mais vous n'avez rien changé dans la table notices, vous y avez toujours
> 1018 notices qui "pointent" vers cet id n° 1 !
> La première indexation décimale que vous allez créer portera le n° 1.
> Quelle
> que soit la valeur que vous lui donnerez, elle sera toujours utilisée par
> la
> table notices. Et le problème se recrée !
>
> Mais avant de dire comment supprimer cela, je dois être sûre de ne rien
> supprimer d'autre par mégarde.
>
>
> D'où mes questions
> 1) Dans administration - outils - maintenance sql - vérification des
> tables,
> est-ce que vous avez des messages d'erreur pour les tables, ou bien
> sont-elles toutes OK?
>
> 2) Est-ce qu'il faut conserver le lien entre certaines notices et certaines
> indexations décimale, ou bien est-ce qu'on peut supprimer tous ces liens?
>
> 3) Quels résultats vous donnent ces procédures-ci ? Des résultats bizarres
> mais prévisibles vu le problème que vous rencontrez?
>
> (procédures à encoder dans administration - aucun paramètre à configurer)
>
> a) Liste des indexations décimales
> SELECT CONCAT(' ',indexint_name) as 'Cote', indexint_comment as
> 'Commentaire' FROM indexint ORDER BY indexint_name
>
> Un peu de statistiques !
>
> b) Nombre de cotes Dewey dans la table indexint
> SELECT COUNT(*) AS 'Nombre de cotes Dewey dans la table indexint' FROM
> indexint
>
> c) Nombre de cotes Dewey différentes dans la table notices
> SELECT COUNT(DISTINCT indexint) as 'Nombre de cotes Dewey différentes dans
> la table notices' FROM notices
>
> Et éventuellement celle-ci
> d) Liste des notices triées par indexation décimale et par titre
> N.B. Cela risque d'être long ! Tout dépend du nombre de notices déjà
> cataloguées
> SELECT CONCAT(' ',indexint_name) as 'Cote', indexint_comment as
> 'Commentaire', tit1 as Titre FROM indexint, notices WHERE
> indexint=indexint_id ORDER BY indexint_name, tit1
>
> Tenez-moi au courant des résultats, et je verrai un peu clair.
> Je tiens à éviter de vous dire d'emblée "faites ceci ou cela" de peur de
> vous faire perdre des données.
>
> Bonne soirée,
> Anne-Marie Cubat
>
>
> Le 19 janvier 2010 16:32, <Claire.Rumeau at ac-toulouse.fr> a écrit :
>
> Bonjour,
>>
>> Dans l'onglet Autorités, si je crée une nouvelle indexation décimale, j'ai
>> d'emblée un millier (1018 exactement) de notices qui l'utilisent (je m'en
>> aperçois en cliquant sur "utilisation" ) et ce avant même que je n'ai le
>> temps de créer un panier de notices pour ajouter ma nouvelle indexation
>> décimale par procédure d'action !! bizarre, non ?
>>
>> Je restaure alors la sauvegarde faite juste avant, je lance une
>> maintenance
>> MySQL, je crée une nouvelle indexation (par superstition, je change
>> l'intitulé) en autorités et j'ai à nouveau 1018 notices qui utilisent
>> cette
>> nouvelle indexation.
>>
>> Je ne comprends pas ce qui se passe. Il y a un mois, j'avais ajouté une
>> indexation décimale à un panier de notices puis je m'étais rendu compte
>> que
>> j'avais fait une mauvaise équation. N'ayant pas de procédures pour vider
>> le
>> champ indexation décimale (je ne voulais pas remplacer mais bien
>> supprimer),
>> une collègue m'avait conseillée de restaurer une sauvegarde sauf la table
>> indexation (je n'avais coché que indexit au moment de la restauration).
>> Ceci
>> avait bien fonctionné. Voilà pour le contexte.
>>
>> Si quelqu'un a déjà eu ce problème, ou si quelqu'un sait rédiger une
>> procédure pour vider le champ indexation décimale ..... Bref si quelqu'un
>> a
>> une idée...
>>
>> Cordialement,
>>
>> Claire Rumeau
>> Collège Joseph Rey
>> Avenue Raymond Sommer
>> 31480 Cadours
>> _______________________________________________
>> Pmb-cdi mailing list
>> Pmb-cdi at pmbservices.fr
>> http://lists.pmbservices.fr/cgi-bin/mailman/listinfo/pmb-cdi
>>
>> _______________________________________________
> Pmb-cdi mailing list
> Pmb-cdi at pmbservices.fr
> http://lists.pmbservices.fr/cgi-bin/mailman/listinfo/pmb-cdi
>
> _______________________________________________
> Pmb-cdi mailing list
> Pmb-cdi at pmbservices.fr
> http://lists.pmbservices.fr/cgi-bin/mailman/listinfo/pmb-cdi
>
More information about the Pmb-cdi
mailing list