En ce moment j'ai une table pour les matchs où chaque match a une référence à 2 participants et un gagnant, mais il n'y a pas moyen de stocker l'ordre des tours.Quel serait le moyen relationnel de stocker un support de tournoi dans MySQL?
Répondre
Est-ce que vous empêche de créer un champ nommé « round_order »? Connaissez-vous la commande?
stocker simplement un champ « chiffre rond » dans le tableau des correspondances semble être suffisant. Vous pouvez assigner les nombres ronds dans l'ordre inverse, à savoir: 1 pour la finale, 2 pour les demi-finales, 3 pour les quarts de finale, et ainsi de suite, au lieu de 1 pour le premier tour, 2 pour le second, etc.
Ceci a l'avantage supplémentaire où vous pouvez obtenir immédiatement des informations à partir du nombre rond. Par exemple, faire une requête pour toutes les demi-finales sera très facile ... WHERE round_number = 2
, et sera indépendant du total des rondes du tournoi.
En fait, je ne suis pas sûr que je suis d'accord. Si vous avez un champ "rond" dans la table "match", vous introduisez la possibilité de problèmes d'intégrité, car vous vous retrouvez avec une rangée dans votre table pour chaque tour (ce qui n'a pas vraiment de sens comme cela est la table "match", donc il ne devrait y avoir qu'une seule ligne par match)
Si vous faites cela, chaque ligne pourrait potentiellement avoir un ensemble différent de participants, ce qui n'est probablement pas votre intention et indique que vous devriez touche "ronde" sur une autre table. D'autres problèmes d'intégrité introduits seraient le "champ Winner", par ex. Si vous indiquez le vainqueur du tour dans les tables de match, comment savez-vous qui a gagné le match? Si vous mettez simplement le vainqueur du match sur toutes les lignes, vous perdez l'information sur qui a gagné le tour.
Pour être correctement normalisée, créer, par exemple une table "MatchRound".
Donnez votre table match une clé primaire (appeler Match_Id par exemple) puis votre table ronde pourrait avoir: Round_Id (autonumber ou clé primaire unique similaire), Match_Id (ce qui est une clé étrangère à la table de correspondance) et peut-être RoundOrder et RoundType (Final, Semi, etc.). Vous êtes probablement d'accord pour ajouter Winner et Loser à cette table.
Alors que deux purposing le champ round_number pour semis/etc quarts travailleraient, il ne fonctionne que si la topologie est cohérente à travers les matchs, par exemple il y a toujours des quarts de finale? Certains sports accumulent des points par exemple, et n'ont ensuite qu'une finale. Pour cette raison, je créerais simplement un champ de texte RoundType.
Est-ce que la parenthèse est semée, comme dans Tennis (ou le tournoi March Madness), et si oui, aurez-vous besoin de répondre à des questions comme "Dans quel round, Federer et Nadal se joueront-ils?" Ensuite, vous devez stocker le support as a tree dans la base de données.
- 1. Spring roo - Support de DB non relationnel
- 2. Quel serait le meilleur moyen de stocker l'ordre des enregistrements dans SQL
- 3. Quel est le meilleur moyen de stocker et de récupérer un tableau dans PHP/MySQL DB
- 4. Quel serait le meilleur moyen de sauvegarder et de restaurer les dumps mysql avec php?
- 5. Quel serait le moyen le plus efficace de faire cette recherche (mysql ou texte)?
- 6. Quel serait le meilleur moyen de valider XML?
- 7. Quel serait le meilleur moyen de conclure ce pointeur vide?
- 8. HTML pour créer le tournoi final quatre support?
- 9. Quel est le moyen le plus simple de stocker des données d'un programme Java à MySQL?
- 10. Quel serait le meilleur moyen d'analyser ce fichier?
- 11. Quel serait le moyen le plus simple de traiter un fichier texte en utilisant JSP?
- 12. Quel serait le meilleur moyen d'envelopper une énumération
- 13. Quel serait le moyen le plus rapide de créer une chaîne de n caractères en C
- 14. Algorithme des parenthèses de tournoi
- 15. Quel serait le meilleur moyen de fournir une petite sélection d'image dans une application iPhone?
- 16. stocker un pdf dans mysql
- 17. Quel format audio serait le meilleur?
- 18. Quel serait le meilleur moyen d'obtenir à distance le numéro de version Wordpress d'un site Web?
- 19. Quel est le meilleur moyen de stocker et de rechercher dans les transactions d'objets?
- 20. MongoDB: Quel est le moyen le plus efficace pour stocker un chromosome/position
- 21. Quel est le moyen le plus efficace de stocker des objets dans une base de données SQLCe?
- 22. Quel est le moyen le plus efficace de stocker des balises d'analyse?
- 23. Quel est le meilleur moyen de stocker des données de modèle dans une application jQuery?
- 24. Quel est le meilleur moyen de valider XML contre XML Schema, de l'analyser et de le stocker dans la base de données MySQL à l'aide de Perl?
- 25. Quel est un bon moyen de représenter et de stocker des données dans le RecordStore de Java?
- 26. Dessin des parenthèses de tournoi
- 27. Quel est le moyen le plus efficace pour stocker et analyser des données dans AS3?
- 28. Quel serait un bon moyen de mettre à l'échelle des images en C#?
- 29. Quel serait le meilleur moyen d'utiliser jammit et de publier des fichiers sur amazon S3?
- 30. Quel serait le meilleur moyen de faire cette mise en page (css ou tables)?
Peut-être que? C'est pour un outil assez simple, où quelqu'un serait en mesure d'entrer les noms des participants, les jumeler, puis pouvoir jumeler les gagnants de chaque match encore et encore jusqu'à ce qu'il ne reste que le gagnant. – VWD