关于主键的故事,生动形象的描述了数据库中主键的作用,也部分阐述了各种不同数据库主键设计的优缺点,此处更详细的对数据主键的设计策略做引用总结,以供参考!
关于数据库中主键设计:
主键的必要性:
个人觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的标识,主键主要是用于作为其他表的外键关联、以及本记录的修改与删除操作,如果没有该对象的标识,这些操作会变的非常麻烦。
主键的无意义性:
这里强调主键不应该具有实际的意义,提出对象属性和对象标识都是对象数据库中的概念。 什么是对象属性呢?就是业务逻辑上涉及的任何可变信息,什么“姓名”、“性别”、“身份证号”、“订单号”...通通都是对象属性。对象属性总会变化的,只是有些变得快,有些变得慢而已。 对象标识是啥?就是唯一区分数据对象的鉴别符,对象标识存在的唯一目的就是区分对象,除此之外没有任何业务逻辑上的意义。无论对象的属性值怎样变化,但对象还是对象,也就是说对象的本质没有变,这种唯一表示对象本身的东西,就是对象标识,也