I am interested in knowing the pros and cons of creating a custom system supported by a database like the one described below:
It has 6 tables that support it.
Entity: Lets say, anything "physical" that can exist and have detail stored against it (Hilton Hotel, Tony Taxi, One Bar)
Entity Type: A grouping/type of entity (Bar, Hotel, Restaurant)
Metadata: Any detail describing or belonging to an entity item (IR232PH, [email protected], 555-555-555)
Metadata Type: A grouping/type of metadata (Post Code, Telephone, Email, address)
Entity Relationship: The ability to group any entity item to another (Entity1-Entity2, Entity3)
Entity Relationship Type: The grouping/type of entity relationship.
I can see how this model is good for Entities that are similar but don't always have the same amount of attributes.
What are the pro/cons of using it as it is for entities as described?
- An artist can be performing (relationship type) at a venue.
- An artist can be supporting (relationship type) another artist
What would be the pro/cons of using it also to store more standard entities like users of the system?
- A user can have a favourite (relationship type) venue/artist/bar etc
- A user can have a attending (relationship type) event
Would you take it as far as having the news and blog posts in it?