mysql : 2 valeurs dans "enum" ?

Le
alainL
Bonsoir,
J'ai créé une table et un bout de code php permettant de déterminer le
nom d'une fleur en introduisant qqs critères.(easyphp et mysql)

L'un des champs, "petales", contient le nb de
petales (oui !) Mon "enum" offre plusieurs categories :
3,4,5,6à10, plus
Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux
catégories (par ex., anemone peut avoir 5 mais aussi 7 ou 8 petales)
Pour le moment je ne vois qu'une soluce: enregistrer deux lignes
"anemone" l'une avec 5, l'autre avec 6à10. mais ça risque de me
donner des réponses en doubleL'autre soluce serait de prévenir
l'utilisateur qu'il devra essayer 6-10 si entrer 5 n'a rien donné
Peut-être y a-t-il mieux ?
Merci pour vos conseils.
--
Alain L

Mon village en Haute Soule : http://jarailet.club.fr
Carnet de voyages: http://jarailet.club.fr/Randobal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred Brouard - SQLpro
Le #21893871
alainL a écrit :
Bonsoir,
J'ai créé une table et un bout de code php permettant de déterminer le
nom d'une fleur en introduisant qqs critères.(easyphp et mysql)

L'un des champs, "petales", contient le nb de
petales... (oui !) Mon "enum" offre plusieurs categories :
3,4,5,6à10, plus...
Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux
catégories... (par ex., anemone peut avoir 5 mais aussi 7 ou 8 petales)
Pour le moment je ne vois qu'une soluce: enregistrer deux lignes
"anemone" l'une avec 5, l'autre avec 6à10.... mais ça risque de me
donner des réponses en double...L'autre soluce serait de prévenir
l'utilisateur qu'il devra essayer 6-10 si entrer 5 n'a rien donné...
Peut-être y a-t-il mieux ?
Merci pour vos conseils.



faites une table du nombre de pétales avec 1, 2, 3, .... 1023132131323465434
et une table de jointure fleur/pétale qui indique quelles sont les
compositions de pétales disponible pour chacune des fleurs que vous
stockez dans votre base de données.
C'est la seule solution viable en terme de base de données
relationnelles et cela s'appelle la normalisation.

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Olivier Miakinen
Le #21893861
Bonjour,

Le 27/03/2008 18:58, Fred Brouard répondait à alainL :

faites une table du nombre de pétales avec 1, 2, 3, .... 1023132131323465434
et une table de jointure fleur/pétale qui indique quelles sont les
compositions de pétales disponible pour chacune des fleurs que vous
stockez dans votre base de données.
C'est la seule solution viable en terme de base de données
relationnelles et cela s'appelle la normalisation.



Sur fciwa, il lui a été conseillé d'utiliser un champ de type SET,
mais il n'arrive pas à y insérer des valeurs (cf. l'autre discussion
intitulée « syntaxe d'un SET en SQL »).

C'est parce que la solution n'est pas viable que ça ne marche pas chez
lui, malgré ce qu'ont prétendu ceux qui la lui conseillaient ?
helios services
Le #21893851
Fred Brouard - SQLpro a écrit :
alainL a écrit :
Bonsoir,
J'ai créé une table et un bout de code php permettant de déterminer
le nom d'une fleur en introduisant qqs critères.(easyphp et mysql)

L'un des champs, "petales", contient le nb de
petales... (oui !) Mon "enum" offre plusieurs categories :
3,4,5,6à10, plus...
Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux
catégories... (par ex., anemone peut avoir 5 mais aussi 7 ou 8 petales)
Pour le moment je ne vois qu'une soluce: enregistrer deux lignes
"anemone" l'une avec 5, l'autre avec 6à10.... mais ça risque de me
donner des réponses en double...L'autre soluce serait de prévenir
l'utilisateur qu'il devra essayer 6-10 si entrer 5 n'a rien donné...
Peut-être y a-t-il mieux ?
Merci pour vos conseils.



faites une table du nombre de pétales avec 1, 2, 3, ....
1023132131323465434
et une table de jointure fleur/pétale qui indique quelles sont les
compositions de pétales disponible pour chacune des fleurs que vous
stockez dans votre base de données.
C'est la seule solution viable en terme de base de données
relationnelles et cela s'appelle la normalisation.

A +






"la seule" ?????? je suis mort de rire et la réalité des données c'est
quoi

"cela s'appelle la normalisation." non cela s'appelle la trépanation et
ne respecte pas la réalité : dans la réalité quand je vois une fleur il
y a pas une jointure pour voir les pétales les pétale est visible
simultanément avec la fleur il est inutile de compter les pétales pour
les voir.

