ホームページ  >  に質問  >  本文

Python - 個人ブログのデータベース設計の問題

個人ブログをデザインする必要があるのですが、データベースの設計で問題が発生しました。
実装したい機能は、一般ユーザーはブログにコメントのみ可能です。管理者 (つまり私) は、ログインしてブログを投稿したり、コメントに返信したりできます。

元々設計されていたテーブルには、User、Admin、Post、および Comment が含まれています。
ただし、User と Comment は 1 対多であり、Admin と Comment も 1 対多です。これでは汚くなってしまいます。

そこで、User テーブルと Admin テーブルを User という名前の 1 つのテーブルにマージしたいのですが、管理者にはパスワード フィールドが必要ですが、一般ユーザーには必要ありません。管理者は 1 人だけですが、一般ユーザーは多数います。だからデザインに無駄がある。

User テーブルと Admin テーブルの設計方法についていくつか提案をお願いします。
さらにデータベース設計も学びたいです。お勧めの情報を教えてください。データベースの操作に関する多くの情報を見てきましたが、データベースはどのように設計されているのでしょうか?

typechotypecho2640日前792

全員に返信(3)返信します

  • 迷茫

    迷茫2017-06-28 09:25:13

    ユーザー、ロール、関数、3つのテーブルを分離可能

    ユーザー対応ロール、ロール対応機能、

    ロールが一般ユーザーと管理者になりました。確認すると、ロールを関連付けることでパスワードを決定する必要があるかどうかがわかります。

    役割に応じて異なる機能も割り当てられ、関連付けテーブルに追加されます

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-28 09:25:13

    ユーザーはログイン情報のみを記録する必要があります。一般ユーザーはコメントするだけなので、ログインする必要はありません。コメントには一般ユーザーのユーザー名またはメールアドレスが記録されます。コメントとは一対多の関係なので、ユーザーとの関係を意識する必要がありません

    返事
    0
  • 天蓬老师

    天蓬老师2017-06-28 09:25:13

    あなたの説明を見ると、あなたが苦労している点は、一般のユーザーはパスワードを必要としないが、管理者はデータベースにパスワードを必要とし、管理者はあなただけであるということです~~私が個人的に考える方法は、データベースのストレージと設計です。 1階の「liujijans」の方法によると、ライブラリにパスワードを追加する必要はなく、管理者パスワードは、事前に設定したプレフィックス+今日の日付など、動的に設定できます。パスワードの種類はさらに安全であり、コード内で意図的に設定する必要はありません。権限システム、ユーザーセンター、実際のビジネスを分離して設計できるため、柔軟性が高まるだけでなく、ビジネスのモジュール化もより構造化されます。

    返事
    0
  • キャンセル返事