|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 106 ![]() |
bonjour à tout le monde,
mon problème est comme suit : je suis en train de créer mes tables, j'ai rencontré un problème dans le choix de clé primaire. j'ai trois champs qui sont 1- CIN 2- Nom 3-Prénom un client est identifié par son CIN généralement, mais parfois cette information est manquante d'une façon on utilise, lors d'un travail manuel, le Nom et le Prénom du client, mais sachant qu'on peut prouver par hasard deux clients qui possèdent même nom et prénom alors dans ce cas on ne peut pas identifier un client par son nom et prénom dans une base de données. comment faire ??? si on a des clients dont on ne connait pas leur CIN et on ne peut pas les identifier par leur Nom et prénom. merci de m'aider pour la résolution de ce problème. j'attends vos réponses. amicalement. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Il faut rajouter une première colonne id_client, qui sera auto incrémentée et qui ne signifiera rien fonctionnellement.
Dans les autres tables, vous ferez toujours référence à vos clients par cet id et uniquement cet id. Rajoutez une contrainte unique nullable sur la colonne CIN afin de garantir au moins l'unicité de celle-ci.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
![]() ![]() |
Qu'est-ce que "CIN" ? Apparemment, il s'agit d'un attribut doté d'une signification particulière. Ça constituerait donc une mauvaise clé, à plus forte raison si ce CIN n'est pas toujours connu.
Il faut créer un identifiant artificiel de type entier et auto-incrémenté. C'est d'ailleurs la meilleure pratique pour toutes les tables issues des entités du MCD. Par voie de conséquence, les clés étrangères seront de type entier.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 3 878 ![]() |
C'est quoi le CIN, le n° de client ??? Celui-ci doit alors être obligatoirement renseigné, unique et non null. Dans ce cas, il pourrait servir de clé mais il faudrait alors corriger la base.
S'il est tout à fait normal que le CIN se retrouve non renseigné et que cela signifie quelque chose dans le modèle de données il faut alors créer un autre attribue comme le suggère Waldar. Mais si la base est déjà remplie de données, il faudra de toute façon passer par une phase de correction. Corriger le CIN ou corriger un autre attribut qui pourrait faire doublon (si le CIN peut servir de clé), je préfère la première solution. J'aime pas les attributs doublons. Si le CIN ne peut pas servir de clé, la question ne se pose pas évidemment
__________________
Sevyc64 --- Le partage est notre force NON AU LANGAGE SMS & FAUTES VOLONTAIRES SUR LES FORUMS |
|
|
00
|
|
|
#5 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 106 ![]() |
[quote=CinePhil;5761484]
Citation:
Citation:
Citation:
merci d'avance pour l'aide. |
|||
|
|
00
|
|
|
#6 | |
![]() ![]() |
Citation:
J'ai peur de recevoir une facture de chez toi si un homonyme t'achète 200 000 trucs à 10 euros ! ![]() Et je trouverais un peu bizarre que mon numéro de carte d'identité se retrouve dans une base de données d'une société commerciale ! ![]() Il va falloir nous en dire un peu plus sur ton processus pour qu'on puisse t'aider davantage.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#7 | |||||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
il ne faut pas confondre cle primaire et index dans les procedures de recherche pour la cle primaire, il faut suive le conseil de Cinephil Citation:
Code :
genre : Code :
)de toute facon, laCNI (meme vous aviez toutes les donnees) n'est pas une bonne cle primaire. Imaginons, que la CNI deviennent la CEI (europeenne)... a+ olivier |
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com