I'm designing a database where I'll have some data that has basically the same structure in multiple places, and I'm wondering if I should make it in 1 table or multiple.
For example: I have an Apple, Orange and Banana table, Each row in that table is associated with a "Basket" and of course it would not do to have a an Orange associated with an Apple basket. As far as the Database is concerned the Basket types will have the exact same structure.
So which would be better
a: Make a Apple_Basket, Orange_Basket and Banana_Basket table?
b: A single Basket table that has an integer for type (that maybe goes to a basket_type table)
with a, I'll have a bunch of tables with the exacts same structure, but queries and constraints will be simple
with b, I won't need to add as many tables, but I can't really do a FK as easily since I need to constrain the basket to the right type, maybe an FK + Check constraint
Is there a name for this sort of "Parallel structure problem" and a best practice?