外键的作用 数据库中外键的概念及作用。

作者&投稿:里颜 (若有异议请与网页底部的电邮联系)
数据库中外键的作用。多多了解这方面的内容,对建立数据库影响还是相当大的,我们应该好好的学习他了解他才能更好的掌握的。
外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。

FOREIGN KEY 约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。例如,如果在 publishers 表中删除一个出版商,而这个出版商的 ID 在 titles 表中记录书的信息时使用了,则这两个表之间关联的完整性将被破坏,titles 表中该出版商的书籍因为与 publishers 表中的数据没有链接而变得孤立了。FOREIGN KEY 约束防止这种情况的发生。如果主键表中数据的更改使之与外键表中数据的链接失效,则这种更改是不能实现的,从而确保了引用完整性。如果试图删除主键表中的行或更改主键值,而该主键值与另一个表的 FOREIGN KEY 约束值相关,则该操作不可实现。若要成功更改或删除 FOREIGN KEY 约束的行,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。

外键只能引用外表中的列的值!

外键的作用:

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,就是当你对一个表的数据进行操作,和他有关联的一个或更多表的数据能够同时发生改变。

例如一:

a b 两个表

a表中存有客户号,客户名称

b表中存有每个客户的订单

有了外键后

你只能在确信b 表中没有客户x的订单后,才可以在a表中删除客户x。

例如二:

例如有两个表

A(a,b) :a为主键,b为外键(来自于B.b)

B(b,c,d) :b为主键

如果我把字段b的外键属性去掉,对编程没什么影响。

如上面,A中的b要么为空,要么是在B的b中存在的值,有外键的时候,数据库会自动帮你检查A的b是否在B的b中存在。

1、外建表达的是参照完整性:这是数据固有的,与程序无关。因此,应该交给DBMS来做。

2、使用外建,简单直观,可以直接在数据模型中体现,无论是设计、维护等回有很大的好处,特别是对于分析现有的数据库的好处时非常明显的--前不久我分析了一个企业现有的数据库,里面的参照完整性约束有的是外键描述,有的是用触发器实现,感觉很明显。当然,文档里可能有,但是也可能不全,但是外键就非常明显和直观。

3、既然我们可以用触发器或程序完成的这个工作(指参照完整性约束),DBMS已经提供了手段,为什么我们要自己去做?而且我们做的应该说没有RDBMS做得好。实际上,早期的RDBMS并没有外键,现在都有了,我认为数据库厂商增加这个功能是有道理的。从这个角度来说,外键更方便。

4、关于方便,根据我带项目的情况来看,程序员确实有反映,主要是在调试时输入数据麻烦:如果数据可以违反参照完整性,那么就是说参照完整性本身就不对名誉业务冲突,此时也不应该用触发期货程序实现;否则,说明数据是错误的,根本就不应该进入数据库!而且,这也应该是测试系统的一个内容:阻止非法数据。实际上,前台程序应该对这种提交失败做出处理。数据是企业的而非程序的,储程序要尽量与数据分离,反之亦然。

外键的作用是什么?~

最直观的作用是防止非法数据录入,就是说录入外键数据时必须在它所属的主表中存在相应数据,如果录入空字符或其他数据会报错。
从软件工程的角度看,建立数据库的过程,是从建立物理模型开始的。在物理模型中创建了外键,那么在转化成概念模型甚至于生成sql代码时,就会自动生成相应字段,而不用重复定义。

外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性。
优点:
精简关联数据,减少数据冗余
避免后期对大量冗余处理的额外运维操作。
降低应用代码复杂性,减少了额外的异常处理
相关数据管理全由数据库端处理。
增加文档的可读性
特别是在表设计开始,绘制 ER 图的时候,逻辑简单明了,可读性非常强。
缺点:
性能压力
外键一般会存在级联功能,级联更新,级联删除等等。在海量数据场景,造成很大的性能压力。比如插入一条新记录,如果插入记录的表有 10 个外键,那势必要对关联的 10 张表逐一检查插入的记录是否合理,延误了正常插入的记录时间。并且父表的更新会连带子表加上相关的锁。
其他功能的灵活性不佳
比如,表结构的更新等。

