|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 89 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
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 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 |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 89 ![]() |
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... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Anthony DesvernoisIngénieur sécurité & risque Inscription : juin 2007 Messages : 1 501 ![]() |
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 |
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 89 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Anthony DesvernoisIngénieur sécurité & risque Inscription : juin 2007 Messages : 1 501 ![]() |
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 |
|
00
|
|
|
#7 | |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Citation:
En MyISAM (le moteur par défaut jusqu'à la version 5 je crois 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 |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Anthony DesvernoisIngénieur sécurité & risque Inscription : juin 2007 Messages : 1 501 ![]() |
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 |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 89 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com