有哪位大神能说说吗?关于SQL

在E-R图转换为关系模式过程怎么知道那个是主码?有哪位大神能说说吗?关于SQL

sql

2个回答

E-R图中用箭头或者1:N之类的标记表示。箭头出发的一端,或者1:N的1,就是主键。

简单说,主键的定义已经说明如何知道哪个是主键。主键就是那个其它所有字段都直接依赖的字段。所以,其实你的问题应该是如何知道哪个字段是其它所有字段都直接依赖的字段?
好嘛,其实作为初学者来说,的确很难判断哪个字段是其它字段都依赖,而且还是直接依赖的。那教你两个办法吧。
首先我们可以去掉那些选填的字段,因为主键要求必填呀,所以选填字段必然不可能成为主键。
第二我们可以在第一步的基础上在剩下来的字段中去掉那些值可以重复的字段,因为主键规定了值必须唯一,所以值可重复也必然不可能成为主键。
好了,剩下来的都可以做主键了。
啥?剩得太多?那就挑个顺眼的,如果每个都顺眼?那就写小纸条抓阄。
哦,你觉得抓阄太草率了?那我出个绝招给你。实在不好决定用哪个字段作主键,那就加一个整型字段,名字叫id,把它设置为主键。
别瞪眼,在实际项目中,我真的是按上面的步骤来决定主键的!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问