|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() ![]() |
Bonjour.
J'ai un problème qui revient plusieurs fois dans les schéma de bdd que je regarde et qui me chiffonne un peu. Imaginons un schéma comme celui ci : Citation:
Citation:
je vois par exemple comme solution : - mettre une colonne par type de valeur (value_int, value_varchar...) et sélectionner la première non null dans la requête : pas très élégant je trouve - avoir une seule colonne de type varchar et mettre perdre le type comme information... plus ou moins réalisable en fonction des fois... Mais j'avoue que je bloque... et faire 4 jointure pour quelque chose d'aussi stupide... me parait hallucinant. Merci, Pierre |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 669 ![]() |
|
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() |
Bonjour,
Merci pour cette réponse. Ce qui m'embete dans ce schéma, qui finalement ressemble beaucoup a celui que j'ai(on externalise les nouvelles caractéristiques), est que la valeur (CRE_VALEUR) est définie en caractères... on perd donc le type de la valeur dans la colonne... C'était la première idée qui me venait, mais ca m'embetait de perdre ce type(int, varchar, float...) En particulier, parce que le fait d'avoir un type garantie nativement d'avoir des données compatibles d'insérées, et des erreurs compréhensibles retournées tout de suite en cas d'erreur. Citation:
Citation:
|
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 669 ![]() |
Faut des traitements côté applicatif (où côté base selon vos affinités)
Un coup d'expression régulière et on en parle plus. |
|
|
00
|
|
|
#5 |
![]() ![]() |
Tu peux aussi avoir la colonne qui porte la valeur de type VARCHAR et une colonne qui indique le type de la valeur.
Ensuite, il doit être possible de mettre une contrainte CHECK (ou un trigger) qui vérifie que le type de la valeur insérée correspond bien au type de valeur annoncé.
__________________
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
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
Merci...
En fait, ca m'étonne beaucoup qu'il n'y ai pas un truc bateau en conception pour ce problème que l'on retrouve tous les 4 matins... L'idée du trigger de contrainte, c'est pas mal, mais ca me parait encore bien lourd... |
|
|
00
|
|
|
#7 | |
![]() ![]() |
Citation:
Sauf si l'utilisateur est le docteur Emmet Brown mais bon...
__________________
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
|
Copyright © 2000-2012 - www.developpez.com