IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

Gestion Electronique de Documents


Sujet :

Décisions SGBD

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Février 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 198
    Points : 171
    Points
    171
    Par défaut Gestion Electronique de Documents
    Bonjour,

    J'espère que je poste sur le bon forum, sinon, n'hésitez pas à le déplacer.

    J'aimerais faire une base de données pour assurer le suivi et la diffusion de plans. Etant autodidacte et un peu débutant dans le domaine des bases de données, j'aimerais avoir votre avis sur la solution que j'ai retenue, pour être sûr de ne pas faire fausse route.

    Tout d'abord, le logiciel:
    J'ai choisi Access. D'abord, parce que je n'ai que ce système à ma disposition au boulot et à la maison. Il y a un ans, quand j'ai commencé à réfléchir sur la gestion des plans, Access+VBA m'a semblé le plus facile pour m'initier aux bases de données (je bosse chez moi "pour ma culture personnelle" en prenant comme exemples pratiques des solutions appliquables pour mon travail !). De plus, Access me semble convenir pour le nombre d'utilisateurs potentiels: une quinzaine de personnes (écriture et lecture) plus une quinzaine de consultants (lecture).
    Les tables seront sur le serveur de l'entreprise, le fichier mbd contenant les tables liées, formulaires, code VBA et requêtes sera copié du serveur vers les postes des utilisateurs en local.

    Ensuite, l'organisation et la liaison entre les tables:

    Un plan = un document
    Un plan possède (je zappe sur ses autres "attributs" qui sont moins importants):
    - un numéro
    - un titre
    - un indice: de 0 (zéro), A, B, C jusqu'à Z. Cet indice évolue tout au long de la vie d'un document.

    Diffusion du document:
    Un plan indicé est diffusé à une ou plusieurs personnes



    Je pense organiser la base comme suit:

    table Clients (table externe, l'annuaire des personnes filtrées par affaire):
    tabClients
    -*idClient (clé primaire)
    -NomClient
    -PrenomClient
    -TelClient
    etc.

    table définissant le document:
    tabDefDoc
    *idDoc (clé primaire)
    -#refIdClient (référence à l'auteur du plan)
    NoDoc (numéro du document)
    NomDoc (Titre du document)
    etc.

    table définissant les indices:
    tabInd
    -*idInd (clé primaire)
    -Indice (Indice: 0,A,B jusqu'à Z)

    table définissant le document d'une façon unique=document avec son indice:
    TabGestDoc
    -*idDocUnique (clé primaire)
    -#refIdDoc (référence au document "primaire")
    -#refIdInd (référence à l'indice)
    -#refIdClient (référence à l'auteur de la modif)
    -DateIndice (Date de la modif)
    etc.

    table définissant les diffusions aux personnes:
    tabDiffusions
    -*idDiffusion (clé primaire)
    -#refIdDocUnique (référence au document "unique", c'est à dire, le plan indicé qui est considéré comme un objet unique)
    -#refIdClient (référence à un enregistrement de la table client, personne à qui le plan a été diffusé).
    -DateDiffusion
    etc.

    Une image valant mieux qu'un long discours, voici les relations entre mes tables:


    Qu'en pensez vous ? Tous vos conseils et astuces sont les bienvenus.

    kenavo,

    Jean-Marc qui espère ne pas trop se planter dans sa réflexion...

  2. #2
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut !

    Tout d'abord, je ne connais pas Access. Je ne peux donc pas te conseiller sur ce choix là. Mais s'il t'est facile d'accès, pourquoi pas. Surtout qu'après, tu pourras réimplanter ta base de données sur un autre SGBD.

    Alors mon avis sur la modélisation de ta base de données :

    - Une table Client : Rien à dire là dessus.

    - Une table Indice : Pourquoi pas. Certains SGBD offrent des types énumérés ou des domaines qui permettent de spécifier les valeurs possibles d'un champ. C'est peut-être mieux qu'une table. Ici, il faut surtout remarquer que tu définis un nouveau type, alors que le but d'une table est plutôt de regrouper des données.

    - Une table Document : On dirait que tu as deux clés : idDoc et noDoc. Si le numéro d'un document est déjà unique, tu peux l'utiliser comme clé primaire. Mais si ce numéro de document est une chaîne de caractères alphanumériques éventuellement assez longue, il serait judicieux d'introduire un identifiant numérique (idDoc). Ca optimisera les liens de jointure.

    - Une table Modifications (c'est à ça que sert ta table TabGestDoc ?) : rien à dire si ce n'est le vocabulaire utilisé. Si j'ai bien compris l'utilité de la table, "idDocUnique" est en fait un "identifiant de modification d'un document". L'identifiant unique d'un document est déjà dans la table des documents.

    - Une table Diffusion : Je ne comprends pas pourquoi tu utilises "idDocUnique". Une diffusion concerne un document, autant prendre directement "idDoc". Ca te permettra de savoir rapidement quel document est concerné (sans réaliser de jointure).

    Une question à se poser quand on modélise un problème d'organisation de données, c'est "Est-ce que j'arriverai à exprimer toutes mes requêtes ?". Par exemple, pour connaître l'état actuel d'un document, tu feras une requête sur la table Modification et tu prendras l'indice où la date de modification est la plus récente.

    Mais peut-être tu auras aussi besoin de savoir quel client a réalisé la dernière modification avant une certaine diffusion. Et là, compare entre deux situations :

    1) Tu as utilisé idDocUnique dans Diffusion pour faire référence au document distribué

    2) Tu utilises idDoc dans Diffusion pour faire référence au document distribué

    Normalement, tu dois voir facilement qu'il est beaucoup plus simple d'utilisé idDoc !

    Bonne continuation. Et si je n'ai pas été clair pour quoi que ça soit, n'hésite pas

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Février 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 198
    Points : 171
    Points
    171
    Par défaut
    Salut,

    Merci de t'être penché sur ma question et d'avoir pris le temps d'y répondre

    - La table "indice" est faite uniquement pour remplir les combo box plus facilement, et éviter que quelqu'un mette un "a" minuscule au lieu d'un "A" majuscule par exemple, mais peut être que ce n'est pas trop performant et qu'une solution "en dur" (dans les propriétés de la combo box par exemple) serait mieux ?

    - La table "Document". Le IdDoc est là effectivement parce qu'un numéro de document peut être de type alphanumérique.

    - La table Gestion des documents: Tu as raison, elle devrait s'appeller Modification, c'est plus judicieux. La clé IdDocUnique est là effectivement pour identifier la modif d'une façon unique: tel que je vois le truc, un document à l'indice A n'est pas le même document à l'indice B ce qui donne deux objets uniques et différents. Est ce que je me trompe ?

    - La table diffusion: Je ne comprends pas trop ce que tu veux dire quand tu écris:
    Je ne comprends pas pourquoi tu utilises "idDocUnique". Une diffusion concerne un document, autant prendre directement "idDoc".
    Pour moi, c'est le document unique tel que défini dans mon paragraphe précédent qui est diffusé, pas le document "générique" qui peut prendre n'importe quel indice...
    Mais ta remarque "Est-ce que j'arriverai à exprimer toutes mes requêtes ?" (que je ne connaissais pas et qui me semble très utile ! merci pour le tuyau) me fait m'interroger sur la suite !
    Je vais analyser les 2 cas que tu donnes à la fin de ton message pour comprendre l'intérêt d'utiliser le "IdDoc" pluto que le "IdDocUnique".
    Mais cela me semble plus dur pour "regrouper" les documents ayant le même numéro de plan avec des indices différents. Je vais voir...

    En tout cas, merci pour ton aide !

    kenavo,

    Jean-Marc

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/01/2014, 13h49
  2. Recherche outil CMS pour faire de la Gestion Electronique de Documents
    Par mounia.n dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 27/01/2008, 01h06
  3. workflow Gestion electronique de Documents
    Par scdiop dans le forum Général Java
    Réponses: 2
    Dernier message: 18/09/2007, 23h03
  4. [Newbie] Gestion Electronique de Documents
    Par Trisoul dans le forum VB 6 et antérieur
    Réponses: 37
    Dernier message: 06/09/2007, 08h24
  5. problem Gestion electronique de documents opensource Maarch
    Par moabomotal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 16/12/2006, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo