避免在多对多的关联表中重复

时间:2019-05-12 10:36:38

标签: mysql optimization many-to-many repeat

我有以下情况。我想保留一个用户正在浏览的地址列表。为此,我创建了以下数据模型(非常简化)。

pearson -> | id | name | genre | birthdate |
    (id) -> PK
address -> | id | zip_code | line_1 | line_2 | coutry |
    (id) -> PK
pearson_address -> | pearson_id | address_id | from_date | to_date |
    (pearson_id, address_id, from_date) -> PK
    (pearson_id) -> FK
    (address_id) -> FK

这样,通过from_dateto_date我可以通过一个人经过的地址知道。但是,我的问题如下。没有太多重复的信息吗?这样,pearson_idaddress_id将在每个日期范围内不断重复。

| pearson_id | address_id |  from_date  |   to_date   |
| ---------- | ---------- | ----------- | ----------- |
|      1     |     2      |  2018-02-01 |  2018-09-10 |
|      1     |     3      |  2018-02-10 |  2018-12-13 |
|      1     |     2      |  2018-12-13 |  2019-02-11 |
|      1     |     3      |  2019-02-11 |     NULL    |

可以吗?还是需要创建另一个表来将pearson_idaddress_id的关联与日期范围相关联?

0 个答案:

没有答案