{Access} Null et clé étrangère?
Fermé
js8bleu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
-
11 oct. 2009 à 03:03
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 12 oct. 2009 à 17:04
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 12 oct. 2009 à 17:04
A voir également:
- {Access} Null et clé étrangère?
- Clé windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Clé bootable windows 10 - Guide
- Clé usb 2to vrai ou faux - Accueil - Stockage
- Cle hdmi tv - Guide
5 réponses
js8bleu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
4
11 oct. 2009 à 13:56
11 oct. 2009 à 13:56
Quelqu'un pourrait-il venir à me secours s'il vous plaît? Aidez-moi, je vous en prie.
Merci d'avance.
Cordialement.
Merci d'avance.
Cordialement.
Bonjour,
Je te conseille de modifier la structure de cette façon :
C'est à dire mettre une unique case de numéro de valeur dans la table propriété et une valeur qui vaudra 0 (alphanum) ou 1 (num)
choisir le type numérique le plus petit, genre TINYINT ou SMALLLINT.
De cette façon :
Ta table Propriété a des enregistrement plus petits, puisque la taille d'une des colonnes restantes a été diminuée.
Il y aurait une deuxième option, mais qui est moins économe en place :
Cette version,donne une table de propriétés encore plus petite, mais par ontre les tables de valeurs ont une colonne de plus, et donc le gain est moindre.
Je te conseille de modifier la structure de cette façon :
Examen(numexamen, dateexamen, numpatient) Propriete(numpropriete, numexamen, idvaleur, typeProp) Valeurnumerique(idvaleur, valnumerique) Valeuralphanumerique(idvaleur, valalphanumerique)
C'est à dire mettre une unique case de numéro de valeur dans la table propriété et une valeur qui vaudra 0 (alphanum) ou 1 (num)
choisir le type numérique le plus petit, genre TINYINT ou SMALLLINT.
De cette façon :
Ta table Propriété a des enregistrement plus petits, puisque la taille d'une des colonnes restantes a été diminuée.
Il y aurait une deuxième option, mais qui est moins économe en place :
Examen(numexamen, dateexamen, numpatient) Propriete(numpropriete, numexamen, typeProp) Valeurnumerique(numexamen, numpropriete, valnumerique) Valeuralphanumerique(numexamen, numpropriete, valalphanumerique)
Cette version,donne une table de propriétés encore plus petite, mais par ontre les tables de valeurs ont une colonne de plus, et donc le gain est moindre.
js8bleu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
4
11 oct. 2009 à 20:13
11 oct. 2009 à 20:13
Bonjour java4ever et Merci pour ton aide. En effet, ta première solution me semble très bonne. Le seul hic c'est que dans Access, il n'y a ni TINYINT ni SMALLINT (mais ce n'est pas bien grave). Concernant ta deuxième solution soit, je n'ai pas compris soit je pense qu'il faut remplacer :
par
Est-ce bien cela?
Merci d'avance.
Cordialement.
Valeurnumerique(numexamen, numpropriete, valnumerique) Valeuralphanumerique(numexamen, numpropriete, valalphanumerique)
par
Valeurnumerique(numvaleurnumerique, numpropriete, valnumerique) Valeuralphanumerique(numvaleuralphanumerique, numpropriete, valalphanumerique)
Est-ce bien cela?
Merci d'avance.
Cordialement.
Bonjour js8bleu,
et excuses-moi, je n'avais pas fait, à tort, une réponse orientée ACCESS, mais seulement globale.
Sous ACCESS, je pense que tu peux utiliser le type 'Octet' ou même le type 'Oui/Non' s'il n'y a que 2 cas possibles
Pour ce qui est de la solution 2, même si ce n'est effectivement pas celle dont tu as besoin,
mais ce que j'ai écrit est bien ce à quoi je pense (il faut prendre les 4 tables en compte):
Dans ce cas, je fais l'association suivante : la clé primaire d'une propriété étant supposée être <numpropriete, numexamen>, on peut
associer :
1) une valeur (si les clés primaires des tables Valeurnumerique et Valeuralphanumerique sont aussi <numpropriete, numexamen>
2) plusieurs valeurs si pour ces deux tables de valeurs, il y a seulement un index non unique sur ces colonnes, mais pas de KP.
En fait, on peut même aller plus loin dans l'économie si la clé primaire de ta table Propriete est uniquement <numpropriete>
En effet cela devient :
Et là, on a encore gagné de la place, puisque la table propriété a une colonne de moins que dans ta version initiale, mais il a l'hypothèse sur la clé primaire qui n'est pas forcément la bonne solution !
Bon, c'est juste un exercice de style, puisque, comme tu l'as fait justement remarquer, c'est probablement la 1ère solution qui te concerne !
et excuses-moi, je n'avais pas fait, à tort, une réponse orientée ACCESS, mais seulement globale.
Sous ACCESS, je pense que tu peux utiliser le type 'Octet' ou même le type 'Oui/Non' s'il n'y a que 2 cas possibles
Pour ce qui est de la solution 2, même si ce n'est effectivement pas celle dont tu as besoin,
mais ce que j'ai écrit est bien ce à quoi je pense (il faut prendre les 4 tables en compte):
Examen(numexamen, dateexamen, numpatient) Propriete(numpropriete, numexamen, typeProp) Valeurnumerique(numexamen, numpropriete, valnumerique) Valeuralphanumerique(numexamen, numpropriete, valalphanumerique)
Dans ce cas, je fais l'association suivante : la clé primaire d'une propriété étant supposée être <numpropriete, numexamen>, on peut
associer :
1) une valeur (si les clés primaires des tables Valeurnumerique et Valeuralphanumerique sont aussi <numpropriete, numexamen>
2) plusieurs valeurs si pour ces deux tables de valeurs, il y a seulement un index non unique sur ces colonnes, mais pas de KP.
En fait, on peut même aller plus loin dans l'économie si la clé primaire de ta table Propriete est uniquement <numpropriete>
En effet cela devient :
Examen(numexamen, dateexamen, numpatient) Propriete(numpropriete, numexamen, typeProp) avec clé primaire 'numpropriete' Valeurnumerique(numpropriete, valnumerique) Valeuralphanumerique(numpropriete, valalphanumerique)
Et là, on a encore gagné de la place, puisque la table propriété a une colonne de moins que dans ta version initiale, mais il a l'hypothèse sur la clé primaire qui n'est pas forcément la bonne solution !
Bon, c'est juste un exercice de style, puisque, comme tu l'as fait justement remarquer, c'est probablement la 1ère solution qui te concerne !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
js8bleu
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
4
12 oct. 2009 à 17:04
12 oct. 2009 à 17:04
Bonjour et Merci java4ever pour ton intérêt. Ta dernière solution me paraît bien sauf que je ne sais pas où est passé la clé de la table Valeurnumerique(numvaleurnumerique) et celle de table Valeuralphanumerique(numvaleuralphanumerique)? Sinon voici aussi un MCD que je te propose de voir et de me donner ton avis (s'il te plaît) :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijnboypsE.jpg
Merci d'avance.
Cordialement.
http://www.cijoint.fr/cjlink.php?file=cj200910/cijnboypsE.jpg
Merci d'avance.
Cordialement.