I am creating a dockerized website in PHP for dancesport results.

I am trying to figure out a database solution (probably a combination of databases) for storing the competitions and their results.

So far I have come up with these relationships between data


  • name
  • date
  • place
  • Categories (one to many)


  • name (composite from the other, but will be always displayed)
  • age bracket
  • type
  • class
  • style
  • Rounds (one to many)

Round this one is a difficult one since it is multidimensional. In each round, you have 3 dimensions for each piece of data: - the couple - the dance (you dance several dances in each round and are judged for each separately) - the judge

Given these 3, in preliminary rounds, the judge either nominates you to the next round or not. In the final round, you get a proposed final position form the judge (like 3 - the couple is the 3rd best.)

One possible visualization of the data is here: Final and the preliminaries

Results are connected to couples and those in turn to clubs that I will store separately.

Results are also connected to Judges that I will also store and display separately.


  • display of competition and all the Categories (their names)
  • display of category and all the round and the data (like in the visualization)
  • statistics of the couple in the category
  • statistics of the couple over many categories/competitions
  • statistics over judges and looking for patterns/anomalies in their performance
  • each couple belongs to a dance club - statistics over dance clubs

My thoughts so far:

  • everything other than Results in relational DB - the problem I see in doing statistics - from what I know, something like ES is much better at it.
  • no idea, how to store multidimensional data for Results effectively


  • should have a dockerized image or relatively simple to create one
  • have a REST API or other way connect to if from PHP

My familiarity with database types:

  • relational - daily user
  • document - some expertise with ES
  • key-value - familiar
  • graph - no expertise, but getting familiar with neo4j

Looking for recommendations for database tymes for the data modeling in those databases and their interaction.

  • Wring site. This site is for suggesting an existing software product/library to meet very specific criteria, not for consultation in developing a software product. For questions about designing a database structure and advice about various database technologies, I suggest visiting this sister site: dba.stackexchange.com – Basil Bourque May 6 '19 at 0:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.