专栏系列(点击解锁) 学习路线(点击解锁) 知识定位 Python全栈白皮书 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。 语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。 自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。 自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。 数据库开发实战篇 掌握关系型与非关系数据库知识,提升数据库实战开发能力。 爬虫入门与实战 更新中 数据分析篇 更新中 前端入门+flask 全栈篇 更新中 django+vue全栈篇 更新中 拓展-人工智能入门 更新中 络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者 安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。 vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。 shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结] WEB漏洞攻防篇 2021年9月3日停止更新,转战先知 区等安全 区及小密圈 渗透工具使用集锦 2021年9月3日停止更新,转战先知 区等安全 区及小密圈 点点点工程师 测试神器 – Charles 软件测试数据包抓包分析神器 测试神器 – Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得! 测试神器 – Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。 RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。 Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。 MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。
外键约束
外键约束是用来约束多张表之间关系数据的逻辑关系,见下面两张表的示例:
“部门数据表” 如下:
deptno dname tel 10 财务部 1001 20 技术部 1002 30 销售部 1003
“员工数据表” 如下:
empno name sex deptno hiredate 1 张三 男 10 2012-12-12 2 李四 女 30 2018-08-08
按照逻辑关系来看,应该是现有部门信息,然后才是员工的记录。这里按照先后,我们会将 “部门数据表” 称之为 “父表” ,“员工信息表” 称之为 “子表” 。
根据上述的情况来看,如果我们将 “财务部” 从 “部门数据表” 中删掉了,那么 “员工信息表” 中的 “张三” 就不符合逻辑了。
有鉴于此,为了约束数据表之间的关联数据的逻辑关系,就必须要引入外界的约束了。
接下来我们就看一下外键约束的 “父表” 与 “子表” 之间的创建语句。(需要注意的是 的定义是写在子表上的!)
“部门数据表” 建表SQL语句如下:
“员工数据表” 建表SQL语句如下:
为什么放弃 “外键约束”
为什么要放弃 “外键约束” 的语法呢为在多张表之中,如果我们建立了外键约束,一但形成闭环结构,那么任何一张表的数据都是无法删除的。会非常的麻烦…嗯…超级的麻烦。
形成闭环结构之后,任何一个数据表中的数据都是无法删除的,这样的情况下,数据库就丧失了增删改查的灵活操作,所以说在创建数据表的时候一定要放弃外键约束的。
在真实的项目中,上百张数据表是很正常的,所以说不好哪张表的外键就会形成闭环,从而影响到更多的数据表。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!