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

Modélisation Discussion :

Relations plusieurs à plusieurs à trois tables, possible? nécessaire?


Sujet :

Modélisation

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Relations plusieurs à plusieurs à trois tables, possible? nécessaire?
    Bonjour à tous,

    J'essaie de faire une une base de donnée pour gérer l'espace et les acquisitions dans une voûte d'archives. Je m'y connais un peu dans Access, pour avoir fait des bases personnelles pour ma bibliothèque et celle au travail, mais je crois que j'ai dépassé mes capacités avec celle-là. Toutefois, je crois que si je pouvais à la compléter, je me faciliterais la vie au travail.

    Je cherche à gérer plusieurs tables qui ont des relations plusieurs à plusieurs, mais dont certaines ont aussi des relations un a plusieurs. Pour l'instant, j'ai mis des tables intermédiaires pour chaque relations plusieurs à plusieurs, mais je me demande si ce ne serais pas possible d'en faire une seule qui inclurait les trois tables impliqués (Fonds, Acquisition et Boite) et si oui, si ce serait pertinent de le faire en accord avec les relations entre les tables. Je joins le graphique (:oops: désolée je sais que c'est une peu contre l'étiquette du forum de mettre une pièce jointe dans le premier post, mais je crois que ce sera mieux pour visualiser) que j'ai fait dans Excel, pour m'aider à mieux visualiser les différentes tables et mieux définir les relations sans avoir à entrer tout dans Access et tout refaire.

    Merci en avance de vos suggestions et de votre aide. :)

    Nom : ModélisationBD.png
Affichages : 148
Taille : 132,4 Ko

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Bonjour auteure,

    Tu devrais passer par l'excellent Looping pour faire tes schémas (c'est gratuit !).

    J'ai repris quelques règles énoncées pour montrer un exemple de MCD (attention, il est incomplet) réalisé en cinq minutes :
    Nom : mcd-looping-acquisition-fonds.png
Affichages : 117
Taille : 171,9 Ko

    à gauche, j'ai bien renseigné Access comme SGBD cible.
    Le MLD obtenu :

    Nom : mld-looping-acquisition-fonds.png
Affichages : 115
Taille : 33,4 Ko

    Les requêtes CREATE TABLE peuvent être copiées-collées et exécutées une par une dans l'éditeur de requêtes Access. Les tables et relations sont prêtes dans Access et cela m'a pris quelques minutes de plus.

    Citation Envoyé par auteure
    je me demande si ce ne serais pas possible d'en faire une seule qui inclurait les trois tables impliqués (Fonds, Acquisition et Boite) et si oui, si ce serait pertinent de le faire en accord avec les relations entre les tables.
    Je regarde, et je reviens plus tard...

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Citation Envoyé par auteure Voir le message
    [...]mais je me demande si ce ne serais pas possible d'en faire une seule qui inclurait les trois tables impliqués (Fonds, Acquisition et Boite) et si oui, si ce serait pertinent de le faire en accord avec les relations entre les tables.
    D'après tes propres règles,
    Nom : regles-gestion-acquisition-fonds.png
