After studying from 'Usage-Driven Database Design: From Logical Data Modeling Through Physical Schema Definition'a book by George Tillmann.
I want to create a logical model for a my own social platform that resembles a blogging platform with its own flair. However, while mapping out the logical model, it hard deciding what gets its own entity and relations. Most examples in the book shows a 'mapping' to real world entities of everything already exists i.e. department to worker as oppose to my website which has more artificial separations.
For instance, I have to decide how 'user', 'public profile', 'user-defined-category', 'comments', 'likes', 'posts' all relate. The issue is, I can find a relationship between all of them. i.e. a comment is made by a user, a comment can be fitted in a public profile, a comment is in a post, a comment has likes, and so on for other entities. As you can see, the distinction is not as prominent as real world mapping. Is this mapping normal? Unless, I should be more specific..like profile-comment links to profile and user, post-comment links to post and user, postlikes links to post and user, commentlikes likes to comment and user. There is still a star schema off of here. Whats worse if I add a 'notification logger' entity, almost everywhere here is linked to that as well !
I feel for now, creating an actual physical model without a logical model would be easier, but I don't want to make a mistake to assume it's okay to skip - because my lack of ability to build one.
George Tillmann's suggestion on the framework to follow: