Matthijs、
リレーショナル設計の場合、これらのオブジェクトが互いにどのように関連しているかを調べてから、データモデルを決定する必要があります。これが最初のドラフトと私が想定している条件です。あなたのケースには異なるルールがあるかもしれません。それらを投稿すれば、誰かが正確なモデルを投稿できるはずです。
Each book can be written by many authors and each author can write different books. ( M:N)
RECIPES <--> BOOKS (M:N)
RECIPES <--> INGREDIENTS (M:N)
These would be the initial set of tables.
BOOKS, AUTHORS, BOOKS_AUTHORS_ASC, RECIPES, BOOKS_RECIPES_ASC,
INGREDIENTS, RECIPES_INGREDIENTS_ASC.
メディアが1冊の本にのみ関連している場合は、別のテーブルがあります。たとえば、次の列のメディアです。BOOK_IDは、このメディアが関連付けられている親列です。
MEDIA
-------------------------------------
MEDIA_ID NUMBER -- Primary-key
BOOK_ID NUMBER -- Foreign Key..
MEDIA_TYPE varchar2(20) -- 'IMAGE','VIDEO' etc..
other_column1 varchar2(50),
other_column2 varchar2(50)
-- so on..
また、特定の画像/動画を複数の本に関連付けることができ、各本に異なる画像を含めることができる場合は、関連付けに異なるエンティティを使用できます。
Media
--------
Media_id number -- primary key
media_type varchar2(10),
media_name varchar2(100),
--- other columns.
MEDIA_BOOK_ASC
--------------
MEDIA_BOOK_ASC_ID NUMBER,
MEDIA_ID NUMBER, --foreign key to media table.
BOOK_ID NUMBER, --foreign key to book table
--other columns related to associations...