为Books应用程序设计数据库

时间:2013-03-07 05:23:01

标签: mysql database database-design

我正在为图书应用程序设计数据库。我有主表书籍,其子表是章节,章节子表是章节,所以这里有问题,有些章节也有分为3个步骤章节名称 - >第1部分 - > 第1分部,每章包括部分和部分,还分为3个步骤部分 - >子节

问题:我如何管理章节的各个部分和部门,因为每个章节都不是必须的,而且每个章节都有章节和相同的问题是因为某些章节有子章节或某些章节不是。

下面我提到这本书的结构。

Book Name:
    Chapter 1
        section 1
        section 2
    Chapter 2
        Part 1
            Division 1
                Section 1
                section 2
                    sub section 2(1)
                    sub section 2(2)
            Division 2
                section 1
                section 2
            Division 3
                section 1
                section 2
        Part 2
            section 1
            section 2
    Chapter 3
        section 1
        section 2

那我怎么能在mysql中做到这一点?

2 个答案:

答案 0 :(得分:2)

由于没有具体的结构,我会为

创建表格

书籍(书籍详情)

BookPart(部分详情           ,类型 - 例如部分,分部,章节           ,父书部分)

答案 1 :(得分:0)

我建议的结构 -

Books 
Chapters -> contain section
section ->  Division,Part (Division,Part can be null)
sub section -> section 

Books 
Chapters -> contain section,Division,Part,subsectionID (Division,Part can be null)
sub section -> section

样本数据

图书

  

第1册

章节

id  bookID   name        sectionid        
  1 |      | Chapter 1 |  1 
  2 |      | Chapter 1 |  2
  3 |      | Chapter 2 |  3 

部分

id | name      | Division   | part   |Sub id (zero or one )
1  | section 1 | null       | null   | 
3  | Section 1 | Division 1 | Part 1 | 

子部分

 id | name  
    | sub section 2

您可以按照这种方式或

表格结构2:

章节

id   bookID    name        section      part     division     sub cat Id 
  1 |  1     | Chapter 1 |  section 1 | null   | null       |  null
  2 |  1     | Chapter 1 |  section 2 | null   | null       |  null
  3 |  1     | Chapter 2 |  section 1 | Part 1 | Division 1 |  1

子部分  id |名字

  1  | sub section 2

根据您的可用数据,您可以决定哪一种更适合您。更好的绘制图表并确定您的表格结构。因为通过这种方式,您可以根据您的要求轻松规范化表格