--
Dr Thierry HOLZ
HELIOS SERVICES
180 rue de la croix du chene
60250 HEILLES
www.openqm.com02.net
www.pick.com02.net
Eric Rossé
Le #21893841
Le Thu, 27 Mar 2008 19:18:17 +0100, Olivier Miakinen écrivait:

Sur fciwa, il lui a été conseillé d'utiliser un champ de type SET,
mais il n'arrive pas à y insérer des valeurs (cf. l'autre discussion
intitulée « syntaxe d'un SET en SQL »).

C'est parce que la solution n'est pas viable que ça ne marche pas chez
lui, malgré ce qu'ont prétendu ceux qui la lui conseillaient ?



Peut-être bien que c'est parce que ce n'est pas du sql standard,
mais réservé à mysql...
Eric Rossé
Le #21893831
Le Thu, 27 Mar 2008 19:52:25 +0100, helios services écrivait:

"cela s'appelle la normalisation." non cela s'appelle la trépanation et
ne respecte pas la réalité : dans la réalité quand je vois une fleur il
y a pas une jointure pour voir les pétales les pétale est visible
simultanément avec la fleur il est inutile de compter les pétales pour
les voir.



A vous lire, on comprend mieux pourquoi vous avez d'énormes difficultés
à appréhender le monde des bases de données. En d'autres termes, vous
confondez une fleur en particulier, celle que vous avez sous le nez, et
sa typologie... En POO, cela reviendrait à confondre une classe et une
instance de cette classe.
helios services
Le #21893821
Eric Rossé a écrit :
Le Thu, 27 Mar 2008 19:52:25 +0100, helios services écrivait:

"cela s'appelle la normalisation." non cela s'appelle la trépanation et
ne respecte pas la réalité : dans la réalité quand je vois une fleur il
y a pas une jointure pour voir les pétales les pétale est visible
simultanément avec la fleur il est inutile de compter les pétales pour
les voir.



A vous lire, on comprend mieux pourquoi vous avez d'énormes difficultés
à appréhender le monde des bases de données. En d'autres termes, vous
confondez une fleur en particulier, celle que vous avez sous le nez, et
sa typologie... En POO, cela reviendrait à confondre une classe et une
instance de cette classe.




je comprends parfaitement les artifices que necessite les SGBD primitif
qui ne savent pas gérer la réalité mais pourquoi vouloir utilisé un
tamponnoir pour percer un mur en béton vibré lorsque on a une perceuse ?

--
Dr Thierry HOLZ
HELIOS SERVICES
180 rue de la croix du chene
60250 HEILLES
www.openqm.com02.net
www.pick.com02.net
Eric Rossé
Le #21893811
Le Thu, 27 Mar 2008 22:23:35 +0100, helios services écrivait:

je comprends parfaitement



Non. Vos écrits en sont la preuve.
helios services
Le #21893801
Eric Rossé a écrit :
Le Thu, 27 Mar 2008 22:23:35 +0100, helios services écrivait:

je comprends parfaitement



Non. Vos écrits en sont la preuve.




lorsque on utilise une perceuse pour percer du béton vibré et non un
tamponnoir on n'a pas besoin d'un marteau et un chiffon et beaucoup de a
patience et bien lorsque on utilise la réalité et non un sgbd primitif
on a pas besoin de créer et gérer de artifices tel jointure et merise
d'ailleurs les SGBD primitifs ont été discrédité par le communiqué de
Codd (père des SGBD et turing award) sur ce qu'il pense de SQL




--
Dr Thierry HOLZ
HELIOS SERVICES
180 rue de la croix du chene
60250 HEILLES
www.openqm.com02.net
www.pick.com02.net
Alain Montfranc
Le #21893791
helios services a écrit
Eric Rossé a écrit :
Le Thu, 27 Mar 2008 22:23:35 +0100, helios services écrivait:

je comprends parfaitement



Non. Vos écrits en sont la preuve.




lorsque on utilise une perceuse pour percer du béton vibré et non un
tamponnoir on n'a pas besoin d'un marteau et un chiffon et beaucoup de a
patience et bien lorsque on utilise la réalité et non un sgbd primitif on a
pas besoin de créer et gérer de artifices tel jointure et merise
d'ailleurs les SGBD primitifs ont été discrédité par le communiqué de Codd
(père des SGBD et turing award) sur ce qu'il pense de SQL



Franchement, comment dire... A oui, le mauvais ouvrier incrimine
toujours le mauvais outil
Nina Popravka
Le #21893781
On Thu, 27 Mar 2008 22:23:35 +0100, helios services wrote:

pourquoi vouloir utilisé un
tamponnoir pour percer un mur en béton vibré lorsque on a une perceuse ?



Un petit marteau pneumatique est quand même plus adapté :-)
--
Nina
Publicité
Poster une réponse
Anonyme