【发布时间】:2017-06-13 03:28:41
【问题描述】:
我有以下表格
CUSTOMER (cust_id (PK), name, phone)
ADDRESS (add_id (PK), address, area)
CUSTOMER_ADDRESS (cust_id, add_id) (composite PK) (Junction Table)
上述模型使一个客户拥有多个地址,一个地址拥有多个客户(多对多)(同一家族的成员)。
我想在我的模型中实现以下目标:
我希望一位客户可能拥有多个电话号码。为此,我可以创建另一个表并将 cust_id 作为该表中的 FK,但地址也与新表相关(比如说“PHONE”)。电话号码是进入系统的第一条信息。然后要检查,如果没有。数据库中已经存在,我们获取客户信息(地址、姓名等)并接受他的订单。如果没有 cust_id 与之关联,则检查地址,如果地址已存在,则应将该号码插入“PHONE”表中,并带有适当的“cust_id”引用。
如何将数据添加到数据库中。需要检查的两个条件是:
- 不应存在引用该编号的 cust_id。在 CUSTOMER 表中。
- 地址不应存在于 ADDRESS 表中。如果地址存在,则必须有一个 cust_id 与之相关,在这种情况下,我们将第二个电话号码添加到 cust_id。
我希望你能理解这个问题。谢谢。
【问题讨论】:
标签: database-design rdbms modeling