We were having a field which is referenced in many tables for getting the value in a table which holds the atrributes for different values of this field.
eg.the order table has the item number...which is held in the items table giving the name of the item , and the attribute of this item is held in the atrribute table whcih has different atrributes like color , height, weight, say for an item called table.

The two values ie item_id , and its corresponding attribute_id are stored in most tables which use these in the existing database.

Would there be a noticeble performance degradation if we remove these from the different tables and use a query and a join with the item and the atrribute table to get these values?
Would it reduce substantially the amount of disk space required in case we go ahead with this ie are the payoffs substantial in terms of reduction of disk space requirement in case there are say amillion records a month in about 6 tables having such attributes?