First of all, i've read this, this and this topic about the matter. I think i understand it, but i'm still not sure if i'm doing it the right way, since i almost only get identifying relations. I basically want to know if i'm heading in the right direction.
I'm creating a database where users, amongst other things, can create a profile (with a free and payed version) and post news items. Other users can reply to these items, and reactions can receive a rating. This is a small part of the website's functionality, but it's the part that worries me. I've wrote down the following (each row represents a link between two tables):
USERS: One user can define additional info once [Identifying, 1:1] One user can have one sexual preference [Identifying, 1:1] One user can have one payment status [Identifying, 1:1] One user can define five questions [Identifying, 1:n] One user can define three additional information rows [Identifying, 1:n] One user can define three interests [Identifying, 1:n] NEWS: One user can post multiple news items [Identifying, 1:n] One news item can receive multiple comments [Identifying, 1:n] Each comment has one author (user) [Identifying, 1:1] Each comment can receive one rating [Identifying, 1:1] Each rating can be placed by one user at a time [Identifying, 1:1] PAYMENT: One promotion can either apply for all users or for one specific user [Non-identifying, 1:n]
Almost all of the above relations are identifying, which makes me question wether i understand the matter.
Besides that, i use a table (status
) which hold (amongst others) the payment status of a user and another table (promotions
) that holds possible promotions. It's not clear to me wether i'm suppose to link the promotions
table to the status
or user
table.
Can someone help me out with the doubts?