1

私は本のアプリケーションのためのデータベースを設計しています。私はメインテーブルのを持っており、その子テーブルはチャプターであり、チャプター子テーブルはセクションです。したがって、ここで問題があります。一部のチャプターも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でこれを行うことができますか?

4

2 に答える 2

2

具体的な構造がないので、

書籍(書籍の詳細)

BookPart(パーツの詳細、タイプ-例:セクション、部門、章、親ブックパーツ)

于 2013-03-07T05:27:36.747 に答える
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

入手可能なデータに基づいて、どちらがより適しているかを判断できます。より良い図を描き、テーブル構造を決定してください。そうすれば、要件に応じてテーブルを簡単に正規化できるためです

于 2013-03-07T05:30:49.197 に答える