私たちの会社はCRMを開発しており、関係をどのように処理したいかを決定しなければならないところまで来ました. 数が多いので重要なポイントです。そして、後で構造を変更することは、単にクールではありません..
私はそれを行う方法を 3 つ知っています。
1 つの関係テーブル:
私がこれを行う方法は、すべての関係を保持する 1 つのテーブルを作成することです。
Table: releationships
+----+-------------+-----------+--------------+------------+
| id | record_type | record_id | belongs_type | belongs_id |
+----+-------------+-----------+--------------+------------+
| 1 | person | 42 | company | 12 |
+----+-------------+-----------+--------------+------------+
| 2 | person | 43 | company | 12 |
+----+-------------+-----------+--------------+------------+
| 3 | note | 23 | company | 12 |
+----+-------------+-----------+--------------+------------+
| 4 | attachment | 13 | company | 12 |
+----+-------------+-----------+--------------+------------+
複数の関係テーブル:
これは、たとえば SugarCRM が行う方法だと思います。
Table: company_realationships
+----+-----------+------------+--------+
| id | record_id | has_type | has_id |
+----+-----------+------------+--------+
| 1 | 12 | person | 42 |
+----+-----------+------------+--------+
| 2 | 12 | person | 43 |
+----+-----------+------------+--------+
| 3 | 12 | note | 23 |
+----+-----------+------------+--------+
| 2 | 12 | attachment | 13 |
+----+-----------+------------+--------+
レコード テーブル内のすべて:
Table: person
+----+-----------+------------+
| id | name | company_id |
+----+-----------+------------+
| 42 | luke | 12 |
+----+-----------+------------+
| 43 | other guy | 12 |
+----+-----------+------------+
など。
- だから私の質問は、多くの関係を処理する最良の方法はどれですか?
- それを行う他の方法はありますか?
- デメリット・メリットとは?
- トラフィックの多い側が関係を処理する特別な方法はありますか?
助けてくれてありがとう:)