I wish to store "Tweets" and "Facebook Status" during my application included in "Status collection" so every status collection may have a lot of Tweets or a lot of Facebook Statuses. For Facebook I am only thinking about text and so i will not store videos/photos for the time being.
I'm wondering when it comes to best practice for DB design. Is it more beneficial to possess one table (place the max for status to 420 to incorporate both Twitter and facebook limit) with "Type" column that determines what status it's or is it more beneficial to possess two separate tables? and Why?
I'd place the messages into one table and also have another that defines the kind:
SocialMediaMessage ------------------ id SocialMediaTypeId Message SocialMediaType --------------- Id Name
They appear similar enough that there's no reason to split up them. It will likewise build your existence simpler if you wish to query across both Social networks.
Its most likely simpler to make use of on table and employ type to recognize them. You will simply need one query/saved procedure to gain access to the information rather than one query for every type if you have multiple tables.
As it happens, a tweet isn't the same factor like a Facebook update. You might be disregarding non-text for the time being, however, you may convince you later and become tied to one that does not work. Typically, objects shouldn't be treated as interchangeable unless of course they are really. If they're basically similar, you need to either use 2 separate tables or use additional posts as necessary.
All nevertheless, whether it's really just text, you are able to most likely pull off just one table. But this can be a few opinion and you will most likely get plenty of solutions.