Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Creating one massive table goes against relational database principals. I wouldn't combine all them into one table. Your going to get multiple instances of repeated data. If your user has three interests for example, you will have 3 rows, with the same user data in just to store the three different interests. Definatly go for the multiple 'normalized' table approach. See <a href="http://en.wikipedia.org/wiki/Database_normalization" rel="noreferrer">this</a> Wiki page for database normalization.</p> <p><strong>Edit:</strong> I have updated my answer, as you have updated your question... I agree with my initial answer even more now since...</p> <blockquote> <p>a large portion of these cells are likely to remain empty</p> </blockquote> <p>If for example, a user didn't have any interests, if you normalize then you simple wont have a row in the interest table for that user. If you have everything in one massive table, then you will have columns (and apparently a lot of them) that contain just NULL's.</p> <p>I have worked for a telephony company where there has been tons of tables, getting data could require many joins. When the performance of reading from these tables was critical then procedures where created that could generate a flat table (i.e. a denormalized table) that would require no joins, calculations etc that reports could point to. These where then used in conjunction with a SQL server agent to run the job at certain intervals (i.e. a weekly view of some stats would run once a week and so on).</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload