重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
主键是对表的约束,保证数据的唯一性!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、铁东网站维护、网站推广。
外键是建立表于表之间的联系,方便程序的编写!!
主键就是可以唯一标示的,比如你的身份证号就是可以做主键,因为它一定唯一标示你,而你的姓名不能是主键,因为有重名的,不能唯一标示你。外键就是和你有关系,但唯一标示的却是别人,比如你爱人的身份证号,当然这样比喻不很贴切,只是好理解而已。
SQL的主键和外键的作用:
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
你这个表设计不符合第三范式。
正常应该是有一个学生表(stu_id,stu_name,age,sex),班级表(class_id,class_name),然后再有一个学生班级表(stu_id,class_id)
学生表中stu_id是关键字;班级表中class_id是关键字;学生班级表中stu_id,class_id组合关键字;
学生班级表中:
stu_id是外键,引用学生表的stu_id
class_id是外键,引用班级表的class_id