Обсуждение: Data model question regarding usage of arrays.
Hi,
I'm looking at a very simple database that contains a table
of recipes and a table of ingredients with nutritional content.
I'd defined the schema as such
CREATE TABLE ingredients
(
uid integer,
... -- nutritional info
)
CREATE TABLE recipes
(
uid integer,
ingredients integer[] -- uids in table ingredients
)
however I am reading that overall the usage of arrays in
data schema is frowned upon.
This seemed the lowest level @ which I could do things.
Is there a higher level SQL concept that would encapsulate
the "many to many" mapping of rows in the recipes table to
rows in the ingredients table?
Thanks,
- Eric
Solution
CREATE TABLE ingredients
(
uid integer,
... -- nutritional info
)
CREATE TABLE recipes
(
uid integer,
uid_bridge integer -- uids in bridge table
)
CREATE TABLE bridge
(
uid integer,
uid_ingredients integer -- uids in table ingredients
)
rows in recipes table can be unique for each recipe, rows in
bridge table are a row per recipe per ingredient in that recipe.
Wait, nm, no need for uid_bridge in recipes
On Mon, Mar 27, 2006 at 05:08:58PM -0800, Ricebot wrote: > Wait, nm, > > no need for uid_bridge in recipes Sure there is. If one recipe can contain several ingredients and an ingredient can be in more than one recipe, you need that join table :) Cheers, D (who isn't going to try to design a cookbook db right now) -- David Fetter <david@fetter.org> http://fetter.org/ phone: +1 415 235 3778 AIM: dfetter666 Skype: davidfetter Remember to vote!