1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut Conseils pour la modélisation d'une base de données

    Bonjour à tous,

    je sollicite votre aide pour la modélisation de ma base de données.

    Avant de vous exposer la situation, il faut savoir que les données sont dans un fichier excel (récupérés via un formulaire) et que j'ai déjà tenté un import de Excel
    vers Access (via le wizard) mais je ne comprends pas pourquoi j'ai des données redondantes dans une des tables, des données manquantes dans d'autres...

    Je pense donc le faire manuellement. ça me permettra au passage de mieux comprendre les choses.

    Je vous présente le projet :

    j'ai des clients : nom, prénom, date de naissance, ville de naissance, pays de naissance, adresse postale, ville, pays de résidence, numéro de téléphone, mail, nombre d'enfant, nationalité.

    Client à un conjoint ou non. Si oui il faudra renseigner les mêmes infos pour lui.

    Client peut avoir des enfants et donc il nous faudra : nom de chaque enfant, prénom, sexe, date de naissance, ville de naissance, pays de naissance.

    Voila comment je comptais organiser la chose :

    tClients
    ID_Clients
    NOM
    PRENOM
    Date, lieu naissance
    Nom conjoint
    Prénom conjoint
    Date, lieu naissance conjoint
    adresse postale
    Mail
    Tel
    ID_Pays (Pays de naissance)
    ID_Pays (Pays de résidence)
    ID_Pays (Nationalité)
    ID_Pays (Pays de naissance conjoint)
    ID_Pays (Nationalité conjoint)
    ID_Enfant
    ...


    tPays
    ID_Pays
    Fançais
    Belgique
    etc...

    tEnfant
    ID_Enfant
    ID_Client (parents)
    ID_Sexe
    NOM
    PRENOM
    Date naissance
    ID_Pays (Pays de naissance)

    tSexe
    ID_Sexe
    Feminin
    Masculin

    Liaison entre tClients et tEnfant
    ID_Clients
    ID_Enfants
    nombre_enfant

    Question : Comment trouvez-vous cette organisation des données ? Comment pourrait-on l'améliorer ?

    Question : Puis-je utiliser la table tPays pour renseigner le pays de naissance, de résidence et l'utiliser pour la nationalité ?

    Ensuite l'idée est de mettre en place des formulaires par service :
    service 1 ne peux afficher que certaines infos dont il a besoin
    Service 2 d'autres infos
    etc...

    Faire des formulaires de consultation, sans droits de modification pour éviter les bavures

    Question : Est-il possible de garder d'anciens enregistrements lorsqu'une valeur est modifiée ?

    Merci par avance

  2. #2
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    Bonjour
    Pour ce qui est de la structure des tables

    tClients
    ID_Clients
    NOM
    PRENOM
    Date
    lieu naissance
    Nom conjoint
    Prénom conjoint
    Date, lieu naissance conjoint
    adresse postale
    Mail
    Tel
    Pays de naissance
    Pays de résidence
    Nationalité
    Pays de naissance conjoint
    Nationalité conjoint
    ID_Enfant
    ID_Sexe

    tPays
    ID_Pays
    Nom_pays

    tSexe
    ID_Sexe
    Sexe


    Les champs pays de naissance, pays de résidence, pays du conjoint de la table tClient vont pointer vers Nom_pays de la table tPays

    Je ne vois l'importance de ceci
    Liaison entre tClients et tEnfant
    ID_Clients
    ID_Enfants
    nombre_enfant
    Pour le reste çà marche.

    Question 1 (voir ce qui précède )
    Question 2 oui
    Question 3 oui. C'est toi qui définit les règles de gestion de tes données

    Cordialement.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Super merci pour ta réponse

    Je ne vois l'importance de ceci
    Liaison entre tClients et tEnfant
    ID_Clients
    ID_Enfants
    nombre_enfant
    En fait je comptais ajouter cela car les enfants ont (souvent) le même nom que leurs parents donc faire le lien entre parents et enfants sans avoir à ressaisir le nom par exemple.

    Ou dois-je indiquer le nombre d'enfants ? leur(s) prénom(s) ? Dans la table tclients ?

  4. #4
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    Ou dois-je indiquer le nombre d'enfants ? leur(s) prénom(s) ? Dans la table tclients ?
    Bien sûr dans la table tEnfant qui est bien structuré tel que tu l'as fait.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2012
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : octobre 2012
    Messages : 1 448
    Points : 2 634
    Points
    2 634

    Par défaut

    Bonjour looping_92, bertiny,

    Quelques petites remarques:

    1- NOM est un mot réservé d'Access. Voici la liste: https://support.office.com/fr-fr/art...ID=HA010341461
    2- Une bonne pratique est de distingué si possible la provenance du champ donc dans ton exemple le champ NOM de la table client pourrait devenir Nom_Client et PRENOM devenir Prenom_Client, la table enfant le champ NOM deviendrait Nom_Enfant etc.... Ainsi si une requête avait la table client et enfant tu ne serais pas obligé d'écrire pour le champ NOM de la table client : tClients.NOM mais juste Nom_Client.
    3- Le champ date, lieu de naissance devrait être 2 champs distincts. De plus date est un autre mot réservé d'Access, donc Date_Naissance serait une solution.

    Bonne journée
    si tout est OK, n'oubliez pas de cliquer sur

  6. #6
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    Merci Robert pour le relais. Il ne reste qu'à notre ami de mettre en pratique ces remarques.
    Cordialement.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Désolé pour la réponse tardive. Merci à vous messieurs pour ces conseils

    je mets tout cela en oeuvre et vous soumettrai le resultat.

  8. #8
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Voici à quoi ressemble mes tables :

    Nom : Les_Tables.PNG
