主键的学习(数据库知识)_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

主键的学习(数据库知识)

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:知识数据库学习王菲
黑客防线网安网讯:1969年8月8日,在北京协和医院降生了一个漂亮的小女孩。接生的阿姨说,她的声音这么大,好象想要全世界的人都听到。后来,她的父亲为她取了一个很好听的名字,叫“王菲”。于是,所有的小朋...

1969年8月8日在北京协和医院降生了一个漂亮的小女孩接生的阿姨说她的声音这么大,好象想要全世界的人都听到

后来,她的父亲为她取了一个很好听的名字,叫“王菲”。于是,所有的小朋友就叫她“王菲”,“王菲”就是她童年的主键。

在她上初二的时候,认识了二班另一个叫“王菲”的同学,而且和她同一天生日。不过,同学们常常将她俩弄错,后来,就分别叫她们“大王菲”和“小王菲”。“大王菲”就是她在同学们心目中的主键。

在大王菲18岁的那一年,她领到了她的身份证。从此,她有了新的身份标识“100321690808022”,这一标识可以唯一区别中国大陆的每一个人。同时,原来二班的“小王菲”也领到了她自己的身份证,“100321690808006”。于是,人们就可以用身份证号,唯一标识两个“王菲”了。身份证号就是她成年后的主键。

由于她的歌唱的非常好,没多久就成了歌星。后来她去了香港发展,娱乐公司非要将她的名字更改为“王靖雯”,虽然她并不喜欢这个名字,但为了事业的发展还是同意了。“王靖雯”就成了她在娱乐圈里的主键。

“王靖雯”的歌打动了许许多多的歌迷,很快就成了歌坛天后。歌迷们将“王靖雯”这一主键与无数条动听的歌曲记录关联在了一起,并形成了一个庞大的歌迷数据库。

没多久,王靖雯和一个弹电吉他的小子相爱了。那小子说,还是“王菲”这个名字好听,于是,“王靖雯”又变回“王菲”了。主键被那小子修改了,这下麻烦大了。歌迷们都糊涂了,是将她的歌关联到“王菲”还是“王靖雯”呢?这一主键的修改,导致歌迷数据库的一次大混乱。

再后来呢,她和那个弹电吉他的小子结婚了,香港政府将他们的身份证号码,用结婚证书关联起来。这本也算一桩好事,可是,月老在酒醒之后发现了这一错误,就将关联的记录删除了。阴差阳错,命运使然,她和那个弹电吉他的小子只好分手了。

但是,正如接生的阿姨说的那样,她的声音的确让全世界的人都听到了!

讲完这个故事之后,我们是否能领悟到数据库设计的一些哲理呢?

什么是主键?

关系数据库说,为了唯一区分表的每一行记录,必须为表确定一个主键。主键可以是一个或多个列组成,这些主键列的值不能重复。主键是两个表进行关联的基础,所谓“关系”体现的是一个表的字段与另一个表的主键的关联。

在日常的应用项目开发中,我们常常都会面临“该拿什么字段来做主键”的难题。

用名字做主键?一班的“王菲”和二班的“王菲”可能重复。

用身份证号做主键?在大陆也许不会重复,去香港后,人家却不认。本不相信第二代身份证号会重复,但俺的一位同事正好撞上!

同样,主键值的更新也是麻烦事儿。“王靖雯”变成“王菲”那段日子,货架上一张唱片是王靖雯的,另一张又是王菲的,许多歌迷还以为又有新人出现了。

请不要说可以级联更新,将你那个做主键的字段加长两位试试?想当年,当身份证号从15位增加到18位时,给银行、证券、政府、企业...等多条战线上的兄弟们制造了怎样的痛苦啊!

为什么会出现这些问题呢?

原因就是:错误地把对象属性当作对象标识!

对象属性和对象标识都是对象数据库中的概念。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10086-1.html
网站维护教程更新时间:2012-03-21 02:29:21  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer