EER図継承
答えて
これらは主に従業員のための役割をしている - 開発者、テスター、ビジネスアナリストなどの1つの方法は、各ロールタイプに複数のテーブルを持つことである - あなたはDeveloper
、Tester
などのようなテーブルを持ってしまうので、あなたはEmployeeID
を持っていますフィールドをforeign key
からEmployee
に変更します。
他のアプローチが可能(と私はそれをお勧めします)あなたはEmployee
を持つことができ、各ロールのレコードを持っているEmployeeRole
と呼ばれる1つのテーブルを持っています。このようにして、新しい役割を果たすたびに新しいテーブルを作成する必要はありません。 EmployeeRole
テーブルに新しいレコードを追加するだけの場合があります。これは、Employee
が複数の役割を果たしているシナリオにも対応します。開発者とテスターは異なる問題に取り組んでいます。
しかし、私は、従業員IDを使ってissueテーブルに2つの外部キーを持っている必要があります。私はそれがまだ質問であることを達成する –
Employeeテーブルを直接参照するのではなく、 'EmployeeRole'テーブル(' EmployeeRoleID'カラム)を参照しなければならず、 'Employee'テーブルを参照する必要があります。だからあなたのクエリは、このようなものになり、問題の 'Employee'の詳細を取得します。 \t' SELECTのEmpを* \t私は \t登録しよI.TesterID = ER.EmployeeRoleID \t ON EmployeeRole ERを登録しよう \t発行による従業員EMP ON ER.EmployeeID = EMP.EmployeeID' – AKS
あなたの「解決策」では、参照整合性を強制することができず、サロゲート・キーを乱用して所定のアクセス・パスを作成します。 – reaanb
shared-primary-keyをご覧ください。この手法を使用すると、テスター・テーブルと開発者テーブルの主キーとしてemp-idを使用できます。また、employeeテーブルを参照する外部キーとしても使用できます。これは、IS-A関係を実装する際の一般的なプラクティスです。
- 1. MySQL Workbench EER図の作成
- 2. UMLクラス図:サードパーティのソフトウェア継承
- 3. 構図でのフィールド継承のシミュレーション
- 4. MySQL WorkbenchからのEER図のXMLエクスポート
- 5. EER図からの関係の形成
- 6. BuildManager継承の継承
- 7. クラス継承とインターフェイス継承
- 8. データ継承の継承
- 9. テンプレートを継承した継承継承メンバ
- 10. CSSが継承しない継承
- 11. C++多重継承/仮想継承
- 12. 反復子継承と継承* this
- 13. 継承 - ターゲット固有の継承クラスC#
- 14. Vector :: Vectorの継承継承クラス
- 15. Entity Frameworkとの継承継承
- 16. 継承する継承するインターフェイス
- 17. 継承したクラスを継承する
- 18. 継承継承について
- 19. Java ORM:複数(継承)継承
- 20. 継承
- 21. 継承
- 22. 継承
- 23. 継承
- 24. 継承
- 25. 継承
- 26. 継承
- 27. 継承
- 28. 継承
- 29. 描画の説明継承付きUML図
- 30. UMLクラス図でプライベート継承関係を表示する方法
あなたはデザイン/モデルを自分で思いついたことがありますか?あなたはここでそれを共有できますか? – AKS
私は唯一できることは、各テスターと開発者自身の主キーを宣言することだと思いました。 –
回避しようとしている複製の例を挙げることはできますか?私は設計上問題はないと思っています。「代理人」と「譲受人」は関連する「emp_id」を含むべきです。 – reaanb