SQL中外码有什么用?

SQL中主码和外码有什么作用 ,为什么要用主码和外码 请高手回答 谢谢

个人理解,仅供参考。主码是用于唯一标识一行数据的,类似unique,比如插入的时候会查重。可能也有别的作用,如索引啊之类的,我没学透也不敢胡说。至于外码,是标识这一个关系(表)中的某个属性或者属性集是其他关系(表)中的码,那么插入时就会去另一个表中查看有没有这个码。如果没有,则插入失败。它能够用来增强两个关系(表)的联系。如果没有外码的限制,那么即使另一个表没有这个码,也能插入。
建议去看下廖雪峰的教学,举了个例子,写的很明白。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-16
主码的作用是为了标记表中信息的唯一性(例如学生的学号,身份证,工资编号等等),比如说要记录一个班的学生信息,如果同名的情况下怎么区分呢?就是通过主码(学号)他在一张表中一定是唯一的。并且要求输入记录时,主码不允许空。这是必须遵循的数据库的实体完整性规则。
外码指在一个表中是主码另外一个表中不是主码,这样的字段我们把他定义为外码。例如:
学生(学号,姓名,性别,年龄)主码 :学号
课程(课程号,课程名,学分)主码:课程号
选课(学号,课程号,成绩)主码(学号,课程号)外码:学号(他在学生表中是主码) 课程好(他在课程表中是主码)
在选课表中学号和课程号都是外码。那么他们的取值要么为空,如果有值的话,这个值必须在学生表中存在。本回答被提问者采纳
相似回答