00:00
我们接下来呢,下边还有这么几个啊,给它写了就完了,后边也没什么难度了,没什么,没什么特别新鲜的东西了,那这块我们要说一个什么呢?首先他让我们干嘛呢?第一个26个将我们这个dept和EP集合导入到我们这个数据库中,什么意思呢?就是说现在啊来我先刷新一下,直接选中这个东西,选中这个数据库,然后一刷新就刷新集合,如果你选中这儿一刷新就刷新我们的这个数据库啊,选哪就刷哪个,那现在我们这边是不是有这么几个集合呀,那这么几个集合,那现在呢,在我的这一块啊,有一个这个数据有这么两个GSS文件,一个叫做de PT点杰森,还是叫emp点杰森,De PT叫做department部门,哎部门EP employee员工说白了就是一个部门的集合,还有一个员工的集合,其实这里边一打开的话,你用你的文本编辑打开,其实里边就是什么呀,是不是就一个一个接他呀。
01:00
哎,就是一个一个的这个接森,在这里边呢,也是一样的,一打开都是这种一个一个的这个接森啊,都是一个接森,那现在挺好干嘛呢?然后把这个数据现在是不是还在文件里啊,他要把这个数据是不是导到我们的这个数据库里啊,怎么导?我们来看一下在这怎么导,你要往集合里导,你需要干嘛呢?诶右键先选中这个connection,注意你往哪里个导,你就选哪个collection,你要想往PA导,你就选这个collection,行,往lo里导就选这个什么呀,Lo这个往哪个里边导就要选哪个,那我是不是想往这个my type里导啊,直接右键选中,有一个叫做import import就是什么呀?导入啊,导入data叫什么呀?数据啊,数据import data from file,说白了就是从文件里导入数据,直接选中,然后在这儿我们让你选CSV,还是我们这个杰森,我们这是一个杰森,然后在这选一个文件的一个名字啊。
02:00
房件名字来点中选哪呢?我在我的课件里先找到文件夹课件,我们这个no的mango数据是不是两个呀,先来这个dept打开,然后这就完事了啊,选中这接头文件,然后点击next next在这呢,你选择file encoding,我们文件的编码他选的是auto,哎,什么什么呀,就自动决定,它自动决定,我们让它自动就OK了,然后再选这个next在这啊选next选完了以后在这让你选,哎,你是导一个新的集合里,哎还是什么呢?添加到一个也存在的集合里,我们这就什么呀,直接等一个新集合就完了啊,新进就合完了,那这块呢,名儿呢,我们就不改了,这叫什么呀,De pd,但是你想改,你加个S也OK,我这不动了啊,然后点击Q。执行啊,执行一执行来看是不是多了一集合呀,哎,多了一集合,然后在这我们来看一下,直接我们来看DB,点一个E,诶叫做一个de PT点一个find,这一执行是不是就查到数据了啊,查到数据了,然后后是不是还有一个呢,Employee,我们这一点再来一个这个employ,还是那个还是那个过程啊jsson file选中文件这里导的是emp,然后点击next,点这这东西它不太符合人习惯,我们一般选完了以后,我我习惯上下边找去是吧,结果下边看不见跟上边呢是吧,在上边呢,点这个next,然后表名不用管它,直接ex emp是不是也来了,哎,在这都给它关掉。
03:40
关掉以后大家我们来看一下DBDB点一个EP,点一个find,我们这一直行一看。数据是不是也都出来了啊,都出来了啊,这是我们这么几个数据,一个是员工,还有一个是部门,那我问你了,员工和部门什么关系。哎,一个部门里边有几个员工,哎,是不是有多个员工啊,但是一个员工只能属于什么?哎,一个员工只能属于一个部门,所以他们两个人就是一个一对多的关系,那怎么映射的?比如说我们来看,假如说我想看看林冲是哪个部门的呀,他是不是有一个第1p number,第一批number多少,20 20,那我来看他是哪个部门的。
04:23
是不是办公室的呀?哎,所以林冲就是这个办公室的,那通过这个是不是可看出他是哪个部门的了,哎,所以注意啊,他们两个表的一个关系,好,那接下来我们来看两个表吧,先看第一个我们的dept,它里表里边有这么几个字段,ID就不说了,唯一标是管它了,然后这有一个DEP number dept number什么意思呀?部门的编号d department编号啊,十号是财务部,诶20号是办公室,30号是销售,40号是运行,然后这个地地妹呢,是我们这个部门的一个什么呀?名字啊不如名字,哎,Location LC是我们部门的什么呀,地址,这是一个大公司是吧?财务部在北京,办公室在上海,销售部在广州,运营部在深圳,哎,这公司维护起来就老老难了是吧?诶,这交流起来费劲死了是吧?啊,这是一个,然后再看我们的这个员工表,员工表里边,诶,ID就不说了,然后再来一个EP number是什么呀?员工的编号,换句话说是你的工号,懂这意思吧。
05:23
哎,你的工号啊,73697374997521就不说了啊,就不说了,然后1NAME是我们员工的一个名字啊,名字林冲啊,孙二娘啊,扈三娘啊,卢俊义等等,是员工的名字,赵着,哎,职位啊职位,林冲呢是职员是吧,孙二娘是肖售,宋江是董事长对吧?哎,董事长职位,然后MGRMG什么意思呢?Manager经理啊经理,那说白了林冲的经理是7902 7902是谁呀?7902是不是无用啊,所以说白了,林冲的经理是什么呀?是吴用啊,是吴用,其实这也是映射了一个什么呀,一对多的关系,我一个经理是不是可以预对应多个职员呀,一个职员是不是只对应一个经理啊,这也是一种方式,然后这是一个这个hi尔data,海尔data应该是入职时间啊。
06:23
啊,什么时候来来公司工作的啊,这应该是一个入职的,一个应该是这应该是date,这块写错了,应该是higher date应该日期,这data是变成数据了,这个写错了啊,应该还是date啊,还是date,然后下边一个叫做salary salary是什么呀?工资啊工资林冲月薪是800啊月薪800苦死了是吧,然后第一批的number是他的这个什么呀,实际上这个部门编号啊,不是编号,然后这个common是他的一个这个提成。啊,提成,你看大部分人是不是都没有提成啊,只有谁有提成啊,哎,只有销售才有提成,所以都是销售是吧,销售才有提成啊提成好大概是这样一个结构,然后我们来看一下让我们做的事啊,其实基于这边可能做很多事,我们做些简单的OK了,那这块让况呢,查余查询工资小于。
07:13
2000的员工,诶直接来吧,DB点一个这个emp,点一个fund的工资小于2000应该是谁呀?S是不是salary啊,诶salary小于2000东西,哎当会LT一个2000,然后已执行哎是不是。这老几位啊,哎,工资都小于2000的包包括等于两千点不包括,如果要包括的话,你加一个E,这一直性,诶没有2000的是吧,有2000的咱们就LT是吧,好,然后再看下边一个叫做查询工资在1000~2000之间的,那这事是不是就好好办了,哎LT2000还得干嘛呢?哎,GT什么呀,1000因为小于2000大于1000的,然后这一直行走你哎是不是这几位呀,哎都是1000~2000之间的啊,1000~2000之间的,然后下边一个让你干嘛呢?让你查询工资小于1000或大于两千五的,诶查两头的是吧,查工资低的,还有工资高的,这怎么办?我一想,诶这个我写呗,小于小于1000大于两千五找呗,能不能找着,哎这玩意儿一个也找不到,为啥呢?哎,我这么写。
08:33
那变成什么了?小于1000同时大于2500,有这种人吗?没有这种人啊,你要不然你比他小,因比他大,这两个条件是矛盾对吧?我现在这么写表示什么呀?表示的是且吧,两个条件是不是同时满足啊,而我这要求什么呀?要求得是或你或者小于1000或者大于2500,那怎么能体现出一个或的关系,诶在这儿取反取取不着是吧?在这儿看啊,我们查询操作符这块往下看有一个什么呀,是不是有一个二啊,哎二你看什么呀,里边写一个A冒号一,B冒号二,这什么意思呀?
09:14
哎,找A的值是一的,或者是B的值是二的,两个是不是都行啊,所以这块用的是一个O啊O看怎么用的,O怎么用的,后边跟的是一个什么数组吧,哎,数组说白了哦,后边跟的是一个数组,数组里边是不是放多个条件呀,这个多多个条件里边只要满足一个是不行啊哎,只要满足一个就行,所以在这儿我们来看我怎么改怎么改呀,那就不能这么写了,来一个这个大块来什么呀,Dollar哦,然后冒号根据什么呀,数组,因为我这里边是有多个条件呀,先写第一个,第一个是我们这个sa干嘛呀?Dollar符你得是L t1000是不是小于1000呀,这是刚一个条件呀,然后再来写一个来什么呢?Sal冒号一个,这个刀符GT一个什么呀,两千五能看懂吗?
10:12
来,咱们先看一下这效果啊,先执行一下吧,直接EF6我们来看,现在来看,你看这是不是都是两头都出来了,你看这5000的,这800的是不是都出来了,哎,多的跟少的都出来了,那这什么意思哦,后边跟的是一个数组,看到了吗?数组里边我跟了两个条件,两个条件是不是每个条件都是用一个大块给圈起来的,两个条件,你说这两个里边只要有一个满足是不是就行了,那就行啊,这个是一个哦啊表示的是货的关系啊,货的关系待会来自己看一下啊,我自己看一下,好再往下来看,让我们干嘛呢?查询财务部的所有员工。财务部所有员工。财务部,那我们部门是不是得根据这个第1p number来查呀,哎,第1p number,所以这块我写一个第1p number啊,那这块第1p number我往后写吧,第一批,那问题来了,第一我们很好能看到对吧,23,但是问题是什么,财务部的编号是多少啊?财务部的编号多少,那我是不是得找一下啊,比如说我来一个deb点,一个这个dept点一个find的,我来现都查出来,这一执行是不是查询所有啊,我一看财务部多少啊,是十,那我不能用眼睛去看吧,我这是不是得在这个程序里头能体现出来呀?那首先我是不是得先得查到财务部啊,怎么查?哎,直接我这来一个d name,你得是财务财务部,财务部,然后干嘛呀,我要的是什么,你的第一批number吧。
11:57
对,所以点一个DEP number是不是就OK了行吗?
12:05
我这是的,你这行是个啥玩意儿,数没东西啊,哎,没东西,为啥没东西啊,数组你这得干嘛呀,中括号加索引是不是才能出来东西呢?所以注意啊,范的返回的是个数组,所以这必须得加索引,或者怎么办?哎,要不然你就用find的是吧,是不是也行啊,哎,也行,是不是就查到了财务部的这个number啊,但是注意啊,这个表设计的有问题,我们这执行啊,你现在看我现在查的这个结果,这个玩意儿叫什么?叫depp number,看到了吗?而在我们员工里边叫什么呀?叫DEP number。看到了吗?他差了一个什么呀,差了一个T,但是他俩实际上是不是表示的是一个意思呀,一个意思,但是这样的话,这个还好,差距不是很大,看到了吧,差距不是很大,但是有一些情况下,我们这个表数据量很多,如果你这名起的不一样的话,我们是不是没有办法直观上来判断这两个是一个意思呀,所以我们在设计这个集合的时候,设计这种表的时候,一定注意这两个字段,如果表示是同类同一个意思,尽量名字什么呀,一样,或者呢,你能看出什么意思啊,你像这种就很坑人,因为什么呀,我第一次看明显感觉是一样的,对吧,但是我如果用的话会发现什么呀。
13:36
就不一样了,我这如果写的第一批number干嘛呀,什么也拿不到啊,什么拿不到,所以这块注意是不是什么也拿不到啊,所以你要注意啊,注意这个表的名起的时候它是有讲究的,完了这个了然。我是不是整个变量存起来呀,哎,我这叫一个DEP number啊,等于它然后在这取的时候干嘛呢?DB点一个叫做EP点一个find find谁呀,Find我们叫做一个DEP number的值,你得是我刚才查到这个吧,哎,这是刚才查到这个,然后这来选中他一执行,两个都选中一执行,我们来看诶财务部谁呀,柴进宋江武松。
14:22
鲁智深是吧,一个老板一个会计,两个保镖是吧?两个保镖,这是我们这个财务部的这个配置,看懂这意思了吧?哎,所以这块怎么查的,我们分两个语句来查,但是这里边儿还是啊,再强调一下,这两个名不一样,以后你们在开发的时候一定要注意,如果真的让你命名的话,千万要不要犯这种错误,因为这种错误干嘛呀。很恶心的啊,是很很麻烦的一件事儿,千万不要犯这种错误,以前我们公司就是什么呀,他还不是故意起名不一样的,他干嘛呀,他写错了,怎么写错了呢?那个叫做business那个单词是吧,我也不现在我也不会拼那词是吧?哎叫什么叫做一个business是吧,叫做一个business啊business注意了,那哥们在创建数据库的时候呢,我们那他用的什么呢?他用的是BIS,反正也不知道咋拼的,反正就干嘛了,就拼错了,就拼错了,拼错完以后刚整完还没发现,你知道吧,系统运行了一段时间以后干嘛呢才发现的。
15:29
才发现的,那我们当时用的还都是,那肯定都是用的关系性数据库,这玩意儿改干嘛呀,很不好改,或者改的成本很高,所以干嘛呀一直就没改,能理解吧,一直就没改,但是这块就带来一个问题,这个玩意儿你在数据库里用,你在程序里边是不是也得用啊,程序里边我们定义的一个变量叫什么呢?叫business。这是对的,然后呢,不仅你要在程序里用,在我们的页面里是不是也得用啊,在页面里那哥们儿又拼错了,而且错的还不一样,叫做巴斯把I变成A了,也不知道咋想的是吧,就跟查个单词是查查个词典去,反正拼错了,但是实际上这三个玩意儿代表什么呀,代表的是一个意思,代表一个意思,但是呢,是三个不同的单词,好,谁一到公司工作就疯了去了是吧,这怎么考察公司是不是公司老员工了,把这三个拿出来,让你问问这仨是不是一个东西,你要知道是一个东西,那证明你是老员工是吧,你说这仨。
16:29
谁也不碍着谁,那干嘛了,新来的肯定是新来的,所以像这种设计干嘛呀,就很恶心,就很恶心,那同学说你怎么不改一下啊,怎么改一下啊,哎,改不了了,我到公司,我我刚到那家公司的时候,那个项目已经做十年了,是吧?好,你这十年里边他干什么事儿你不知道,你改一个地方怕什么呀,牵一发动天身吧,好,你这儿改了,所有系统瘫痪了,那是不是得不偿失啊,所以干脆干嘛呀,就没人敢动他了啊,没人敢动他了,那这东西什么时候没呀?
17:02
等项目生命周期结束了,软件淘汰了,这东西就干嘛了,也就没了,所以你们在起名的时候一定要注意,这种错误可千万不要什么呀,不要犯太恶心了,而且干嘛呀,这叫遗臭万年,哎,除非你你在公司里干什么事,你就别留名儿,你要让人留着名儿是吧?这一谈起来,这哥们当时创建几个变量,这么起的名,那你就干完了,你就完了啊,就完了,遗臭万年是吧?哎,都是你干,所以起名一定要注意啊,这一块设计就不太好,因为这两个字段名不一样啊,不一样好诶来接着往下看,下边呢,查询参销售部的了,接下来是不是要我们查刚才是财务部,这个是不是查销售部,那是不是一样的呀?把财务部换成销售,销售看看销售部是谁,直接一执行走你销售部,哎,是我们这。老几位是吧?哎,孙二娘,扈三娘,潘金莲,西门庆,阎婆惜是吧?哎,西门庆带领这个,诶西门庆还是经理是吧?带领这个四大销售是吧?造销售啊好,这也是我们说的这个销售不足的员工,然后来看查询什么呢?查询MG为767698的所有员工,MGR是是不是经理编号,诶其实就这几个是吧,就这几个7698就是西门庆是吧?说白了就是查什么呀,查7698西门庆的手底的对吧?那怎么玩啊?
18:37
哎,DBDB点一个EP,点一个这个find的find的谁呀,叫做一个MGRR为这个7698啊,7698这一执行是不是这四位呀?哎,这是我们这个他们的经理都是西门庆,那这块注意了,看着我7698在这实际上看不出来,如果在这你能看出来7698是个什么玩意儿,是个字符串还是number number啊是个number,但是我这如果写个字符串呢。
19:08
把这改成字符串,我们来看一直行是不是一个都没有啊,大家一个都没有,所以查的时候注意数据类型,它到底是number还是字符串啊,Number还是字符串好,这个是我们说的一个,然后再往下,诶下边最后一个叫什么呢?涨工资是吧?涨工资为所有薪资低于1000的员工增加工资400元,那这块得用谁了,是不是update呀?诶update,所以这块直接d bemp点一个阿尔法date哎修改修改什么呀,工资低于1000的员工,那我是不是先找到工资低于1000的呀?哎,那这块他是所有改几个呀。哎,全都买吧,那所以我用update还不行,Update你还得加数,比较麻烦,那干嘛呀,直接update是不是行了,修改多个啊,然后工资低1000的,我是不是现在找到工资低1000的呀,直接来什么呢?来一个ary冒号,然后哎来什么呀,到服来一个这个哎LT什么呀,1000咱们来什呢?把等于1000也算什么,应该好像没有正好的,但是咱们也算什么,那这就表示什么呀?把等于1000的是不是都选中了小于等于1000的,然后干嘛增加400,那我怎么办?
20:29
哎,我一想增加400来一个Dollar一个。怎么呀,Sell一个400行不行啊,这就不是涨工资了是吧?是不降工资啊,工资低于1000的,把你工资变成400,这不把这帮哥们得辞职了是吧,这就不对了,那怎么办?要增加100,怎么增加100咱们先看啊DB点一个emp,点一个fund呢?我们先查询一下,比如说林冲工资是不是800啊,我应该干嘛呀,增加400是不是变成一千一千二啊,哎,1200,那再比如说我们来看还有没有谁低的哦,就林冲跟武松俩人是吧?哎,武松是950,增加400时候应该变成一千三百五啊,那我这增加什么意思,在原来的基础上进行增加,而我S是不是直接就修改了,那怎么办呀?哎,我们这有一个修改器在我们update,比如什么呀,叫做rement I。
21:35
INC叫什么呀?自增啊,自增那什么意思呀,直接改我们来看效果,Dollar side改成Dollar INC,我们看效果啊,在这我这一执行走,你改了几个两个我们再来查询。你看林冲变成什么1200,而我们这个武松变成1350,是不是在他们基础上加了400,所以INC increment叫什么呀,自增,在原来值的基础上自增什么呀,400相当于我们这个什么呀,加等于。
22:08
400看懂意思吧,在原值上进能加等于400,那如果我要减400呀,我是不是来个负400就完了,哎,负400就减了啊,负400减了,所以注意啊,叫做一个在原值基础上进行增加400啊好,这一块我们就给他说完了啊,这一些我们的这个又说了几个啊,这里边儿其实呢,咱们没有去讲什么,太复杂一个查询,但是这些东西对于咱们来说基本上就已经都够用了啊,都已经够用了,把这几个操作再来给它熟悉一下啊,熟悉一下我们来听一下。
我来说两句