mysql设置外键并一键生成数据表关系图 | 您所在的位置:网站首页 › oracle显示表间关系图 › mysql设置外键并一键生成数据表关系图 |
文章目录
1、概念2、理解3、添加外键时需要注意的规则4、navicat for mysql中设置外键5、数据表关系图的创建
1、概念
主键是能确定一条记录的唯一标识。 外键用于与另一张表的关联。. 是能确定另一张表记录的字段,用于保持数据的一致性。 2、理解有两张表 学生表(学号、姓名、性别、班级、年级)班级表(班号、班主任)每个学生都有一个学号,而且不会有重复的,即学号可以标识唯一的一个学生,所以学号可以作为学生表的主键。 同理,班号是班级表的主键。 学生表中有“班级”属性,对应的是班级表中的班号,而班号是班级表的主键。也就是说一个表的一个属性是另一个表的主键,这个属性就可设置为外键。一个表的外键可以有多个,即可以关联多个其他表格,如:再来一个年级表时。 3、添加外键时需要注意的规则引自:https://blog.csdn.net/z1826378013/article/details/79599025 1、添加外键的数据库引擎必须为InnoDB 2、关联的字段数据类型必须一样 3、知道表与表之间的主从关系,需要在从表中添加外键(像上面例子中学生表是从表,班级表是主表,所以在学生表中添加) 4、从表中的关联字段数据,在主表中需要是唯一的 5、创建外键的时候,需要先建立索引。索引的目的是为了更快地进行搜寻。当然,如果没有在主表里面建立索引,那么可能在从表中创建外键的时候出现错误。(我自己没有建立索引) 6、如果有多张表需要创建外键,那么外键的名字也必须是唯一的,且不区分大小写。(根据下面参考视频中的up主的方法,可以“fk_从表名_主表名",这样子可以确保唯一性,也能清楚知道这个外键是谁谁的,如”fk_student_class“) 4、navicat for mysql中设置外键参考视频: https://www.bilibili.com/video/BV1oi4y1b7nK?from=search&seid=7053261436863224077&spm_id_from=333.337.0.0 (1)选定从表(如:student),点击"设计表“ 就能看到这样: (2)点击”外键“ (3)填写信息 名:fk_从表名_主表名(如”fk_student_class)字段:从表里要进行关联的字段(如:学生表中的class_id)被引用的模式:主表(也就是班级表)所在的数据库。被引用的表(父):也就是我们说的主表啦(class)被引用的字段:主表里要进行关联的字段,一般是主表的主键(如:班级表中的“id”)删除时:一般可以不填,直接保存,就默认是RESTRICT更新时:一般可以不填,直接保存,就默认是RESTRICT(4)点击“保存” 5、数据表关系图的创建前提是要先设置好主键外键,生成时才会把这个关系呈现出来,不然后面还要继续添加外键,就麻烦一点。 结果: 可以再调整一下位置 |
CopyRight 2018-2019 实验室设备网 版权所有 |