|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 95 ![]() |
Bonjour,
Je suis entrain de mettre en place une base de données sous Sql Server, j'ai un attribut performance qui peut prendre soit A soit B soit C, je ne sais pas quel type je dois donner à cet attribut (je n'ai pas trouvé enum), je peux lui donner char(1) mais je ne pourrai pas controller les valeurs de cet attribut. Et merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Bonjour,
En effet, vous pouvez créer un table du style : Code :
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Vous auriez aussi pu ajouter une contrainte dans la définition de votre colonne limitant les valeurs à 'A','B' ou 'C'
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Effectivement cette 2eme solution est également valable.
Si on supose que les valeurs peuvent changer ou évoluer, la solution donnée par Elsuket est alors plus facile à gérer par la suite. (ajout, modification ou suppression de la liste des valeurs à respecter dans une table avec contrainte de type clé étrangère). ++ |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 95 ![]() |
Merci pour les réponses,
je pense que meme la solution d'ajout d'une contrainte est facile à gérer par la suite; il suffit d'ajouter les valeurs qu'on veut accepter après. |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Tout dépend encore une fois de votre situation :-)
Imaginez que vous ayez à modifier vos valeurs souvent et que vous vouliez le faire depuis votre application ... Il est plus simple dans ce cas d'avoir un formulaire de saisie qui vous permettra d'entrer, modifier ou supprimer vos valeurs dans la table de référence. Avec une contrainte de type CHECK, le processus de mise à jour depuis l'application sera plus compliqué. Cependant vous n'êtes peut être pas dans ce cas et auquel cas la solution proposée par iberserk est tout à fait adaptée à votre besoin. ++ |
|
00
|
|
|
#7 |
|
Membre Expert
![]() |
Oui, je proposais une autre solution d'un point de vue technique mais personnelement j'utiliserais une table de référence de vos code performances (solution Elsuket).
Ainsi vous donnez plus de lisibilité à votre base de données: Si un concurrent accordant plus de valeur à vos compétences décident de vous débaucher moyennant une substancielle augmentation et des Tickets resto de 8 euros au lieu de 7,5 , votre successeur sera obligé de fouiller dans le code de votre appli client pour trouver la signification métier de ces codes...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com