Citation:
Envoyé par
DJ2809
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
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.