电脑键盘上各个键代表什么意思?
答:Win键:又称开始键。通常用于呼出Windows系统的开始菜单,其图标为Windows操作系统的标志。Win键的作用其实远远不止呼出开始菜单一个,它的更多作用需要配合其他键使用,如Win+D可以收起当前桌面上打开的所有窗口。Space键:空格键。Space,中文释义为空白的。顾名思义,其主要用于处理文字的时候输入空格。

键盘上的键的各个用途和功能示意图
答:比如,按住“上档键”的同时按数字8的按键,就会输入“*”。3、Ctrl键 在Shift按键的下面,是Ctrl键,中文名字是“控制键”。在键盘左右各有一个,它的主要功能是通过键盘来实现很多快捷操作,但是必须和其他按键同时按才起作用。一些常用的快捷按键方法需要熟悉后背下来,速度会很快。比如常用的就是...

电脑键盘上的按键分别都是什么键?都是干嘛用的?
答:Ctrl + 左键单击某程序图标(分组显示窗口模式下) 在窗口或标签中循环切换 快捷键大全 1.用于设置字符格式和段落格式的快捷键 快捷键 作用 Ctrl+Shift+F 改变字体 Ctrl+Shift+P 改变字号 Ctrl+Shift+> 增大字号 Ctrl+Shift+< 减小字号 Ctrl+] 逐磅增大字号 Ctrl+[ 逐磅减小字号 Ctrl+D 改变字符格式("格...

键盘上控制区的键各有什么功能?
答:1、Delete 删除光标所在位置后面 2、Print Screen 用来对屏幕硬拷贝,按Alt+ Print Screen将当前的活动窗口复制到剪贴板上 3、Scroll lock 卷动键。当屏幕上的信息需要卷动显示时可以使用此键。 4、Pause(Break) 暂停键。当屏幕卷动...

笔记本电脑键盘上各个按键的功能有哪些?
答:5、F4键,有当你在IE工作时,可以用这个键用来打开IE中的地址栏列表。6、F5是刷新键,用来刷新IE或资源管理器中当前所在窗口的内容。7、F6键,可以快速在资源管理器及IE中定位到地址栏。8、F7键,在Windows中没有任何作用,在个别程序可能有作用。9、F8键,在启动电脑时,可以用它来显示启动菜单。...

电脑键盘各个按键的作用是什么?
答:12.Alt:可选键,一般与其他键组合成快捷键使用,如Alt+ v打开视图菜单。13.Enter:回车键确认。14.Page Up:向上翻页。15.Page Down:向下翻页。16.Backspace:退格键。17.Number lock:数字小键盘开关。18.Print screen:打印屏幕键。F1-F12:功能键(这些功能键的作用很大,也能组合成快捷键,...

电脑键盘个个按键的功能
答:2.导航键:一共有五个方向的选项,上下左右加上中间,中间的键就是向下按,通常叫做OK键,一般是确定、打开、直接更换选项内容只用。以下提到OK键的时候,说的就是这个键,上下一般是在几个项目中来回移动的作用。左右一般是切换两个不同的选项页面之用。3.左右软键:根据屏幕提示,功能会有所不同,...

电脑键盘上每个键的作用功能全介绍
答:电脑是我们日常生活中常用的设备之一,但是大家有了解过电脑键盘的作用吗?知道每个键盘代表这什么吗?下面由我为大家精心收集的电脑键盘上每个键的作用功能全介绍,希望可以帮到大家!电脑键盘上每个键的作用功能全介绍:F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X...

键盘上的键的各个用途
答:键盘有用途的键位包括了:Esc键、Tab键、CapsLock键、Shift键、Fn键等。1、Esc键 英文单词escape的缩写,这个键盘按键的作用就是从当前状态逃离,也有取消的意思,所以无论你在做什么操作,然后你不想干了,你可以尝试按一下Esc键。2、Tab键 Tab键通常我们称之为制表键。在现在电脑运用中,这个键盘...