Mysql – creating user related user specific content

database-designMySQL

Should you create a table for each user to contain information on specific content for an account, say favorite articles, interests, ect. User defined lists that would be used to generate useful content using a tag system to define groups of content. Would i be approaching this close to right, or is there a better way. i know u should not define more than one thing in a column, but i also would want the fewest number tables too?

Best Answer

Do not create a table for each user! Create a table for each category of information you want to store.

In a relational database, a table typically represents a list of a particular type of thing which is of interest to your system. This can be a tangible thing, like users, or an intangible thing, like interests. The point is that each table is about a kind of thing. The things themselves are rows in a table. Every row in a table needs to have the same structure. If you have no consistent structure for your data then you have to consider a No-SQL database instead.

For relational databases, study the rules of database normalization. This will help you to understand how to structure your database tables.