0

Web アプリケーションを作成していますが、データベース テーブルをレイアウトする方法を見つけようとして問題が発生しています。

私はデータベースにはあまり詳しくありませんが、問題は次のとおりです。

たとえば、アプリケーションに 2 つのインターフェイスを持たせたいとします。まず、新しいを作成します。2つ目は、その本(または別の本)に新しいエントリ/ページを書きます。

私は、Books、Authors、Entries の 3 つのテーブルを持つことを考えました。

書籍

  • book_id
  • author_id
  • 題名

エントリー

  • ID
  • author_id
  • 文章
  • 日付時刻
  • book_id

著者

  • author_id
  • フルネーム
  • ユーザー名

もちろん、テーブルは完全ではありません。しかし、テーブル間の関係をうまく構築する方法がわかりません。著者が新しい本を作成できるようにしたい (これは、その本に最初のエントリ/ページを作成することによるものであるため、EntriesテーブルにはBooksと同様に新しいレコードがあります)。または、本にエントリ/ページを追加するには.

entry_idまた、Books テーブルに、その本のエントリ/ページを追跡/カウントするための列が必要かどうかもわかりません。

あいまいに聞こえるかもしれません。しかし、私は正確に何を Google に問い合わせるか、具体的に何を尋ねるかを知りませんでした。SQL の概念や、Web プログラマー (私は PHP が得意です) 向けの、データベース内のかなり複雑な関係を持つ Web アプリケーションの構築に焦点を当てた優れた本があれば、教えていただければ幸いです。

ありがとうございました。

4

1 に答える 1

1

この関係は複雑ではないと思います。著者は本を作成でき、本にはエントリを含めることができます。あなたのスキーマでは、誰でも自分が作成したのではない本のエントリを作成できる可能性があります。これを望まない場合は、'entries' テーブルから 'author_id' フィールドを削除してください。

しかし、あなたの本当の質問は何ですか?

于 2013-09-21T14:10:52.473 に答える