CREATE TABLE ingredient ( id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE ); CREATE TABLE recipe ( id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE ); CREATE TABLE component ( recipeid INTEGER REFERENCES recipe(id), ingredientid INTEGER REFERENCES ingredient(id), count INTEGER NOT NULL DEFAULT 1 );