gpt4 book ai didi

mysql - 允许数据库中有多个电话号码吗?

转载 作者:行者123 更新时间:2023-11-29 13:53:22 27 4
gpt4 key购买 nike

这是我第一次在这里发帖,如果有什么不对的地方还请大家多多包涵。我正忙着做一部分家庭作业,希望有人能给我指出正确的方向,或者至少让我知道我对需要做什么的想法是否正确。我正在使用 mySQL,并且我是数据库初学者。

问题为“数据库需要支持每个客户多个(任意数量)电话号码。目前只允许一个号码 (Customer.Phone)。每个电话号码还需要一种类型,必须是:固定电话 ( L)、移动 (M) 或工作 (W)。不需要其他类型。当前 50 个字符的限制就足够了。假设表中所有当前电话号码均为 type=L。”

我本来打算:

创建一个新表 CUSTOMERPHONE,其中包含列 customerNumber(FK,它是 CUSTOMER 中的主键)、phoneType(与 customerNumber 一起,这 2 个将成为主键)和电话。CUSTOMER 和 CUSTOMERPHONE 表将具有 1:M 关系 - 1 个客户可以拥有多个电话号码。

在 CUSTOMER 表中,我要添加一列phoneType。 customer.phoneType 将成为链接两个表的外键。

我还没有为这部分作业编写任何代码,如果幸运的话,我会以某种方式破坏我的数据库并弄乱作业的其他 3 部分。如果有人能告诉我我的思路是否正确,或者哪里有缺陷,我将不胜感激。 (我不希望解决方案是家庭作业,只是一些反馈。)

最佳答案

你的思路是对的。您不需要将phoneType 列添加到客户,因为该关系已在CUSTOMERPHONE 表中定义,如您所述。

还要记住,这实际上不是一对多关系,它更像是一对三关系,因为这取决于您允许的不同类型的数量。

关于mysql - 允许数据库中有多个电话号码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16313264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com