• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

关系型数据库和主键外键

互联网 diligentman 2周前 (01-13) 8次浏览

文章目录

  • SQL server的基础学习3
    • 一、什么是关系
      • 一对一
      • 一对多
      • 多对多
    • 二、主键和外键
      • 主键
      • 外键

SQL server的基础学习3

一、什么是关系

定义:表与表之间的联系
实现方法:通过设置不同形式的外键来体现表和表的不同关系

一对一

既可以把表A的主键充当表B的外键,也可以把表B的主键充当表A的外键(一个人只有一把钥匙,一把钥匙只给一个人)

一对多

一对多:把表A的主键充当表B的外键(一个部门有多个员工,一个员工只能在一个部门)
在多的一方添加外键(在员工表中添加外键即:员工表为外键表,部门表是主键表)
关系型数据库和主键外键
关系型数据库和主键外键

多对多

多对多:必须通过单独的一张表来实现(一个老师多个学生,一个学生多个老师)班级一张表,老师一张表,班级和老师的关系一张表
关系型数据库和主键外键
关系型数据库和主键外键 关系型数据库和主键外键

二、主键和外键

主键

定义:能够唯一标示一个事物的一个字段或者多个字段的组合
附注:
1、含有主键的叫做主键表,主键通常都是整数,不建议用字符串当主键(如果主键是用于集群式服务,才可以考虑用字符串当主键)
2、主键的值通常都不允许修改,除非本记录被删除
3、主键不要定义成id,而要定义成表面_id
4、要用代理主键,不要用业务主键(任何一张表都不建议使用有业务含义的字段充当主键,我们通常都是在表中单独添加一个整型的编号充当主键字段)

外键

定义:如果一个表中的若干个字段是来自另外若干个表的主键或唯一键,则这若干个字段就是外键
附注:
1、外键通常都是来自另外表的主键而不是唯一键,因为唯一键可能为null
2、外键不一定是来自另外的表,也可能来自表的主键(员工表中上层管理人员也是员工中的数据)
3、含有外键的表叫外键表,外键字段来自的呢一张表叫做主键表
问题:先删除主键表还是外键表?
答:先删除外键表
如果先删除主键表会报错,因为这会导致外键表中的数据引用失败


喜欢 (0)