建立关系

时间:2011-03-04 05:53:05

标签: sql

我不知道如何创建关系并解决他们的查询。我想关系如下:

BookAuthor(book, author, earnings)
BookReference(book, referenceBook, times)
BookReview(book, reviewer, score)
BookPublih(book, year, publisher, price, numbar)

在这些数据库中,每本书可能有1位或更多位作者和每个作者都可以做出差异。 AMT。那本书的钱。一本书可能会参考其他书.1书可能会被差异评论。审稿人并得到差异。分数。作者也可以是评论者&出版商。

我想解决以下问题

  1. 查找2003年出版的所有书籍&由Sammer Tulpule和他们共同审阅Hemant Mehta。
  2. 查找所有从未查看过自己图书的评论者。
  3. 查找所有评论过Sita Mitra撰写的2本以上书籍的作者。
  4. 查找所有撰写了完整的1本书且已阅读过1本以上书籍的作者。
  5. 找到所有评论者,他们评论了“Stephen King”的每本书。
  6. 按降序查找1995-2000发表的所有图书。
  7. 我知道,找到答案并不好,但相信我真的不在

    之下

1 个答案:

答案 0 :(得分:0)

您的问题的解决方案可以使用这些表:

BOOKS (BookID, BookName,PubDate,PublisherPerson_ID,Price,Number) //存储每本书及其数据

PERSONS(PersonID, Name) //存储任何人(作者,评论者)

BOOKAUTHORS(Book_ID, Person_ID) //书籍与作者之间的多对多关系

BOOKREVENUE(Book_ID, Person_ID, Revenue) //为每位作者存储每本书的收入

BOOKREFERENCES(Book_ID, RefBook_ID) //多对多的书籍参考表

BOOKREVIEWERS(Book_ID, Person_ID, Score) //书评的多对多关系

我不会在这里写这些查询,但这会让你开始