定义外键的方法和详细的 *** 作步骤如下:
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欢迎分享,转载请注明来源:内存溢出
评论列表(0条)