Where/how do I save extra data per column?
I have a table, and for each field I want to know some sort of state. Lets say 'unchecked', 'ok', 'faulty' etc. I could just double the columns, add a new 'status-field' per column, but that feels wrong. 


To me, this feels right ;-) In order to prevent typos, I think that this could (and should) be implemented as a foreign key to another table with just the possible states. 


  A different example would be to safe how the data currently came to be, for instance calculated, automatically retrieved of manually entered.


If, necessary, I'd again use foreign keys to other tables for this. These tables would cover the available methods or instruments.


Update 1
Quite often, the number of different states (unchecked, faulty, ok, etc.) is rather small. A foreign key of the type TINYINT would probably suffice and minimizes the memory overhead.