I've got a clients table with details about our clients (ID, login, title, contacts info, different choices, TS column, and so forth, ~15 posts, ~couple of 100s of clients).

Now we have to send every-day-updates to the greatest clients (<10% of clients). And I have to store timestamp from the latest update that have been delivered to the client, so the next time I'll send only new updates (I am talking about updates so as lines with TS larger than the saved TS).

Basically give a new column "LastUpdatesSentTS" to some clients table, then, when i understand, it'll comply with normalization rules (otherwise, please provide the link which proves it'll break normalization).

But, when i also know, in the physical database design perspective it is best to produce a new table with 2 posts [CustomerID, LastUpdatesSentTS] since under 10% of clients may have that TS information saved. I am talking about when I add the column to clients table - the majority of clients may have null for the reason that column. Also, basically produce a separate new table, maybe it will likely be easier to drop boolean column "SendUpdates" from clients table (because I'll have the ability to understand which clients need updates to become sent by joining clients table towards the new table). Also, within this situation I'm afraid that inside a couple of years I'll have a lot of really small tables, if this all might be in clients table (having to break normalization when i understand).

In simple words, I see 2 possible table designs:


Table customers:  
[CustomerID, Name, ..., SendUpdates, LastUpdatesSentTS]


Table customers:  
[CustomerID, Name, ...]  
Table customer_updates_sending:
[CustomerID, LastUpdatesSentTS]

What is your opinion?