Python - 個人ブログのデータベース設計の問題
typecho
typecho 2017-06-28 09:23:13
0
3
868

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

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

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

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

typecho
typecho

Following the voice in heart.

全員に返信(3)
迷茫

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

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

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

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

いいねを押す +0
伊谢尔伦

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

いいねを押す +0
Peter_Zhu

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート