Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
903 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL Server et les flags ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL Server et les flags ??

n°324074
joce
Architecte / Développeur principal
"BugHunter"
Posté le 05-03-2003 à 22:54:00  profilanswer
 

Une amie à un blème avec SQL Server + TransactSQL, et j'avoue que je vois pas comment le résoudre.
Voila ce qu'on lui demande de faire :
 
 

Table 1 qui s?appelle toto
 
ID Nom Surnom Stat Tel Adresse
1 Toto1 Nick1 296 08250852 Rue Machin
2 Toto2 Nick2 307 08250852 Rue Machin
3 Toto3 Nick3 256 08250852 Rue Machin
4 Toto4 Nick4 560 08250852 Rue Machin
5 Toto5 Nick5 308 08250852 Rue Machin
6 Toto 6 Nick6 309 08250852 Rue Machine
 
Certains utilisateurs sont des « Super Vendeurs » ou/et des SuperAcheteurs. Il existe plusieurs niveaux de SuperAcheteurs et de SuperVendeurs qui se classent de 1 à 3  
Il est utile de les regrouper dans une table CustomerSellers qui contient seulement (selon ce qu?on me demande de faire) ID, StatBuyer, StatSeller.  
Avoir un stat =307 correspond avoir un StatBuyer =1
Avoir un stat =308 correspond avoir un StatBuyer =2
Avoir un stat =309 correspond avoir un StatBuyer =3
Pour l?instant StatSeller qui correspond à SuperVendeurs  est vide
On a donc la table suivante.  
 
ID StatBuyer StatSeller
2 1 NULL
5 2 NULL
6 3 NULL
 
Mais maintenant que l?on a crée cette table la colonne stat de toto est devenue inutile mais seulement pour ID égal à 307, 308 et 309 puisque je distingue les niveaux des personnes. Il paraît que cela fait gagner de la place mais ayant déclaré Stat en tinyInt le gain de place me semble un peu minime. Mais bon c?est le chef.
ID est un INT
StatSeller sera de type TINYINT
 
Donc on veut obtenir la table suivante :
 
ID Nom Surnom Stat Tel Adresse
1 Toto1 Nick1 296 08250852 Rue Machin
2 Toto2 Nick2 RIEN 08250852 Rue Machin
3 Toto3 Nick3 256 08250852 Rue Machin
4 Toto4 Nick4 560 08250852 Rue Machin
5 Toto5 Nick5 RIEN 08250852 Rue Machin
 
Le problème c?est que je ne peux pas mettre NULL dans cette case car je change la valeur du Stat et c?est pas bon puisque toto.stat est déclaré en ForeignKey de CustomerSellerts.
De plus je ne peux pas retirer la colonne puisque j?enlève le Stat des gens qui ne sont pas SuperVendeurs. Je pourrais faire deux tables une toto mais sans la colonne Stat et une table avec les Stat de tous le monde mais mon chef ne veut pas.
Donc voilà le problème que je dois résoudre. Il m?a prévenu que c?était compliqué qu?il fallait utilser des flags ( ?????).


 
une idée sur ce que pourrait être ces flags ?


Message édité par joce le 05-03-2003 à 22:55:18
mood
Publicité
Posté le 05-03-2003 à 22:54:00  profilanswer
 

n°324111
trueslash
(╯°□°)╯︵ MMM
Posté le 05-03-2003 à 23:26:04  profilanswer
 

ce que son bosse appelle 'flag', c'est pas simplement une colonne supplémentaire avec un nombre dedans pour une des tables ?
 
là où j'ai fait mon stage, les anciens utilisaient ce terme aussi :/

n°324112
joce
Architecte / Développeur principal
"BugHunter"
Posté le 05-03-2003 à 23:28:10  profilanswer
 

trueslash a écrit :

ce que son bosse appelle 'flag', c'est pas simplement une colonne supplémentaire avec un nombre dedans pour une des tables ?
 
là où j'ai fait mon stage, les anciens utilisaient ce terme aussi :/

honnetement je pense pas, je pense que c'est plutôt une feature pour désactiver la contrainte d'integrité (sans ca je vois pas comment il pourrait faire)

n°324146
trueslash
(╯°□°)╯︵ MMM
Posté le 05-03-2003 à 23:54:01  profilanswer
 

ben en tout cas, le pb se règlerait facilement en demandant ce que sont ces fameux flags :D
 
j'ai fait du sql server avec du transact SQL cet été pdt mon stage et jamais entendu parler :/ (à part ce que j'ai dit plus haut :/)

n°324239
joce
Architecte / Développeur principal
"BugHunter"
Posté le 06-03-2003 à 09:10:24  profilanswer
 

me demande si ca pourrait pas être réglé par un truc de ce genre :
 
http://msdn.microsoft.com/library/ [...] t_7gmj.asp

n°324257
LToPiQ[PPC​]
Boolay de formation
Posté le 06-03-2003 à 09:28:50  profilanswer
 

Ca revient au même que de changer les propriétés de la contrainte pour qu'elle ne checke pas les valeurs.
 
Sinon j'aurais dit comme trueslash, une sorte de champ témoin :o Ce qui n'annule évidemment pas le besoin de changer les propriétés de la contrainte pour que ça marche


Message édité par LToPiQ[PPC] le 06-03-2003 à 09:29:11
n°324334
joce
Architecte / Développeur principal
"BugHunter"
Posté le 06-03-2003 à 10:34:08  profilanswer
 

en fait ce qu'il appelait flags c'etait un masque, et la foreign key etait sur le champ ID [:ddr555]

n°324342
LToPiQ[PPC​]
Boolay de formation
Posté le 06-03-2003 à 10:36:51  profilanswer
 

...

n°324428
trueslash
(╯°□°)╯︵ MMM
Posté le 06-03-2003 à 11:29:12  profilanswer
 

[:trompette1]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL Server et les flags ??

 

Sujets relatifs
Tables importantes SQL ServerConnexion à SQL Server par odbc via linux
[SQL] pour les pro du PhpMyAdmin[SQL ACCESS] problème de syntaxe avec les JOIN
Problème SQL sous Oracle[SQL] une pitite requete ....
[VB] Vérification d'écriture existante avant enregistrement avec SQL[SQL] ecrire un path ds une table Pages\erreur.htm
Plus de sujets relatifs à : SQL Server et les flags ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR