首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电话和模拟人生表

电话和模拟人生表
EN

Database Administration用户
提问于 2017-11-13 08:15:09
回答 2查看 48关注 0票数 0

我得设计一张移动电话和西姆斯的桌子。一些手机有超过一个SIM插槽(2)。有些手机没有模拟市民(或只有1),任何1 SIM只能在0或1电话(S)。

一个具有PHONE_ID、SIM_ID的表是起点。这两列都是空的。一个主键(PHONE_ID,SIM_ID)允许任何手机有超过一个,但不幸的是,它也允许任何一个SIM在多个手机!我如何确保任何一个SIM只能在一个手机,而仍然允许任何数量的手机没有模拟人生?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2017-11-13 09:04:22

一张桌子

您有两种类型的实体,因此几乎肯定需要两个表来对它们进行建模。由于关系是一对多的关系,从SIM方面来说,它应该有一个可空的外键到电话表。有点像

代码语言:javascript
复制
Sim                  
============         Phone
ID      (PK)         =======
inPhone (FK)  ---->  ID (PK)

这样,SIM要么在手机里,要么在浮动。如果要在模式级别强制执行每个电话中最大数量的SIMs,则需要自定义检查约束或触发器。

票数 1
EN

Database Administration用户

发布于 2017-11-13 08:50:16

我只需在"sim“表上做一个FK到电话。一部手机可以有多个模拟人生或0。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/190743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档