数据库里面的主键和外键及候选键是什么意思啊?
通俗的说吧 先说说主键(primary key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同,比如说你用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话,就不能做到该属性下的各个元组数据的值不同,如果用阿拉伯数字作主键就是一个很好的选择。 再说说外键(foreign key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键,而是表2的主键,就可以说他是表1的外键。 那么什么是候选键(Candidate Key)呢:能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键,也称 候选关键字 或 候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键。 理解了么,还不懂的话MSN xiaolonghit04@
主键:若一个关系有多个候选码,则选定其中一个为主码 外键:如果关系模式R中的属性或属性组非该关系的键,而是其他关系的键,那么该属性或属性组对关系模式R而言是外键. 候选键:若关系中的某一属性或属性组的值能惟一地标识一个元组,则称该属性或属性组为候选码
问:数据库主表一个主键,子表两个外键都跟主表有关系怎么建立约束
答:主外键是一种约束,如果你在程序中能遵循这种约束的话,你也可以不在数据库中体现。详情>>