Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc Molina
lolo a écrit/wrote :
J'ai une table avec un champ etat du type int. J'utilise chaque bit pour des valeurs OUI ou NON.
Mon problème est que je ne sais pas faire un UPDATE de chaque bit sans toucher aux autres : par exemple mettre UNIQUEMENT le bit 0 à 1.
Surprenante comme solution. Tu peux nous indiquer la signification de certains bits ? Pourquoi ne pas avoir opté pour des booléens ou des CHAR si les BOOL ne sont pas supportés par ton SGBD ?
-- Jean-Marc.
lolo a écrit/wrote :
J'ai une table avec un champ etat du type int. J'utilise chaque bit
pour des valeurs OUI ou NON.
Mon problème est que je ne sais pas faire un UPDATE de chaque bit sans
toucher aux autres : par exemple mettre UNIQUEMENT le bit 0 à 1.
Surprenante comme solution. Tu peux nous indiquer la signification de
certains bits ? Pourquoi ne pas avoir opté pour des booléens ou des CHAR si
les BOOL ne sont pas supportés par ton SGBD ?
J'ai une table avec un champ etat du type int. J'utilise chaque bit pour des valeurs OUI ou NON.
Mon problème est que je ne sais pas faire un UPDATE de chaque bit sans toucher aux autres : par exemple mettre UNIQUEMENT le bit 0 à 1.
Surprenante comme solution. Tu peux nous indiquer la signification de certains bits ? Pourquoi ne pas avoir opté pour des booléens ou des CHAR si les BOOL ne sont pas supportés par ton SGBD ?
-- Jean-Marc.
Jean-Marc Molina
lolo a écrit/wrote :
En revanche là tu soulève un problème auquel je n'avais pas pensé.... Pour le moment dans ces champs je stocke les droits d'accès principalement, je ne pense pas avoir besoin d'utiliser les indexes.
Si ça peut t'aider pour gérer des droits d'accès j'utilise simplement deux tables : - Droits d'accès - Droits d'accès pour chaque utilisateur
Je pense qu'une telle solution répond aux "raisons" que tu as énumérées dans ta réponse précédente. Souple car il suffit d'ajouter un nouveau droit dans la table des droits d'accès, simple car je trouve cette solution assez élégante et logique, pas trop encombrante... perso j'ai oublié l'argument "Octet Vs. Bit" depuis longtemps. Sans compter qu'au niveau de la conception donner un sens aux bits au milieu d'octets reste assez fastidieux... Quand on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux droits pour chacun des bits... Je trouve ça trop casse-tête :). Et je ne parle même pas de l'implémentation où il faut surtout de pas se tromper de bits quand on récupère un droit... Trop trop compliqué je trouve.
-- Jean-Marc.
lolo a écrit/wrote :
En revanche là tu soulève un problème auquel je n'avais pas pensé....
Pour le moment dans ces champs je stocke les droits d'accès
principalement, je ne pense pas avoir besoin d'utiliser les indexes.
Si ça peut t'aider pour gérer des droits d'accès j'utilise simplement deux
tables :
- Droits d'accès
- Droits d'accès pour chaque utilisateur
Je pense qu'une telle solution répond aux "raisons" que tu as énumérées dans
ta réponse précédente. Souple car il suffit d'ajouter un nouveau droit dans
la table des droits d'accès, simple car je trouve cette solution assez
élégante et logique, pas trop encombrante... perso j'ai oublié l'argument
"Octet Vs. Bit" depuis longtemps. Sans compter qu'au niveau de la conception
donner un sens aux bits au milieu d'octets reste assez fastidieux... Quand
on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux
droits pour chacun des bits... Je trouve ça trop casse-tête :). Et je ne
parle même pas de l'implémentation où il faut surtout de pas se tromper de
bits quand on récupère un droit... Trop trop compliqué je trouve.
En revanche là tu soulève un problème auquel je n'avais pas pensé.... Pour le moment dans ces champs je stocke les droits d'accès principalement, je ne pense pas avoir besoin d'utiliser les indexes.
Si ça peut t'aider pour gérer des droits d'accès j'utilise simplement deux tables : - Droits d'accès - Droits d'accès pour chaque utilisateur
Je pense qu'une telle solution répond aux "raisons" que tu as énumérées dans ta réponse précédente. Souple car il suffit d'ajouter un nouveau droit dans la table des droits d'accès, simple car je trouve cette solution assez élégante et logique, pas trop encombrante... perso j'ai oublié l'argument "Octet Vs. Bit" depuis longtemps. Sans compter qu'au niveau de la conception donner un sens aux bits au milieu d'octets reste assez fastidieux... Quand on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux droits pour chacun des bits... Je trouve ça trop casse-tête :). Et je ne parle même pas de l'implémentation où il faut surtout de pas se tromper de bits quand on récupère un droit... Trop trop compliqué je trouve.
-- Jean-Marc.
Patrick Mevzek
Le Mon, 22 Aug 2005 15:59:54 +0200, Jean-Marc Molina a écrit :
Quand on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux droits pour chacun des bits...
Pas nécessairement. Comme varchar(), il y a varbit() qui permet d'avoir un champ avec autant de bits que l'on veut.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Le Mon, 22 Aug 2005 15:59:54 +0200, Jean-Marc Molina a écrit :
Quand
on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux
droits pour chacun des bits...
Pas nécessairement. Comme varchar(), il y a varbit() qui permet d'avoir
un champ avec autant de bits que l'on veut.
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Le Mon, 22 Aug 2005 15:59:54 +0200, Jean-Marc Molina a écrit :
Quand on a plus de 8 droits il faut ajouter un nouvel octet et définir de nouveaux droits pour chacun des bits...
Pas nécessairement. Comme varchar(), il y a varbit() qui permet d'avoir un champ avec autant de bits que l'on veut.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>