-
数据库5之完整性约束的实现
2018-06-25 13:09:29在上一篇文章中,我们已经对完整性约束有了一定的概念,并且做了分类。实验操作放在另外一篇文章分类:1.实体完整性约束2.域完整性约束3.那么怎么实现完整性约束呢?1.完整性规则的定义:通过SQL,也可以SSMS交互式...在上一篇文章中,我们已经对完整性约束有了一定的概念,并且做了分类。
实验操作放在另外一篇文章
分类:1.实体完整性约束2.域完整性约束3.
那么怎么实现完整性约束呢?
1.完整性规则的定义:通过SQL,也可以SSMS交互式创建
2.(运行时)进行完整性规则的检查
一、实体完整性约束
1.主码(primary key)约束
-->可以定义为表级约束条件,也可以定义为列级约束条件
区别:
2.唯一(unique)约束
对于指定的一个属性或者属性集合,不允许出现重复的值。
注意区别primary key约束
-->一个数据表只能创建一个primary key约束(可以有多个列,但是primary key只能出现一次),但一个表中可以根据需要对不同的列创建若干个unique约束(unique约束和primary key约束一样也能在表级约束定义)
-->primary key的字段取值不能为null,因为它是区分该表中此记录和其它记录的一个键值。而unique字段的值可以取null
-->建立主键的目的是为了让外键使用,所以不允许存在空值
-->一般创建primary key约束的时候,系统会自动产生一个索引,默认类型为簇索引。创建unique约束时,系统会创建一个unique索引,索引的类型默认为非簇索引。但是也可以指定创建。
****************************************************************************************************************************
索引:根据索引可以找到对应的物理地址,从而更容易找到需要的数据的地址。例如查字典,找到偏旁,再找要查的字。
簇索引:顺序结构和物理结构一致的一种索引,查字典,通过拼音查找该字,而拼音是按照ABCDEF排序的,对应的字也是按照ABCDEF排序。
非簇索引:顺序结构和物理结构不一致的一种索引。通过部首查字法来查找该字,没有一定的顺序。
****************************************************************************************************************************
注意,如果表中已经有数据,建立主键/唯一约束可能会出错。
二、域完整性约束
1.非空(not null)约束
-->声明某个属性不能取空值
2.缺省(default)约束
-->如果列中没有输入值就会填充默认值。
非空约束只在列级约束条件中定义,不能在表级约束条件中定义。
-->修改表创建默认约束,建立好一张表之后,通过修改该表来创建一个默认约束
表的创建:
修改表添加默认约束:
3.检查(check)约束
一个字段的输入必须满足check约束的条件,否则不能正常输入。例如:sex只能取男或女,不能取其他的值,此时可以定义一个check约束来约束当前列的取值。注意:timestamp和identity两种类型的字段不能定义check约束。
两种定义方法:
具体的实验操作和步骤以及注意事项会另外写一篇文章
三、参照完整性约束
1.外键(foreign key)约束
-->cascade级联删除和级联更新(以下表为例,班级表是主表,学生表是从表)
级联删除就是删除主键表数据的同时,外键表的数据也同时删除。
级联更新就是更新主键表数据的同时,外键表的数据也同时更新。
-->no action方式
不允许删除,将不会对表产生影响。
-->set null方式
将所有的外码值设置为空值。
-
破茧成蝶-用户体验设计师.pdf
2018-12-08 14:05:306.2.2 信息量太大,页面怎么摆 6.2.3 理性的规划 VS 感性的界面 6.3 捕获用户的芳心 6.3.1 来自真实世界的灵感 6.3.2 贴心的设计惹人爱 6.3.3 如何调动用户的情感 6.4 快速表达我的想法— 纸面原型 第 7章 设计标准—... -
软件工程教程
2012-07-06 23:10:29用例只描述参与者和系统在交互过程中做些什么,并不描述怎么做。 用例图 关联关系 用例图 泛化关系 用例图 泛化关系 用例图 用例图 用例图 用例用于什么情况? 不知道什么情况不用用例 如果没有用到用例,... -
韩顺平oracle学习笔记
2018-07-08 00:16:48韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle ...如果scott把xiaoming 对emp表的查询权限回收,那么xiaohong会怎么样 Scott->xiaoming->xiaohong ,结果就是xiaoming,xiaohong,都不能查询emp表 -
大话数据结构三个版本
2018-09-10 09:39:38你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。 4.12.1队列顺序存储的不足 112 4.12.2... -
《大话数据结构》( 程杰 编著)
2018-02-15 10:00:21你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。 4.12.1队列顺序存储的不足 112 4.12.2... -
Java开源的下一代社区平台Symphony.zip
2019-07-19 04:36:02很多系统界面上仍然保持着老式风格,远远没有跟上时代发展的脚步,它们没有创新、好玩的特性,缺少现代化的交互元素和用户体验 大部分系统是从程序员的角度进行设计的,没有考虑实际的产品、运营需求,这类系统... -
毕业设计(带论文)—试卷生成系统.rar
2020-05-23 21:52:133. 建立数据库,通过对系统的分析,我们要确定数据库的结构是怎么样的,使得数据库的表结构尽可能的合理,操作上更加方便、简洁 。 4. 划分功能模块,使得整个系统分到每个小组成员,使系统能整个进行。 5. 系统... -
大话数据结构
2019-01-10 16:35:22你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。 4.12.1队列顺序存储的不足 112 4.12.2... -
大话数据结构 程杰
2018-09-01 10:06:43你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。 4.12.1队列顺序存储的不足 112 4.12.2... -
大话数据结构(中文高清版)
2017-04-19 11:57:094.11 队列的抽象数据类型 112 4.12 循环队列 113 你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是... -
Oracle Database 11g数据库管理艺术--详细书签版
2012-09-30 01:09:45他拥有Oracle OCP DBA证书和HP UNIX System Administrator证书,做过Oracle公司的高级顾问,并曾在AT&T、NBC等世界顶级公司担任DBA。目前,他管理着世界上最大的Oracle数据库——美国童子军全国总部数据库。除本书外... -
大话数据结构-程杰
2014-07-13 23:45:52你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也是可以坐的。 4.12.1 队列顺序存储的不足 112 ... -
我是通信工程专业的,2019年上期我刚上完学校的Java选修课程和SQLServer2008的选项课程,只对Java一知半解,参加这次实训本来是想选择另外一家公司的用Cocos2D做“天天酷跑”的项目的,说好跟她组队一起做天天酷跑的...
-
可能遇到的问题有,在数据交互过程中,出现由于属性名的差距导致的数据交互失败。由于Css属性设置的问题,导致界面不完整等等。设计的算法都是自己编写的,可能存在不是最优算法的情况。 二、设计正文 1 需求...
-
大话Oracle RAC:集群、高可用性、备份与恢复--详细书签版
2013-02-06 16:12:06相信大家都有类似这样的体会:“哇,这家伙怎么能想到这样做?怎么敢这样做?”。其实这些高手的所谓“特技”都不是偶然,也不是贸然下手,只是他对产品有比你更深刻的认识,知道问题的前因,知道行动的后果,所以看... -
13. 无人车与交通的交互(AutonomousVehicles: Interaction with Traffic): 主要研究无人车如何与现有的交通生态共存,特别是传统车与无人车的共存。 比较有趣的一些研究包括 V2X 虚拟交通标志,通过视觉去评估...
-
MySQLDBA运维笔记.pdf
2019-11-04 15:53:17mysql 总结........................................................................................................................................6 1.1 数据库的种类....................................... -
vc++ 应用源码包_1
2012-09-15 14:22:12列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
vc++ 应用源码包_2
2012-09-15 14:27:40列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
vc++ 应用源码包_6
2012-09-15 14:59:46列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
vc++ 应用源码包_5
2012-09-15 14:45:16列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
vc++ 应用源码包_4
2012-09-15 14:38:35列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
vc++ 应用源码包_3
2012-09-15 14:33:15列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。 iconbutton_demo.zip iconbutton_src.zip 创建一个按钮,并在上面显示图标。 jpeglib_demo.zip jpeglib_src.zip 利用Delphi的代码在VC中显示JPG... -
纳税服务系统六(信息发布管理模块)【Ueditor、异步信息交互、抽取BaseService、条件查询、分页】 纳税服务系统七(投诉管理模块)【显示投诉信息、处理回复、我要投诉、Quartz自动受理、统计图FusionCharts】 纳税...
-
java 面试题 总结
2009-09-16 08:45:34JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用... -
网管教程 从入门到精通软件篇.txt
2010-04-25 22:43:49CDI:Philip的高密盘交互格式 CDM:Visual dBASE自定义数据模块文件 CDR:CorelDRAW绘图文件;原始音频CD数据文件 CDT:CorelDRAW模板 CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件 CFG:配置...