00:00
叫数据完整性。这块呢,也很重要啊,也很重要,以后建表的时候经常会用到。来看看什么是数据的完整性。这里。数据呢,存放在表中。那么数据的完整性的问题大多是由于设计人起的。哎,这两句话说的什么意思呢?做一个小小的铺垫,看第三句。在创建表的时候。就应当保证以后数据的输入是正确的。是正确的。或者反过来说就是错误的,不符合要求的,不能够往表里边儿去录入。比如说咱们建表的时候,建个学生表是吧,有个性别列,是不是叫男和女啊。哎,咱往里边插数据的时候,男和女都没啥没啥没问题,但突然之间我就想插一个数这个字。我还想插出一个多这个字。好,按照咱们这个数据类型来说的话,那个列咱们用的是不是差。
01:01
二啊,它能不能存这么一个多这个字啊,完全没问题是吧,能不能放一个表这个字啊,是不是也没问题啊。但是咱们按照这个正常逻辑上来说的话,你的性别能是多吗?不能吧,所以呢,咱们在建表的时候就应该保证以后数据的输入是正确的。哎,说直白一点,性别那个列只能插入男或者女。换另外第三个字就不能往里插,不能往里插。哎,这个就叫数据的完整性。其实这样一看的话,那咱们对这个数据的完整性要求还是很高的,是吧,因为数据有很多,各种各样的格式,各种各样的判断,咱们今天就学习这个问题。好,这个是可靠性,准确性等于完整性啊,说白了完整性是什么?就是数据的准确性和可这个可靠的意思就是真实,对吧?
02:03
性别男女吗?比如说完整性的一些举例,输入的类型必须是正确,必须正确啊,年龄必须是数字对吧。你不能。不能来一个这个我的年龄是ABC呢,ABC是吧,不行是吧,然而呢,这个年龄还有别的要求,哎,数字嘛,没毛病啊,你输入12345678都可以,但是能不能输入9999啊。能不能输入负100啊。都不行吧?哎,所以他是不是还得要要求格式的判断啊。哥,看下一个身份证号必须18位,你见过20位的身份证吗?没有是吧,哎,所以这也是格式的判断,这个刚说过了,是不是性别男女啊。而且这个学号。学号必须是不是只输入一次啊?学号能重复吗?不能不能,肯定不能啊,哎,学号这个东西跟类似于身份证号是吧,你身份证号那肯定是在全世界范围内是唯一的是吧?哎,只有你独一无二嘛。
03:07
然后再看这个学生的出生日期,必须要小于入学日期。这是啥问题呢?如果你要不小于的话,说啥意思啊,我还没出生呢,就上学了是吧?能行吗?胎教啊?胎教胎件也不行,这玩意儿。是不是你不能说你还没出生就上学了吧?哎,所以这些东西都是叫数据完整性的,搞这个东西。必须得把这些格式进行一个判断。判断啊。其实也类似于咱们在网上,比如注册账号的时候,什么账号多少多少位,密码不能少于少有多少位。是一个意思啊。好了,那咱们这个完整性怎么去做呢?其实数据库啊,哎,我说的是数据库,不仅仅是Oracle。My circle so so DB two都有完整性的约束,而且都是这四种。
04:06
这是个通用技术啊,通用的技术,那这四种完整性约束指的是什么呢?来看。有四种。哎呀,反正现在读一遍也看不明白是吧,看我给大家挨个去介绍一下啊,首先说的是实体完整性,啥意思,看我这块给你搞出来了。能看明白啥意思吗?你看我这名儿起的。雷同说明。有这个人了是吧。哎,那怎么有这个人的呢?看好我这块,这个萧十一郎是不是已经有这个学号了。然后呢,你又把这个学号又搞了一遍,那能行吗。肯定不行嘛。所以说这个实体完整性表是啥意思啊,就是说这条数据在咱们表中必须是唯一的。
05:00
唯一的有妾只能出现一次。只能出现一次,OK。这叫实体完整性。实体完整性,就是不让你往里边插入了。那这个约整想把这个实体完整性搞定的方式有这么几种,一会儿我告诉大家这是什么东西啊,有唯一约束,有主见约束。好,先看这个什么是实体完整性,好吧。然后第二种叫完整性。看明白啥意思了。哎,我要求学号是七位数字是吧,而你现在给我整了一串是吧,那能行吗?对吧,身份证号要求18位,结果你在录公安厅录入的时候,给你来个六个八,那能行吗。对吧,肯定不行的哈,啊,这个域完整性指的就是我要保证这条区域内的格式是满足条件的。哎,域完整性就是区域的意思啊,区域的意思。
06:00
好,这个怎么做呢?这个一般都是类型数据类型检查约束哈。哎,一会儿看这是什么东西啊。好,第三种呢,叫引用完整性用,这是什么意思呢。哎,这是什么意思呢?来看一看啊。就是说你看啊。呃,这个数学考了88分,谁考的呢?12号是不是知道是胡一刀啊?对吧,13号呢,是不是乔峰啊,然后这个12号呢,是不是又是胡一刀。然后13号是乔峰,16号呢,是这个这个这个赵敏。好,都没问题是吧,就可以都找到这些成绩的主人是谁,是不是可以找得到?但是呢,我突然间往这个表里边插入一条数据,叫做数学98号,不是不是98分,谁考的呢?21号元,这个同学考的,然后一找吓了一跳,我的天呐。哪来的21号同学?
07:02
好像鬼片是吧。21号同学不存在,那这个成绩是谁考的呢?啊,老师吓一跳哈,所以这样的数据是不是不可以往里边插入啊?哎,不能往里插啊,你都没有这个人,你都没有这个人,你怎么往里边搞啊。是吧,啊,这个叫引用完整性,这个引用完整性通常指的是什么呀?是多表之间的一个协同合作。多表之间多表之间。OK。OK。再看最后一种完整性叫自定义,这个自定义呢,咱们好好解读一下这两个,这两个表哈,啥意思嘞,就是这样的。我是一个银行信用卡机构。对吧,或者说这是我的,我是一个银行啊,想买房买车了,咱们得贷款啊,对吧,想贷款的话呀,咱们在这里边就找一找。你的信用是什么样的?哎,你的信用值这样七的话,我给你贷10万,我给你贷5万,我给你贷8万,然后一看46,我给你贷50万。
08:05
然后这哥们一看,负十。得了吧,我不跟你贷款。因为你的信用是复数是吧。对吧,我是不是可以检查一下啊。哎,或者说再打个比,这又出现个会员证是吧,比如说咱开了一家会所,是是啥会所你就别管了。想在我们会会所里边办个会员证是吧?咋办嘞,我得先看看你的信用什么样。那。能开启会所的人一般有点,政府都有点门头是吧?哎,我就找找你,我跟银行去看一看你的信用记录是吧。一看哟,没问题呀,来四位爷爷里边请是吧,给你办个会员号。然后这哥们突然来个副数,想办会员号,不行,我们会所不接待你,因为你是副职。OK,明白这个过程吧,哎。这个呢,就是自定义完整性,为什么叫自定义呢?因为你想在我们会所办会员的条件,我规定的吧。
09:02
我说你负数不行,你就是不行,那有一天我心情好了,可能放宽政策,哎,负十分以内也行。对吧,负20分以外不行了,是不是都是我自己定义的。OK,那这种要求就叫自定义的完整性。自定义的完整性,好,来,咱们回到咱们的第一篇,简单的回顾一下刚才说的这几种完整性啊。首先第一个实体完整性,最简单的一个案例是什么呀?要求要求表中每一行是不是叫唯一的?唯一的啊,就不能重复,这叫实体完整性。自定义完整性啥意思来着?是我自己定义规则呀,对吧,我自己定义规则,比如说你是这个这个什么信用为负数的话,我不让你添加。对吧。然后引用完整性指的什么呀。多表之间的一个协作是吧,哎,多表最后一个与完整性是什么意思呢?这个最简单。
10:03
男女只能输入男女,你不能输入这三个字,是不是叫欲完整性啊,或者说身份证号只能18位,你不能搞19位,搞15位。OK。那么这四种完整性,四种完整性就是说的就是这个意思,那么这四种完整性具体怎么来?应用怎么来让咱们数据更加准确,更加完整,咱们一会儿再说。
我来说两句