Affichages : 81
Taille : 29,4 Ko

    Qu'en pensez-vous ?

    Bon, j'avoue que j'ai un peu de mal à faire les différentes relations.

    Questions :

    je vois bien la relation entre IdEnfant de tEnfants et IdEnfant de tClients

    1. Ai-je besoin d'en faire une autre entre IdParent de tEnfants et IdClient de tClients ? Lorsque je tente de faire une seconde relation entre deux tables j'ai le message suivant : "Une relation existe déja, voulez-vous modifier la relation existante..."
    2. De plus comment faire pour établir la "relation" entre NomPays de tPays et les différents champs (PaysNaissanceEpoux1, PaysNaissanceEpoux2, PaysResidence...) s'y rapportant dans la table tClients par exemple ?
    3. Je me pose la même question pour Civilité dans tCivilité et CivilitéEpoux1 et CivilitéEpoux2 de tClients ?


    Est-ce dans mon formulaire que cette "realtion" / ou ce "lien" sera fait(e) ?

    Merci pour vos éclairages.

  9. #9
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    Bonjour
    Tu auras plutôt un truc de ce genre
    Nom : client.PNG
Affichages : 75
Taille : 21,1 Ko

    Epouse doit constituer une table à part entière comme je l'ai décris.

    1- Non. La relation que tu as établis suffit
    2- Voir comment je l'ai fait.
    3 -Si la Civilité doit apparaître chez l'épouse alors tu crées un champ ID_Civilite dans la table TEpouse et tu établis une relation entre ID_Civilite de la table TCivilite et ID_Civilite de la table TEpouse.

    Cordialement.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  10. #10
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Merci Bertiny pour cette proposition / correction,

    ne faut-il pas une relation entre (?):
    • tCivilité et tEnfant
    • tCivilité et tEpouse


    Dans mon cas, le client peut être un Mr ou une Dame. N'est-ce pas génant de couper la table client en 2 tables distinctes comme tu le proposes ?
    Ce que je veux dire par là c'est qu'un client n'est pas forcément un homme et en couple.


    Merci.

  11. #11
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    ne faut-il pas une relation entre (?):
    tCivilité et tEnfant
    tCivilité et tEpouse
    Voir ce que j'ai proposé à la suite du post. Celà reste aussi vrai pour TEnfant en ce qui concerne la civilité.
    Dans mon cas, le client peut être un Mr ou une Dame. N'est-ce pas génant de couper la table client en 2 tables distinctes comme tu le proposes ?
    Dans ce cas, tu vas renommer la table TEpouse par TConjoint (car si le client est un homme alors "son conjoint " est une femme et vice versa) alors elle aura un sens en le faisant ainsi.
    Ce que je veux dire par là c'est qu'un client n'est pas forcément un homme et en couple.
    au cas où un client n'est pas en couple alors le champ NomConjoint (bien évidemment après avoir renommer la table comme je l'ai dit plus haut ), restera vide.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  12. #12
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Merci pour toutes ces réponses.

    Je modifie tout cela et je reviens en faire profiter tout le monde

  13. #13
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Voici les dernières modifications

    Nom : Les_Tables_2.PNG
Affichages : 70
Taille : 58,1 Ko

    Est-ce correct selon vous ?

    Merci.

  14. #14
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    Çà marche

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  15. #15
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Cool merci

    Nom : Formulaire_KO.PNG
Affichages : 61
Taille : 16,5 Ko

    J'ai cette erreur lorsque je tente de remplir un formulaire. J'ignore si cela est dû aux relations...
    J'ai tenté pleins de choses mais toujours le même résultat...

    En revanche, lorsque je décoche "Appliquer l'intégrité référentielle" de toutes les relations, les données saisies dans le formulaire sont biens enregistrées dans la BD.

    Avez-vous une idée d'où cela peut-il bien venir ?

  16. #16
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 812
    Points : 48 842
    Points
    48 842

    Par défaut

    Bonjour

    Une remarque sur l'adresse résidence.

    Une adresses peut-être composée de plusieurs lignes et le code postal et la ville sont à mettre dans deux champs à part.

    Donc pour l'adresse il faudrait 4 champs d'adresses :

    Ad1
    Ad2
    Ad3
    Ad4

    Deux champs pour le code postal et la ville

    Code_postal
    Ville

    Voilà comment il faut structurer une adresse, car si un jour tu es amené un faire un mailing, ta première structure ne te permettra pas de faire une adresse postale normalisée.

    Philippe
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

  17. #17
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    Bonjour Philippe,

    merci pour la précision. Je corrige

  18. #18
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    En revanche, lorsque je décoche "Appliquer l'intégrité référentielle" de toutes les relations, les données saisies dans le formulaire sont biens enregistrées dans la BD.
    En réalité l'intégrité référentielle ne doit pas poser de problème. En créant la civilité dans les tables TClient, TConjoint et TEnfant, tu mets le type de données à "Assistant de Liste de choix". Ceci est aussi valable pour les champs PaysResidence, PaysNaissance des mêmes tables. Car tu auras juste à faire un choix sur les valeurs stockées dans les tables TPays et TCivilite.

    Ce que Access va faire en arrière plan c'est de créer des tables TPays_1, TPays_2,.. lorsque Pays pointe plus d'une fois dans la même table. Même chose pour civilité.

    Cordialement.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  19. #19
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Alimentation

    Informations forums :
    Inscription : décembre 2017
    Messages : 12
    Points : 2
    Points
    2

    Par défaut

    J'ai modifié les champs en conséquences, mais l'erreur perdure...

    Les modifications sont-elles correctes ? Modif faites dans les 3 tables : tclients, tconjoint et tenfants et pour les différents attributs (nationalité, pays de naissance et de résidence)

    Nom : Type_Données.JPG
Affichages : 50
Taille : 87,0 Ko

    Une idée ?

    Merci.

  20. #20
    Membre éclairé Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 718
    Points : 835
    Points
    835

    Par défaut

    PaysResidence doit aussi être de type numérique (le créer par l'assistant de liste de choix, qui pointera sur le champ NomPays de la table TPays). Ceci est valable pour toute les autres tables où tu souhaites utiliser : le nom du pays, la civilité. Tu feras le même processus.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/07/2015, 10h55
  2. Petit conseil pour un projet avec une base de données
    Par PasTaper dans le forum Débuter
    Réponses: 2
    Dernier message: 06/08/2012, 17h05
  3. [Débutant] Petit conseil pour mise à jour d'une base de données
    Par Nixeus dans le forum C#
    Réponses: 3
    Dernier message: 01/12/2011, 11h56
  4. Conseil pour le choix d'une base de données
    Par gta126 dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/06/2008, 09h40
  5. Réponses: 4
    Dernier message: 22/09/2004, 09h17

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