We now have two tables: OriginalDocument and ProcessedDocument. In the first we put an authentic, not processed document. After it's validated and processed (transformed into our xml format and parsed), it's put in ProcessedDocument table. Processed document could be valid or invalid. Which will work better: have two different tables for valid and invalid documents or simply have one with 'Valid' column? A few of the posts (~5-7) are irrelevant for invalid document. Storing both invalid and valid documents would also make Document table full of 'NULL' posts (if document is invalid, information like document number, receiver could be unknown). What else should we consider and weigh, when creating this decision?

If the document applies or invalid, it's still a document therefore it makes inital sense on their behalf all to stay in exactly the same table.

However, if the invalid document is treated in a different way because of your application to the stage where it's almost forgotten (not queried, up-to-date etc.) then split the tables. Getting the two kinds of document together within the same table is going to do only decelerate your queries for no immediate benefit.

I've got a document table where valid and invalid documents are stored together only since the application re-is definitely the bad document towards the user and asks these to repair it.

In my experience it may sound it will make sense to possess a little column, as all documents have really been processed, it is only that some happen to be going to be invalid. And with respect to the quantity of posts should you have only 5 approximately from say 10-15 posts that do not apply, there's you don't need to manage two structures for the similar data.

Now, another factor you could think about is must you regularly get info on both valid and invalid documents simultaneously? if that's the case, then you absolutely need it in a single table.

If you do not ever have to query them together, or maybe a document is "invalid" you do not need it again aside from history, it might make sense to maneuver it to the own table.