哪个表应该是父表,哪个应该是子表?

SPG*_*uar 2 database database-design

你有两张桌子Auther和Books.我很困惑,我应该保留哪个表作为父表,哪个应该是用于制作外键约束的子表.

CREATE TABLE author
 (
    author_id NUMBER(3) CONSTRAINT athr_aid_pk PRIMARY KEY,
    author_name VARCHAR2(30)
 );

 CREATE TABLE books
 (
    book_id NUMBER(3),
    book_title VARCHAR2(30),
    book_price NUMBER(3),

 );
Run Code Online (Sandbox Code Playgroud)

请解释一下哪个表应该是父表,为什么?

小智 5

答:没有.

原因:这是多对多的关系.作者可以写任意数量的书籍,也可以有一本书可以有多个作者.

解决方案:创建一个包含两列author_id的单独表,book_id都是外键.