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
- Categories (one to many)
- name (composite from the other, but will be always displayed)
- age bracket
- 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.)
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
Resultsin 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
- 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.