谁能告诉我关系数据库(例如MySQL / SQL SERVER)中的表是否可以没有主键?
例如,我可以有桌子day_temperature
,我注册的地方temperature
and time
。我不明白为什么要为这样的表设置主键。
从技术上讲,您可以声明这样一个表。
但就你而言,time
应该使PRIMARY KEY
,因为同时具有不同的温度可能是错误的,并且多次具有相同的温度可能是无用的。
从逻辑上讲,每个表都应该有一个PRIMARY KEY
这样你就可以区分两个记录。
如果您的数据中没有候选键,只需创建一个代理键(AUTO_INCREMENT
, SERIAL
或您的数据库提供的任何内容)。
没有的唯一借口PRIMARY KEY
是一个日志或类似的表,受重度影响DML
并且对其进行索引会对性能产生超出容忍水平的影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)