SQL中啥叫主键,啥是外键,有啥关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中啥叫主键,啥是外键,有啥关系相关的知识,希望对你有一定的参考价值。
晕晕,数据库盲人
说简单点就是,主键就是唯一标识一列的约束,外键就是数据引用主键的一个约束两者的关系就是,主键值必须是唯一的,也就是不能重复,外键引用了主键,那么它的值就只能是主键中出现过的值,不能是主键未出现的值 参考技术A 就好像一个订单需要2张表1站订单表 一张订单明细表
订单表里面的ID是主键
明细表里的也有个ID 关联的订单表的ID 那明细表的ID就是外键
订单表的一个产品如果删掉了 但明细表里面的关联订单表的数据没删掉 就造成了数据冗余
所以设置主外键是防止数据误删和冗余 设置主键后 如果明细表的数据没删掉 主键内的信息就删不掉 参考技术B 一个表中的id一般为主键 ,表示此表与其他表关系的字段(一般为其他表的id)为此表的外键。
例如表province(id,cityId,name) 另外还有一个表 city (id,name) 。
则相对有province来说 id是主键,cityId是外键。 参考技术C 举例来说明,你可能更容易接受省表有字段ID Name,ID设置为主键就是说是唯一如果城市表的PID是省表的ID,那么城市表里的PID就是省表的外键 一般来说主键对应一个或多个外键。 参考技术D 就跟领导是主键 下属是外键的关系一样
sqlserver外键关系有啥用?
最好能举个例子说一下。。 还有内连接,外连接什么的。。讲的通俗一点。。谢谢了。。
参考技术A SQL的主键和外键的作用:外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
以上是关于SQL中啥叫主键,啥是外键,有啥关系的主要内容,如果未能解决你的问题,请参考以下文章