Я бы предложил, чтобы у вас была одна таблица вместо 2 таблиц:
Menu (Id, ItemId)
Item (Id, Name, Type, Unit)
Причина этого заключается в обеспечении ссылочной целостности. Menu.ItemId будет внешним ключом, который ссылается на Item.Id. Если у вас есть 2 таблицы, вы не сможете обеспечить ссылочную целостность.
Полагаю, вам не стоит беспокоиться о редких столбцах. Например, храните Единицу курицы как кусок или оставьте ее пустой.
Edit:
Если вы хотите избежать разреженной таблицы, таблицы с некоторыми столбцами, которые не используются, то вы можете рассмотреть что-то вроде:
Menu (Id, ItemId)
Item (Id, Name)
ItemProperties (ItemId, Name, Value)
Например
Item:
-----
Id Name
1 Chicken
2 Coke
ItemProperties:
---------------
ItemId Name Value
1 Price 10
1 Type Chinese
2 Price 1
2 Unit ml
2 Size 300
Таким образом, вы сохраняете ссылочную целостность и избегаете разреженных таблиц.
Если вы используете SQL Server 2008, отметьте это Разреженные столбцы SQL Server 2008