Affichages : 115
Taille : 23,3 Ko
    il faut bien deux associations binaires plusieurs-à-plusieurs.

    Maintenant, d'après ton intention, ne pourrait-on pas énoncer les règles suivantes ?
    Pour un fond et une acquisition donnés, on peut avoir plusieurs boîtes
    Pour un fond et une boîte donnés, on peut avoir plusieurs acquisitions
    Pour une acquisition et une boîte données, on peut avoir plusieurs fonds

    Sache quand même que je nage dans le flou, n'ayant pas connaissance de ce que tu gères et la signification de ces acquisitions-boîtes-fonds. Si on peut avoir un éclairage là-dessus avec des exemples, ce serait plus simple

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    En fait, un fonds est un ensemble de documents (textuels, photos, audio, vidéo...) Notre Société historique acquiert des documents régulièrement et ils sont mis dans un fonds nouveau ou un fonds existant selon la pertinence ou l'intention du donateur.

    Nous avons un dépôt d'archives dans lesquelles les boites d'archives sont entreposées. Pour l'instant, toute la logistique entourant le placement des boites est décidée et connue par une seule personne (moi). Tout est localisé selon ma mémoire accumulée ces douze dernières années. Toutefois, vous comprenez que ce n'est pas viable, si je suis absente ou si je quitte. Parfois, je dois prendre plusieurs minutes à chercher une boite en particulier.

    La base doit servir à repérer les différentes boites d'un fonds d'archives (chaque tablette et tiroir à plans s'est vu attribuer un numéro (ça a tué mon ma Dymo!)) d'une part et d'autre part m'informer sur le contenu des fonds soit par le total (par fonds ou par boite) ou les acquisitions d'une année donnée. Les tables Statut et Type sont des informations facultatives sur l'avancement de traitement d'une boite et sur la taille de la boite ou du tiroir. Pour l'instant comment nous fonctionnons, c'est qu'une acquisition est limitée à un fonds, puisque chaque fonds différent entraine la signature d'une convention de donation distincte, même si le donateur amène des documents qui seront mis dans plusieurs fonds: ex.: Un donateur amène des documents pour 3 fonds différents, il signera 3 conventions de donation donc dans la base il y aura 3 acquisitions. Si vous pensez qu'induire une relations plusieurs à plusieurs entre la table Fonds et Acquisition serait plus simple même si en pratique on l'utilise pas, je vais suivre vos conseils. J'espère que cela vous aide.

    Merci pour la suggestion de logiciel, je vais regarder comment cela fonctionne!

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Citation Envoyé par auteure Voir le message
    Si vous pensez qu'induire une relations plusieurs à plusieurs entre la table Fonds et Acquisition serait plus simple même si en pratique on l'utilise pas, je vais suivre vos conseils.
    Je n'ai jamais mentionné de préférence, je fais des propositions suivies d'un point d'interrogation... Si ce n'est pas une relation plusieurs-à-plusieurs, on ne la créée pas comme une relation plusieurs-à-plusieurs, bien évidemment.
    J'essaie de comprendre ces Acquisition-fond-boîte et ce n'est pas simple. Elles contiennent quoi ces boîtes ? Des fonds ? On peut avoir un même fond dans plusieurs boîtes ? Je n'en sais rien...

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    En fait, un fonds d'archives peu littéralement être constitué d'un seul document, une photo par exemple, ou avoir un document spécial que l'on doit mettre dans une boite (ou un tiroir) à part, comme une grande carte. Donc pour éviter la perte d'espace, nous avons des boites qui contiennent plusieurs fonds d'archives ou plusieurs pièces de fonds différents. À l'inverse, j'ai des fonds d'archives qui sont constitué de plusieurs boites (dont un de 175).

    Désolée, je voulais pas vous mettre des mots dans la bouche, mais je me disais que peut-être que si chaque table avait une relation plusieurs à plusieurs entre elles, cela pourrait me permettre de facilité les relations.

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    OK, donc un fond (constitué parfois de plusieurs documents) peut être réparti dans plusieurs boîtes.

    Proposition à discuter :

    Nom : mcd-mld-looping-acquisition-fonds-2.png
Affichages : 107
Taille : 142,0 Ko

    Mais apparemment tu ne gères pas les documents individuellement. Donc si tu cherches un document en particulier, tu dois chercher dans toutes les boîtes où sont répartis les documents du fond, non ?

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Effectivement, la base va plutôt gérer des quantités de documents au lieu de documents en particulier. Nous avons des instruments de recherche de différents degrés selon l'avancement du traitement, qui sera identité par la table Statut ( Inventorié, En cours, Traité, Éliminé), qui permettent le repérage de documents spécifiques à une boite en particulier. La base facilitera la tâche d'aller chercher les documents/boites dans la voûte pour les amener au chercheur.

    C'est pourquoi j'avais mis dans la table Acquisition/Boite les différents type de document pour pouvoir ajouter le contenu des boites: ex 0,15 m.l. de doc texte, 148 photos, 2 cartes, 60 minutes d'audio. Cependant, ce n'est peut-être pas l'endroit approprié. J'avais l'intention d'utiliser les Requêtes pour additionner les différentes boites par exemple.

  9. #9
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Si par exemple un fond F1 comprend 50 photos. Tu peux répartir 20 de ces photos dans la boîte B1, et les 30 autres dans une boîte B2.
    Si j'ai un autre fond F2 qui comprend 100 photos, et que ces photos sont réparties dans la seule boîte B1.

    Ta base doit permettre de savoir que la boîte B1 comprend 20+100=120 photos (issues de F1 et F2), c'est bien ça ?

    Citation Envoyé par auteure
    ex 0,15 m.l. de doc texte
    m.l. ?

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Exact. Je veux pouvoir savoir ce qu'il y a dans une boite donnée( Boite 18 = F1 = 100 photos, F5 = 2 cartes et 0,10 m.l.) , mais aussi les boites associées à un fonds donné ( boite 01, 14, 18).

    M.l. est l'unité de mesure de quantité des documents textuels = mètre linéaire.

  11. #11
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    A voir si cela correspond à ta situation :

    Nom : mcd-mld-looping-acquisition-fonds-3.png
Affichages : 103
Taille : 139,7 Ko

    TypeDocument : par exemple Libelle='texte", Unité="m.l."

    FondTypeDocument : par exemple, le Fond F1, typeDocument=photo, quantité=50


    RepartitionBoites : par exemple,
    - le Fond F1, typeDocument=photo, boite=B1, quantiteRepart=20.
    - Le fond F1, typeDocument=photo, boite=B2, quantiteRepart=30.

    soit sur les 50 photos du fond F1, 20 photos sont réparties dans la boîte B1 et 30 dans la boîte B2.

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Archiviste
    Inscrit en
    Janvier 2024
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Archiviste

    Informations forums :
    Inscription : Janvier 2024
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je ne vois pas la pertinence d'avoir une table pour le donateur, puisque les donations multiples sont assez rare, donc je peux très bien entrer les noms à chaque fois. De plus, la base est plus pour la logistique des boites et des quantités de documents.

    Même chose pour les types de documents, ils sont toujours les mêmes (doc en m.l., iconographie/cartes/objets en unité, audio/vidéo en minutes) donc j'avais l'intention de mettre des zones de textes à côté dans les formulaires et les rapports.

    Je ne sais pas si ta configuration me permettra d'ajouter les documents d'une acquisition à un fonds et de leur attribuer une boite ou les jouter a une boite existante et un emplacement, la relation plusieurs à plusieurs que j'avais sur mon graphique entre Boite et Acquisition représentait cela.

  13. #13
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Je ne comprends pas la relation acquisition-Fond...

    Citation Envoyé par auteure Voir le message
    [...] c'est qu'une acquisition est limitée à un fonds, puisque chaque fonds différent entraine la signature d'une convention de donation distincte, même si le donateur amène des documents qui seront mis dans plusieurs fonds: ex.: Un donateur amène des documents pour 3 fonds différents, il signera 3 conventions de donation donc dans la base il y aura 3 acquisitions.
    Une acquisition est associée à 1 Fond, donc. Je dirais même que 1 acquisition = 1 fond (tu écris que 3 fonds différents entraîne 3 acquisitions)

    Mais dans ton fichier Excel du 1er message :
    Un fond peut avoir plusieurs acquisitions
    C'est contradictoire, où je ne comprends pas

  14. #14
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 703
    Points : 57 339
    Points
    57 339
    Billets dans le blog
    41
    Par défaut
    Bon, j'ai repris depuis le début... Et même si je n'ai pas tout compris, je pense avoir saisi l'intention, et je propose le schéma Access suivant :

    Nom : mcd-mld-looping-acquisition-fonds-4.png
Affichages : 82
Taille : 27,6 Ko

    Acquisition(#idFond, numAcquisition, ...)
    L'acquisition 1 du fond F1, l'acquisition 2 du fond F1, etc. L'acquisition 1 du fond F2, l'acquisition 2 du fond F2, l'acquisition 3 du fond F2, etc.
    L'acquisition est identifiée relativement au fond...

    repartitionBoites(#idFond, #numAcquisition, #idBoite, #idTypeDocument, quantite)

    Pour l'acquisition 1 du fond F1, il y a 50 m.l. de documents texte dans la boite B1
    Pour l'acquisition 2 du fond F1, il y a 300 photos dans la boite B2
    Etc.

    Combien de photos dans la boîte B1 ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SUM(quantite) as NbphotosB1 FROM repartitionBoites
    WHERE idBoite=B1 AND idTypeDocument=PHOTO

    Quelles sont les boites où sont répartis les documents du fond F1 ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT idBoite FROM repartitionBoites
    WHERE idFond=F1

    Pour la boite B2, donner la quantité de documents par type de documents (texte, photos, etc.) :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT idTypeDocument, SUM(quantite) FROM repartitionBoites
    WHERE idBoite=B2
    GROUP BY idTypeDocument

    etc.

    Est-ce que cela convient mieux ?

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/01/2013, 22h45
  2. Réponses: 4
    Dernier message: 25/04/2007, 17h45
  3. [Conception]Lien plusieurs à plusieurs entre trois table
    Par egg3774 dans le forum Modélisation
    Réponses: 5
    Dernier message: 20/04/2007, 17h44
  4. relation entre une table pour plusieurs sous tables
    Par nicolovitch dans le forum Access
    Réponses: 2
    Dernier message: 15/07/2006, 20h03
  5. Réponses: 4
    Dernier message: 14/09/2005, 16h29

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