Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2007, 09h15   #1
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 89
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 89
Points : 25
Points : 25
Par défaut Relations 1 - ∞

Bonjour à tous,

J'aimerais avoir un petit coup de main concernant ma base de données mySQL. Je précise que je suis débutant ... mais vraiment débutant !!!
Bref, je suis en train de convertir une base access en mysql. Tout fonctionne bien, mais je ne sais pas comment matérialiser les relations que j'avais dans la bd access... Explications :
- Table championship : [championship], ... (clé primaire = [championship])
- Table race : [race_name], [championship], ... (clé primaire = [race_name])
- Table race_parameters : [race_name], [gate_num], ... (clé primaire = [race_name]+[gate_num])

Ce que j'aimerais, c'est créer les relations suivantes :
- championship.[championship] 1 - ∞ race.[championship]
- race.[race_name] 1 - ∞ race_parameters.[race_name]
et que le choix soit limité à la liste...

Comment puis je réaliser ces fonctions?
Merci d'avance de vos réponses,
Benoît
BMT_Benoît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2007, 21h36   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 422
Points : 6 422
Bonjour,
En quittant Access, tu quittes le monde de la bureautique (ça va peut-être en choquer, ce que je dis là, mais j'assume ), et donc un certain nombre de fonctionnalités liés.
Avec MySQL, il faut que tu crées tes tables en mettant en place toi-même les différentes contraintes d'intégrité. Il n'y a pas d'outils tout fait pour éditer de listes, même si, en revanche, il existe des outils de design pour la base de données. Pour ça, je t'invite à essayer Mysql Workbench qui peut aider à passer en douceur dans le vrai monde des bases de données.

En revanche, je ne comprends pas ce que tu entends par "limiter le choix à la liste" ?

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 21h53   #3
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 89
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 89
Points : 25
Points : 25
Merci de ta réponse ced... J'suis conscient qu'Access n'est pas un outil puissant, mais c'est un bon moyen d'acquérir les bases! lol.
Pour ma base mySQL, c'est bon à un détail près, les liens.
Par exemple, ce que j'aimerais, c'est que les valeurs possibles pour le champ race.[championship] soient celles du champ championship.[championship] et uniquement celles ci! Il ne faut pas que des valeurs qui ne sont pas contenu dans la table championship soient possibles! C'est la relation 1 à ∞ que l'on peut connaitre sur Access ... avec l'option "limiter à la liste".

Par contre, j'aurais bien aimé essayé Workbench, mais je n'ai pas trouvé de lien pour un téléchargement...
BMT_Benoît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 23h02   #4
Membre Expert
 
Avatar de Anthony.Desvernois
 
Homme Anthony Desvernois
Ingénieur sécurité & risque
Inscription : juin 2007
Messages : 1 501
Détails du profil
Informations personnelles :
Nom : Homme Anthony Desvernois
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur sécurité & risque
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 1 501
Points : 2 011
Points : 2 011
Et justement, avec MySQL la perception des choses est différentes
Il faut jouer sur les requêtes, les contraintes ne sont pas posés en dur. Les contraintes tu les mets dans les requêtes

Je ne peux que te conseiller de lire le cours débutant de Sql ou de consulter les différents tutos du sites
__________________
"Voyager, c'est découvrir que tout le monde a tort", Aldous Huxley
"Less is more" Ludwig Mies Van Der Rohe

Risk & Security Mgmt
Anthony.Desvernois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 06h52   #5
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 89
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 89
Points : 25
Points : 25
Ok, merci. Je comprends mieux maintenant. A moi de formuler mes requêtes correctement... Je vais lire les tutos SQL dispo sur le site.
Merci de ta réponse Anthony.
BMT_Benoît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 11h08   #6
Membre Expert
 
Avatar de Anthony.Desvernois
 
Homme Anthony Desvernois
Ingénieur sécurité & risque
Inscription : juin 2007
Messages : 1 501
Détails du profil
Informations personnelles :
Nom : Homme Anthony Desvernois
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur sécurité & risque
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 1 501
Points : 2 011
Points : 2 011
De rien, si tu rencontres un soucis dans tes requetes n'hesite pas a revenir en presentant ton probleme
__________________
"Voyager, c'est découvrir que tout le monde a tort", Aldous Huxley
"Less is more" Ludwig Mies Van Der Rohe

Risk & Security Mgmt
Anthony.Desvernois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h29   #7
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 422
Points : 6 422
Citation:
Envoyé par Anthony.Desvernois
Et justement, avec MySQL la perception des choses est différentes
Il faut jouer sur les requêtes, les contraintes ne sont pas posés en dur. Les contraintes tu les mets dans les requêtes
Oui... et non... En fait, comme je te le disais, ça dépend de la version du moteur de MySQL que tu mets en place.
En MyISAM (le moteur par défaut jusqu'à la version 5 je crois ), il n'y a pas de vérification de l'intégrité des clefs étrangères et, dans ce cas, les contraintes sont à mettre effectivement dans les requêtes programmées. Si tu insères une ligne avec une clef étrangère qui n'existe pas, MySQL ne réagira pas...
En revanche, avec le moteur InnoDB (celui par défaut maintenant), tu peux mettre en place des contraintes d'intégrité. Et là, tu peux spécifier des clefs étrangères et les référencer, et pour insérer une clef non référencée : tintin ! MySQL gueule...

Donc, c'est une question de version.

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h30   #8
Membre Expert
 
Avatar de Anthony.Desvernois
 
Homme Anthony Desvernois
Ingénieur sécurité & risque
Inscription : juin 2007
Messages : 1 501
Détails du profil
Informations personnelles :
Nom : Homme Anthony Desvernois
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur sécurité & risque
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 1 501
Points : 2 011
Points : 2 011
Ah je ne savais pas tient
merci pour l'info
__________________
"Voyager, c'est découvrir que tout le monde a tort", Aldous Huxley
"Less is more" Ludwig Mies Van Der Rohe

Risk & Security Mgmt
Anthony.Desvernois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h45   #9
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 89
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 89
Points : 25
Points : 25
Et bin, moi qui pensait que ce post serait terminé!! lol Merci pour l'info ced, je comprend que le nouveau moteur InnoDB reprend les règles d'intégrités que n'a pas MyISAM. Pour l'instant, c'est ce dernier que j'utilise, donc... pas de règles d'intégrités. Je devrais donc construire ma requête en l'intégrant...
Merci pour vos réponse,
Benoît
BMT_Benoît est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h33.


 
 
 
 
Partenaires

Hébergement Web