如何组织数据库

时间:2015-12-14 12:41:01

标签: php mysql pdo

我想建立一个我开始写书的网站。我想构建一个函数来为书添加章节。

我已经创建了数据库,并且可以创建一本书。但我不知道如何组织数据库。我希望能够在书中添加章节。我怎么能在MySQL中做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以使用列添加名为chapter的表:

id INT 11 PK AI
number INT 11
title VARCHAR(255)
text TEXT
book_id INT 11

Book_id将是您的图书表中的外键。通过这种方式,您可以为所需的书籍创建新的章节,books_id表示它来自哪本书,标题很明显,文字也很明显,数字也是章节编号。

答案 1 :(得分:1)

您可以考虑这样的架构:

CREATE TABLE Books
    (`id` int, `bookName` varchar(55), `description` varchar(55))
;

INSERT INTO Books
    (`id`, `bookName`, `description`)
VALUES
    (1, 'book1', 'Platform for building enterprise provisioning solutions'),
    (2, 'book2', 'Full-featured access management'),
    (3, 'book3', 'Robust LDAP server for Java')
;

CREATE TABLE Chapters
    (`id` int, `bookId` int , `chapterName` varchar(55), `content` text)
;

INSERT INTO Chapters
    (`id`, `bookId`, `chapterName`, `content`)
VALUES
    (1,1, 'chap1', 'blah'),
    (2,1, 'chap2', 'hello'),
    (3,2, 'chap1', 'world')
;

然后你可以通过以下方式加入表:

SELECT
  c.chapterName , c.content ,b.bookName
FROM
  Chapters c
LEFT JOIN
  Books b
ON
  c.bookId = b.id