如何组织数据库

如何组织数据库

问题描述:

我想创建一个网站,我开始写书。我想建立一个功能来为书添加一章。如何组织数据库

我已经提出了数据库和创建一本书的可能性。但我不知道如何组织数据库。我希望能够在书中添加章节。我如何在MySQL中执行此操作?

+1

你必须清楚你所说的“组织”是什么意思 - 会如果您还可以发布您当前数据库结构的插图或示例,那就太好了。 – Skytiger

+0

现在,我在MySQL中为这些书使用了1个表。我想要的是我希望能够为每本书(记录)添加带有文本的章节。 –

+0

好吧,你需要一个关系表与书籍将章节作为包含书籍表 – rahul

您可以添加一个名为章表列:

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

Book_id会从你的书表的外键。通过这种方式,您可以为想要的书创建新的章节,books_id指示来自哪本书,标题很明显,文字也很明显,数字将是章节编号。

你可以考虑这样一个架构:

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