I would like some suggestions for a simple ERD situation involving repetition.
This is only a small part of a larger system. I have products and these products have a "FeatureGroup". This part only consists of 3 tables. It is:
FeatureGroup (simply a group of product features) Unit (Lookup field eg: GB, TB, Inch, core, No Unit) Feature (eg: 1, 2, dual, hex) (Note that this could also potentially be a lookup field like UNIT)
These things are being used as keywords for searches. That means that things need to be used as-is. FeatureGroup is a foreign key of Features but I need to either make Unit a foreign key of FeatureGroup OR Features. Features is obviously a very repetitive table.
I did make Unit a foreign key of the FeatureGroup. This is because most product features are like this:
dual core, quad core, hex core
15 inch, 17 inch, etc, etc.
Unfortunately you will have things like Hard Drives which have typical ratings of 320gb 500gb, 1 TB, 2 TB. Because of that it seems that I have to make the Unit a field of the Feature table. Most of that will be very repetitive. I cannot use things like 1000GB because, like I said, they need to be used as-is.
Would you just make Unit a field (lookup) in Features or would you do something else to avoid repetition?
Note that changing things programmatically (like 1000GB to 1TB) will be too overly complex because I will not know what the value/ unit pair will be.
Additional Note: one (somewhat messy) solution could be to use the "No Unit" value of the Unit table and simply write out a complete strings "500 GB", "1 TB"...