I am new to NoSQL. I have experience of RDBMS systems and structures, but also by no means a DBA or app developer…
I am a hobbyist / enthusiast, and I am looking to deploy a new iOS app tied to a Parse server backend, using MongoDB. I am thinking through the data model required, and I default to relational data structures…
I would like to model recording golf competitions. Simplistically, a competition is a:
-
Round of golf
-
On a specific course
-
On a specific day / date
Typically, I would have tables to define the Course(s) and 1:Many Hole table linked to each Course.
CourseID
CourseName
CoursePar
HoleID
HoleNo
HolePar
HoleSI
HoleCourseID
Separately, I would store Round in a different table, with a foreign key back to Course. This starts needing many links between tables to perform queries, aggregation, etc. Simply put a Player plays a Round (another 1:Many relation).
Should I instead create rows for each hole recorded, that ALSO has the Course data in it, so each row can perform it’s own queries & aggregation?
Row1:
RowID, HoleNo, CourseID, HolePar, HoleSI, HoleGrossScore, HoleNettScore, etc, etc
Then I may not even need the Course & Hole tables?