Must I make use of a foreign key for "balanceimpact" that has only two options either "CREDIT" or "DEBIT"?
Will it even seem sensible, you will find only two options here?
It's less as the number of options you will find, but what type of rel this really is (1:1 1:n etc).
About this particular situation, I would not make use of a foreign key, just let it rest like a column.
Also, as Marc_S recommended on his comment, give a CHECK constraint to make sure that just one of individuals 2 values are joined.
ALTER TABLE your_table ADD CONSTRAINT chk_balanceimpact CHECK (balanceimpact in ('C','D')) GO
Famous words "There are only two options"
To not split a hair 20 ways but, I've got a slightly different approach when seeing this. I only say produce a research table having a fk. Only because when they would like to add the next, fourth, and .. options you'll have all of the structure in position. Clearly within this situation you are able to go in either case and become fine, I simply aren't seeing why it is so bad to normalize up front to start with and steer clear of any rework later on even when there's a small possibility of it. Just my 2cents of the top my mind late during the night.
If you are only likely to have two options it appears the better solution could be just to possess a column that's true/false. Unless of course it's mapping with other tables.