Hey all,
I've been ghosting these forums for a while and finally decided to join. It's time to become a part of the community so I can learn from everyone!
I have a personal project that I've been working on for a while and I'm having a hard time convincing myself of the right design.
It's an application that allows users to create Presentations. These presentation have Assets (images, video, links to docs, etc) and these Assets are laid out within an Template. So:
Presentation has a Template
Template has Positions (1, 2, 3, etc)
Template houses Assets in those Positions
It was suggested that my schema look like this:
Code:
table Presentation
int id
varchar name
int fk_template (references template.id)
...
table Template
int id
varchar name
...
table Position
int id
int zorder (if it is the 1st, 2nd, 3rd position of the given template)
int fk_template (references Template.id)
...
table Asset
int id
varchar name
...
table AssetForPresentation
int fk_asset (references Asset.id)
int fk_presentation (refernces Presentation.id)
int fk_position (ferences Position.id)
How do you guys feel about this? It doesn't sit well with me... It seems so convoluted and I have no idea what the query would be to pull a Presentation, grab the Layout and populate the layout with the right Assets.