看了一个晚上的主键跟外键

在传智播客学习了很久了,一直搞不懂主键跟外键的关系,看了很多资料,特别是msdn上的,真长,看一会就头晕了,然后就找资料

最后找到了几个讲解的比较简单一些的关于主键跟外键的定义

http://msdn.microsoft.com/zh-cn/library/ms179610.aspx  msdn上的解释太长了,没耐心看完



主键的定义:要求主键列数据唯一,并且不允许为空! 外键的定义:用于在两表之间建立关系,需要指定引用主表的那一列!


通俗的说吧 先说说主键(primary key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同,比如说你用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话,就不能做到该属性下的各个元组数据的值不同,如果用阿拉伯数字作主键就是一个很好的选择。 再说说外键(foreign key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键,而是表2的主键,就可以说他是表1的外键。 那么什么是候选键(Candidate Key)呢:能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键,也称 候选关键字 或 候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键

用这来看比较简单一些一目了然,感谢传智播客学习的日子,嘻嘻,又明白了一个东西

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章