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

PHP & Base de données Discussion :

intégrer des données dans BDD MYSQL


Sujet :

PHP & Base de données

  1. #21
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2022
    Messages : 36
    Par défaut
    Bonjour,
    Comme vous avez pu le constater, l’extraction est un fichier plat dans le cadre de ce projet. C’est une API avec un token mise en ligne par une université US, dans le but de tester l’extraction des données avec différentes méthodes ( php , Talend..) Les enregistrements seront figés dans le temps, une ligne =patient, les adresses restent inchangées dans le temps. Cela étant, en règle générale, vous avez raison sur le fond, il faut partir sur plusieurs tables.
    Il existe d’autres projets , avec plusieurs tables ( traitements, biopsies , rechutes .) .ou en effet la conceptualisation est inéluctable. ( avec des cardinalités 1—n)
    Merci à vous
    Bonne soirée

  2. #22
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 602
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par DJ2809 Voir le message
    Bonjour,
    Comme vous avez pu le constater, l’extraction est un fichier plat dans le cadre de ce projet.
    C'est bien comme ça que je l'avais compris, il faut donc augmenter la taille de certaines colonnes comme l'adresse postale et l'adresse courriel et ne pas tenir compte des cardinalités ni de ma réponse à LaurentSC ci-après

    Citation Envoyé par laurentSc Voir le message
    Merci pour votre réponse escartefigue,

    pour bien comprendre votre MCD (y a peut-être 1 colonne sur 2 que je ne comprends pas), pourriez-vous donner un exemple d'enregistrement pour chaque table ? (j'utilise les termes du SQL)
    Voici un exemple de contenu (PK soulignées, FK suffixées #)

    PE_personne
    PE_ident =0020 -- PK de type attribué par le SGBD (auto_incrément pour MySQL, identity pour DB2 ou SQL server etc.)
    PE_nom = dupond
    PE_prenom = géraldine
    PE_ddn = 1985-06-12 -- date de naissance

    PE_ident =0044
    PE_nom = delgado
    PE_prenom = jose
    PE_ddn = 1962-11-25


    CL_courriel (géraldine dupond possède une seule adresse courriel alors que josé delgado en possède deux)
    PE_ident # = 0020 -- à cause de l'identification relative, la PK de la table PE_personne participe à la PK de CL_courriel
    CL_seqn = 0001 -- c'est la première (et la seule) adresse courriel de Mme Dupond (numéro de séquence =1)
    CL_valeur = gdupont30 -- début de l'adresse courriel
    CL_principal = 1 -- adresse courriel principale de Mme Dupond
    DM_ident#=3 -- qui pointe sur le domaine d'identifiant 3

    PE_ident # = 0044 -- idem, la PK de PE_personne participe à la PK de CL_courriel
    CL_seqn = 0001 -- c'est la première adresse courriel de M. Delgado
    CL_valeur = gdupont30 -- début de l'adresse courriel
    CL_principal = 0 -- adresse courriel secondaire de M. Delgado
    DM_ident#=1 -- qui pointe sur le domaine d'identifiant 1, c'est à dire orange.fr

    PE_ident # = 0044
    CL_seqn = 0002 -- c'est la deuxième adresse courriel de M. Delgado
    CL_valeur = gdupont30
    CL_principal = 1 -- adresse courriel principale de M. Delgado
    DM_ident#=3 -- qui pointe sur le domaine d'identifiant 3, c'est à dire google.fr


    DM_domaine
    DM_ident = 1 PK de type attribué par le SGBD (auto_incrément pour MySQL, identity pour DB2 ou SQL server etc.)
    DM_code = ORAN code domaine (en général, pour les typologies, on utilise un attribut code avec une contrainte unique)
    DM_nom = orange.fr

    DM_ident = 2
    DM_code = YAHO
    DM_nom = yahoo.fr

    DM_ident = 3
    DM_code = GOOG
    DM_nom = google.fr


    AD_adresse géraldine dupond possède deux adresses alors que josé delgado n'en a qu'une seule
    PE_ident # = 0020 -- à cause de l'identification relative, la PK de la table PE_personne participe à la PK de AD_adresse
    AD_seqn = 0001 -- c'est la première adresse Mme Dupond
    AD_ligne2 = batiment B, escalier A
    AD_ligne3 = 24 rue du général De Gaule
    AD_ligne4 = -- vide (inutilisée)
    AD_ligne5 = -- vide (inutilisée)
    VI_ident# = 4 -- foreign key permettant de faire le lien avec la ville (Vesoul)
    YA_ident#= 1 -- foreign key permettant de faire le lien avec le type d'adresse (1=adresse principale)

    PE_ident # = 0020
    AD_seqn = 0003 -- c'est la deuxième adresse de Mme Dupond, elle porte la séquence 3, car la 2 a été supprimée ou jamais "commitée"
    AD_ligne2 = Appartement 622
    AD_ligne3 = 26 bis rue du cardinal Lemoine
    AD_ligne4 = Les Clairvaux
    AD_ligne5 = -- vide (inutilisée)
    VI_ident# = 1 -- foreign key permettant de faire le lien avec la ville (Colmar)
    YA_ident#= 3 -- foreign key permettant de faire le lien avec le type d'adresse (3=adresse de livraison)

    PE_ident # = 0044
    AD_seqn = 0001 -- c'est la seule adresse de M. Delgado
    AD_ligne2 = 102 rue Jean Moulin
    AD_ligne3 = -- vide (inutilisée)
    AD_ligne4 = -- vide (inutilisée)
    AD_ligne5 = -- vide (inutilisée)
    VI_ident# = 2 -- foreign key permettant de faire le lien avec la ville (Angers)
    YA_ident#= 1 -- foreign key permettant de faire le lien avec le type d'adresse (1=adresse principale)


    YA_type_adr typologies des adresses
    YA_ident = 1
    YA_code = PRIN
    YA_libelle = adresse principale

    YA_ident = 2
    YA_code = FACT
    YA_libelle = adresse de facturation

    YA_ident = 3
    YA_code = LIVR
    YA_libelle = adresse de livraison


    VI_ville -- une même commune peut avoir plusieurs code postaux (auquel cas plusieurs lignes dans la table)
    VI_ident = 1
    VI_insee= 68066 -- code insee
    VI_cdpos = 68000 -- code postal
    VI_ville = colmar

    VI_ident = 2
    VI_insee= 49007 -- code insee
    VI_cdpos = 49000 -- code postal
    VI_ville = angers

    VI_ident = 3
    VI_insee= 12020-- code insee
    VI_cdpos = 12000 -- code postal
    VI_ville = rodez

    VI_ident = 4
    VI_insee= 70550-- code insee
    VI_cdpos = 70000 -- code postal
    VI_ville = vesoul


    Note : je me rend compte que j'ai donné le même nom VI_ville à l'entité-type (et donc la table qui en résulte) et à la colonne libellé, c'est une erreur.
    VI_libelle pour la colonne serait préférable.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Best practice pour insérer des données dans BDD
    Par legrandse dans le forum Laravel
    Réponses: 5
    Dernier message: 01/10/2019, 16h03
  2. Réponses: 1
    Dernier message: 19/04/2019, 20h33
  3. Réponses: 7
    Dernier message: 24/11/2016, 21h02
  4. [MySQL] S'assurer du bon enregistrement des données dans BDD mysql
    Par lilly91 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/12/2009, 14h14
  5. Réponses: 4
    Dernier message: 10/09/2007, 12h05

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