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 :

Construction d'une base de données


Sujet :

Modélisation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Construction d'une base de données
    Bonjour,
    Je suis débutant en access et j'aurais besoin de votre aide.

    Je construit une base de donnée qui reprend des projets et des concurrents en rapport avec ces mêmes projets.
    je m'explique:

    -Table projets: code_projet, code_pays, marché, Code_concurrent_1, Code_concurrent_2, Code_concurrent_3, Code_concurrent_4.
    -Table concurrents: code_concurrent, nom_concurrent

    Chaque projet a donc 4 concurrents mais la liste de concurrents est toujours la même.

    Est-il possible d'avoir dans une table plusieurs clés étrangères qui dépendent de la même clé primaire et avec des noms différents?

    Autrement dit, dans la table projets, est-ce que tous les champs code_concurrents... pourront dépendre de la même clé primaire (Code_concurrent dans la table concurrents) et pourront porter des noms différents.

    Je vous remercie par avance et je vous rappelle que je suis débutant (=> je ne comprend pas le code...).

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour et bienvenue dans le monde merveilleux de Access.

    La réponse à ta question est Oui, tu peux avoir plusieurs realtions sur différents champs et avec une même table. Access gère cela en 'trichant', c-à-d qu'il va créer une table fictive qui sert à matérialiser la relation. Mais en réalité tu n'as toujours qu'une et une seule table.

    À propos de ta conception, lorsqu'on rencontre ce genre de problème, la solution habituelle est d'utiliser une table d'association. Ton architecture devient alors :

    Table projets :
    code_projet,
    code_pays,
    marché,

    Table concurrents :
    code_concurrent,
    nom_concurrent

    Table AssProjetsConcurrents :
    ClefAssociation
    Code_projet
    Code_Concurtent

    Avec un index unique sur Code_Projet + Code_Concurrent

    L'avantage de la table d'association est de permettre de pouvoir avoir une infinité (ou presque) de concurrents pour un projet donné et ceux SANS avoir à mdifier ton application.

    Elle permet aussi facilement de sortir la liste de tous les projets d'un concurent.

    Elle s'intégère parfaitement au mode de saisie Formulaire/Sous-Formulaire qui soutent Access.

    L'inconvénient majeur est que si tu veux absolulement avoir une saisie des tes données "en tableau", cela nécessite quelques accrobaties.

    A+





    Code_concurrent_1, Code_concurrent_2, Code_concurrent_3, Code_concurrent_4.
    -Table concurrents: code_concurrent, nom_concurrent

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci !
    Bonjour!
    Tout d'abord merci de ton aide, ça a super bien marché!!

    J'ai une dernière question:
    l'un de mes champs est sous la forme "memo" et doit contenir des informations qui peuvent dépasser les 255 caractères. Toutefois lorsque je sasie les données sur un formulaire et que je les enregistre, elles sont tronquées à 255 caractères.

    Comment faire pour que tous les caractères apparaissent?!

    Bonne fin de journée

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Vérifie que le champ utlisé est bien de type Mémo.

    Fait un test de saisie directement dans la table pour déterminer s'il n'y a pas un problème là.

    La seul cas que je connaisse de troncage des Mémo c'est lorsque le champ mémo est utilisé dans une requête GROUP BY.

    A+

Discussions similaires

  1. [AC-2003] Construction d'une base de données
    Par lunixienne dans le forum Modélisation
    Réponses: 10
    Dernier message: 01/09/2009, 16h40
  2. Réponses: 4
    Dernier message: 12/08/2006, 13h07
  3. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12
  4. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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