2017-12-21 53 views
1

私はLaravelプロジェクトのデータベーススキーマを作成しており、正しく設計する方法がわかりません。私は大部分のスキーマを嘲笑しましたが、ユーザーを適切に含めるための最後の飛躍をどのように行うのかはわかりません。Laravel:混合ユーザーデータベーススキーマ

Laravel database schema

あり8つのテーブルがあり、ビジネスモデルは医療行為、それらに割り当てられた医師、自分の患者を追跡するために意図され、それらの患者で書かれており、どのようなクスリれRXSがで書かれています処方箋

私が問題になるのは、私たちのユーザーテーブルには、ビジネススタッフ、代理人、時にはそれらの代理店のディストリビューター、そして自分のプロダクションを見たいいくつかの医師が含まれるということです。だから、ユーザーはDistributors、Reps、およびDoctorsのテーブルにまたがって広がっている人々の混在したバッグであり、スタッフのうちの何人かがその上に投げ込まれています。これまでのところ、ユーザーの容量が何であるかを反映するためにUsersテーブルに「UserRole」列を作成しましたが、それだけです。

これはスキーマにどのように反映されるべきか、またアイデアがあれば全体的にスキーマを最適化する方法について私が助けてくれる人はいますか?私はデータベース設計とLaravelの両方に非常に新しいです。ありがとうございました!

答えて

0

これについては、通常はさまざまな方法がありますが、私は最近、柔軟性が非常に高いアプローチを採用しました。

私の簡単なアプローチは、Usersテーブルをベースにしておくことです。 name, username, password, email, phone number, created_at etcUser ID (user_id)のような必要最小限のユーザーデータは、実際にすべてのユーザーに適用される他の場所で使用される外部キーとして機能します。

そこから、医者プロフィール、または販売代理店などを作成するときは、同じユーザー構造に従います。

これが役に立ちます。