その質問から:
要約:
- 私のCRUDは、顧客、従業員、支店です。
Customer
sとEmployee
sは、1つPerson
、1つIndividual
(個人自体に関連するフィールド)、および1つUser
(ログイン目的)に関連付けられています。したがってIndividual
、sとUser
sは常に1人Customer
または1Employee
人に関連しています。Branch
esは1Person
つと1つCompany
(企業人に関連するフィールド)に関連付けられています。したがって、Company
sは常に1Branch
人の人に関連しています。このデータベースが表す会社に所属しているため、ユーザーがいませんでした。アプリに認証できるのは従業員です。- は1つ
Employee
に属しBranch
ます。ABranch
には0個または多数Employee
のsがあります。(ええ、図は正しくありません、ごめんなさい!) - 現在、私は役割を区別するために1ビットを使用しています
Employee
-私には運用および管理権限を持つ従業員がいます。役割のアクセス許可はコード自体に含まれます。ここで、顧客にも独自の役割があることがわかります...顧客と従業員の両方の役割を管理するためのより良い(そして簡単な)方法を実装するための提案はありますか?
MVCパターンをより適切に使用するために、適切に設計された単一テーブル継承を実現するために、その間違った3NF構造をどのように変更する必要がありますか?
私は少し単純化しようとしました、そして今私はこの新しい構造を達成しました:
それでも改善できますか?どこ?それをどのようにモデル化しますか?