解决方案 »

  1.   

    感觉不需要关系表好一点,原因如下:
    1.author其实也是book的一种信息,可以存在book表里面
    2.当你以后要找某本book的author的时候,如果有关系表,就需要连接关系表,如果数据量很大,可能会有效率问题。相反直接存book表,可以直接通过bookid找到这条信息的author,通过主键走索引效率很高。
    3.多一个关系表也会增加维护成本。当你在book添加记录的同时还要跟新关系表。
      

  2.   

    如果楼主的实际情况是 一本书有多个作者,一个作者有多本书,则必须创建 添加一张关系表如果楼主不考虑实际情况,假设 一本书仅有一个作者 则直接使用设计一就行了。在BOOK表中添加作者属性。
      

  3.   

    肯定是三张表啦
    把书的id和作者id拿出来组建关系表,  一本书可能不止一个作者的
      

  4.   

    books表直接添加一列"author_id",但很多时候,比较标准的写法是保持各表独立,比如books表去掉列"author_id",而另添加一张关系表:
    我的理解是跟表之间的关系有关:添加关系表的前提是 两个表bookes表和author表是多对多的关系。
    books_id int,
    author_id int如果是1:N,就用如下:
    id int primary key,
    title char(255),
    author_id int #引用自author
      

  5.   

    感觉不需要关系表好一点,原因如下:
    1.author其实也是book的一种信息,可以存在book表里面
    2.当你以后要找某本book的author的时候,如果有关系表,就需要连接关系表,如果数据量很大,可能会有效率问题。相反直接存book表,可以直接通过bookid找到这条信息的author,通过主键走索引效率很高。
    3.多一个关系表也会增加维护成本。当你在book添加记录的同时还要跟新关系表。
    這個適合一本書對應一個作者的情況。多謝版主。
      

  6.   

    這個應該不是很好,因為作者可能有多個。將會出現的情況是重復了title:
    id=>1, title=>'book one',author_id=>1;
    id=>2,title=>'book two',author_id=>2;
    ...
      

  7.   

    這個應該不是很好,因為作者可能有多個。將會出現的情況是重復了title:
    id=>1, title=>'book one',author_id=>1;
    id=>2,title=>'book two',author_id=>2;
    ...如果你们业务场景是这样子的,一本书有多个作者,一个作者参与多本书的创作,这明显不就是N:N的关系嘛,那肯定用关系表啊。