关系数据库中外键的作用与设置

来源 :科学与生活 | 被引量 : 0次 | 上传用户:dengpengfei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:关系数据库外键是用于与另一张表的关联,保证了数据的完整性和一致性。设置不同的选项灵活运用,可以减少冗余,提高系统的性能。
  关键词:外部关键字;表关联;数据完整性;数据一致性
  1 前言
  在关系数据库中,维护数据的一致性和完整性可以通过手工方式更新使得多个表之间的数据保持一致;设计更复杂的程序设计逻辑并编写应用程序可以维护数据库的完整性和一致性;在服务器端通过设置表的触发器,一旦执行更新和删除表中的某些数据行,事件自动触发以维护预定义的某些动作,维护数据库的一致性;利用数据库级别的外键处理方式来帮助维护数据库完整性,是最简单的方式。通过外键(FK)建立和加强两个表数据之间的连接,在更新或者删除数据行时可以保持数据库的完整性,更加可靠。
  2 外键存在的意义
  如果有学生的信息(学号s#,姓名sname,系号d#、系名dname)需要存储,可以有一下几种方式:
  2.1信息都存入到一个表中
  如果所有信息都放在同一个表中,即S(s#,sname,d#、dname),同一个系部的信息存储次数与该系学生人数相同。这种表结构存在严重的信息冗余(d#、dname列),如果学生人数比较多,这一问题表现的越严重,且还会带来修改复杂,插入异常,删除异常等,导致数据库使用异常。
  2.2建立两个表的逻辑连接
  把学生信息与系部信息分开存储,即S(s#,sname,d#)和D(d#、dname),解决了数据冗余的问题,但两张表并没有建立关联,在内容和逻辑关系上不能保持同步和一致,且存在插入异常和删除异常问题,依然无法保证数据完整性。
  2.3 建立两个表逻辑上的物理连接
  这种方案为S表添加了外键d#,指向D表的主键d#,该约束起到了保护数据完整性的作用:如果删除D的系部信息d#已经在S表中使用,则该条数据无法删除;无法向S表中添加系部d#不存在的系部信息。这样就消除了数据冗余、插入异常、删除异常等。
  外键用于与另一张表的关联,使两张表形成了物理关联,外键只能引用主表中主码的值,控制存储在外键表中的数据能保持与主表中的数据一致性,从而保证了数据的完整性。
  3 外键选项设置
  为了灵活有效的保证数据的一致性和完整性,在定义数据库外键时有一个可选项,用来设置当主键表中的被参照属性的数据发生变化时,外键表中相应属性的事件触发限制。
  (1)cascade级联更新或级联删除:当主键表被参照属性的值执行更新或删除操作时,外键表参照属性的值相应会同步更新或删除,该条数据在父表和子表中的记录都被成功更新或者删除。
  (2)restrict受限更新或受限删除:如果想要更新或删除主键表中的记录,而在外键表中有关联该主键表的记录,则不允许更新或删除主键表中的记录。即数据没有被更新或删除,父表和子表都没有变动。
  (3)set null置空:当主键表被参照属性的值执行更新或删除时,外鍵表中相应的参照属性的值置为null,前提条件是在设计外键表的时候该属性要允许为null,否则会出错。即该条记录在父表中被删除,在子表中对应记录的外键值被置为null。
  (4)set defaule置为默认值:当主键表被参照属性的值执行更新或删除时,外键表中相应记录的参照属性的值置为默认值。
  4 外键选项功能的实现
  (1)CASCADE级联规则实现
  在S(s#,sname,d#)中对外键设置了on update on delete规则:
  foreign key(d#) references  D(d#) on update cascade  on delete cascade
  假如院系表D中的某个系修改了信息,那么在S表中属于该系学生的信息一并被修改;假如删除了D表中的某个系,则在S表中该系的学生信息一并被删除了,自动修改或删除子表数据。这样的联动效应使得系统的性能更好,这就是外键的作用,保持数据的一致性、完整性。
  (2)NO ACTION或RESTRICT规则实现
  在S(s#,sname,d#)中对外键设置了no action规则:
  foreign key(d#) references  D(d#) on update no action on delete no action
  当在S表中设置外键取值为No Action或者Restrict时,则当在主键表D中修改或删除一条系的记录时,系统首先检查该记录在外键表S中是否有对应记录,如果有学生在该系,则不允许修改或删除(即外键表约束主键表)。
  (3)SET NULL规则实现
  在S(s#,sname,d#)中对外键设置了set null规则:
  foreign key(d#) references  D(d#) on update set null on delete set null
  当取值为Set Null时,则当在主键表D中修改或删除一条系的记录时,首先检查该记录在S表中是否有对应外键,如果有则将S表中对应的记录的系的值(外键值)设置为null。这里也是外键表约束主键表,不过这就要求该外键允许取null。
  (4)SET DEFAULT规则实现
  在S(s#,sname,d#)中对外键设置了set default
  foreign key(d#) references  D(d#) on update set default on delete set default
  当取值为Set Default时,则当在主键表D中修改或删除一条系的记录时,首先检查该记录在S表中是否有对应外键,如果有则将S表中对应的记录的系的值(外键值)设置为默认值。
  结束语
  外键是用来控制数据库中数据的数据完整性的,阻止非法数据的存入,减少数据库冗余性,避免了脏数据的产生,保证数据一致性有很大作用。外键是数据库一级的一个完整性约束,是参照完整性的数据库实现方式.
  参考文献
  [1]刘亚军,数据库原理与应用[M]清华大学出版社:北京 2020.7
  [1]万常选,数据库系统原理与设计(第3版)[M]清华大学出版社:2018.1
其他文献
摘要:本文以空间数据模型所提出的空间统计的分类标准为基础,将空间统计方法分为空间点模式分析、面状数据的空间模式分析以及地统计分析,对空间统计方法进行了一一阐述,在对理论进行研究的同时选取其中较为典型的部分方法结合实际在ARCGIS中进行应用。基于ARCGIS进行空间统计方法的研究,能够帮助我们更深入的了解空间统计方法,也便于我们以更为简单、方便的方式去使用这些方法,使其面向的受众更为大众化,普及到
期刊
摘要:地基施工质量直接影响建筑工程质量与安全,需要在施工中严格把控地基施工质量,并掌握正确的施工技术,才能使整体建筑质量得到保障。本文结合某市政建筑工程,分析市政建筑工程地基施工技术要点,为相关施工单位及施工人员提供一定参考。  关键词:市政建筑工程;地基施工;技术要点  一、前言  在市政建筑工程施工建设期间,地基施工质量合格与否至关重要,而不同工程现场有着不同的地质条件,需要采取针对性的地基施
期刊
摘要:随着我国建筑行业的发展与城市化进程的推进,高层建筑施工量逐年递增,施工过程中的质量和效率显得越发重要。高层建筑施工存在着许多难点,只有掌握了这些难点的处理方法,才能抓住施工的核心要求,提升整体的施工质量。  关键词:高层建筑;施工难点;分析研究  高层建筑施工不同于其他类型的建筑施工,其工作场地高度较高、危险性较高。而且高层建筑的总工程量较大,建筑强弱电的安装和智能化技术的应用方式都是难度较
期刊
摘要:在社会经济快速发展的背景下,建筑行业也发生了翻天覆地的变化,建设工程的规模越来越大,施工复杂程度也越来越高,因此对施工质量也有着更高的要求,加强对建筑工程施工质量的把控成了建筑施工中的首要问题。对建筑工程来说,墙体裂缝是最常见的质量问题,墙体裂缝的存在严重影响到了建筑体的完整性、稳定性和美观性,还会对居民的生命财产安全造成一定的威胁。因此本文主要针对建筑墙体产生裂缝的问题进行分析,并给出相应
期刊
摘要:危化品既危险化学品,对人体健康、生态环境的影响危害隐患极大。所以,提高对危化品的重视,加强施工安全管理,明确其中存在的问题并完善,是当下需要高度关注的话题。  关键词:危险品;安全管理;问题;策略  我国的危险化学品所造成的问题频发,大部分危化品对人体健康和环境具有长期的影响。随着我国科技的进步与创新,危化品的使用范围逐渐扩大,这也就导致在运输、生产与使用期间极易发生事故。据统计,在我国每年
期刊
摘要:近年来,国家经济发展迅猛,极大地推动了汽车行业的发展,但随着经济体制的逐步完善,汽车企业的发展面临诸多难题与挑战,为了能够在激烈的竞争形势中不落于下风,就要不断加强汽车市场营销管理,采取有效的方式方法。基于此,本文介绍了汽车市场营销管理中的问题,如网络营销、客户需要、销售人员以及营销服务等,对此提出了相应的解决措施。  关键词:汽车市场;营销管理;问题;措施  现如今,汽车行业发展势头一片大
期刊
摘要:在我国建筑领域之中,对于冲孔灌注桩施工技术的运用较为普遍,此施工技术所具备的优势较多,应用范围更为宽泛,同时对于环境造成的伤害也较小,然而不可否认的是,冲孔灌注桩施工技术也存在着明显的不足,如其的承载力易于受施工质量的直接影响,并且对于混凝土来说,还为在泥浆之中加以灌注,所以在实施质量控制的过程之中则较为困难,所以在建筑工程施工之中,运用冲孔灌注桩施工技术时,务必要予以谨慎合理的运用,并对此
期刊
摘要:近年来,各种新能源发电方式不断涌现,光伏发电就是新能源发电的典型代表,光伏发电具有噪音零、零辐射、无排放、无污染等多种优点。本文基于光伏建筑一体化板块发展趋势问题,通过使用加权最小二乘法、线性回归、蒙特卡洛模拟法等方法,建立股票价格预测分析模型,运用matlab、SPSS、EXCLE等软件,得到了所给37支股票的风险排序。通过结果分析可以看出看出近10年来,尽管行业发展存在波动,但发展前景较
期刊
摘要:随着互联网时代的到来,农产品电商作为电子商务的分支出现,其中“直播带货”作为一种伴随着电商经济发展起来的新型营销方式,可以有效地将电商经济与农产品行业相结合。在此背景下,对重庆市忠县农产品直播电商发展现状及现存问题展开分析,并从直播专业人才培养、农村互联网基础设施建设、物流配送及售后服务体系等方面归纳总结了路径建议及措施,对助力重庆市实现乡村振兴有重要意义。  关键词:农村电商;直播带货;乡
期刊
摘要:在将老街建筑改造成产业园区内的餐饮店铺时,不能将老街建筑推倒重建,而应该通过彰显老街建筑的文化特色和独特的空间结构来提升餐饮店铺的吸引力,赋予餐饮空间独特的、古朴的、怀旧的、充满人文性的气息,赋予餐饮空间独特的功能,在推动当地餐饮经济发展的同时,让老街建筑重焕新生,推动城市文化产业的健康发展。本文首先介绍了在进行老街建筑餐饮空间景观设计的必要性,接着重点论述了老街建筑餐饮空间景观设计的策略,
期刊