mysql怎么定义外键

mysql怎么定义外键,第1张

定义外键的方法和详细的 *** 作步骤如下:

1、第一步,创建一个主从表,如下图所示,然后进入下一步

2、其次,完成上述步骤后,选择主表,然后单击设计表进入表设计界面,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,单击外键进入外键的设置界面,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,设置外键名称,然后选择主表的外键字段,如下图所示,然后进入下一步。

5、随后,完成上述步骤后,设置与数据库,表名称和从属表的单词相对应的外键字段,如下图所示,然后进入下一步。

6、最后,完成上述步骤后,单击保存即可,如下图所示。这样,问题就解决了。

外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在 *** 作上的一致性与完整性。

优点:

精简关联数据,减少数据冗余

避免后期对大量冗余处理的额外运维 *** 作。

降低应用代码复杂性,减少了额外的异常处理

相关数据管理全由数据库端处理。

增加文档的可读性

特别是在表设计开始,绘制 ER 图的时候,逻辑简单明了,可读性非常强。

缺点:

性能压力

外键一般会存在级联功能,级联更新,级联删除等等。在海量数据场景,造成很大的性能压力。比如插入一条新记录,如果插入记录的表有 10 个外键,那势必要对关联的 10 张表逐一检查插入的记录是否合理,延误了正常插入的记录时间。并且父表的更新会连带子表加上相关的锁。

其他功能的灵活性不佳

比如,表结构的更新等。

1>-- 创建测试主表. ID 是主键.\x0d\x0a2>CREATE TABLE test_main (\x0d\x0a3> id INT,\x0d\x0a4> value VARCHAR(10),\x0d\x0a5> PRIMARY KEY(id)\x0d\x0a6>)\x0d\x0a7>go\x0d\x0a\x0d\x0a-- 建表时设置外键\x0d\x0a1>CREATE TABLE test_sub (\x0d\x0a2> id INT,\x0d\x0a3> main_id INT,\x0d\x0a4> value VARCHAR(10),\x0d\x0a5> PRIMARY KEY(id),\x0d\x0a6> FOREIGN KEY (main_id) REFERENCES test_main\x0d\x0a7>)\x0d\x0a8>go


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6778477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存