00:00
好了,咱们继续啊,呃,继续看我们这个项目的一个开发步骤啊,一般流程。Web项目的一般流程是这样啊,首先呢,是一个需求的一个确定,然后分析与设计,开发环境搭建,开发测试,开发测试文档编纂,那么这个呢,首先需求确定的一个确定功能和性能啊,功能是做什么的是吧,做用户管理还是系统管理的啊等等吧。性能这边是多少个并发线程是吧,并发量是多少。响应时间不高于多少毫秒,手段有什么头脑风暴会议询问啊,还有这个界面原型的方式。这个阶段是我们项目开发中最重要的阶段啊,嗯,所谓万事开头难啊,就是这个比较难一些的啊,确定下来咱们再才能进行后续的一个工作,三级的设计,包括架构和业务逻辑架构,包括逻辑架构,物理架构和技术解决方案。
01:06
逻辑架构指的是我们系统要采用采用Mac架构模式啊,物理模型呢,指的是我们这个系统啊,有几个服务器,有几个数据库服务器啊才能解决,还有我们的技术解决方案啊,使用Java还是就是技术这个。选择啊,选哪个技术。技术选型吧,啊,实际上技术选型啊。业务逻辑的分析和设计分析这块包括我们这个系统啊,要分析哪些人用使用系统做什么使用系统的步骤,什么样的明显类支撑本系统运行,是哪些明显的类,有哪些提示信息反馈给用户啊,这个呢还是那句话啊,呃,其实在需求阶段已经做了啊,但是这个东西呢,不是说严格的就在这个阶段开始啊,已经开始了在需求阶段。架构分析,呃,和。业务逻辑的设计这块的话,是我们的一个具体的类的一个确定啊,还有一个类的属性,类的接口和类之间关系,刚才说了这个吧,类之间六种关系啊,把六种关系的图掌握了啊,确定用户操作的设计上的一个反应,还有进行数据库的一个设计,开始设计数据库了啊。
02:17
对吧,数据库这块设计的话,咱们得想一想了啊。来这边咱们看一看数据库的一个设计,到底需要哪些东西啊,最常见的哪些表之间的关系啊,就是数据库的设计啊,来我们把这块说一下。嗯。表之间的关系有哪些关系啊,有这个一对一吧啊,一对多吧啊,一对多,还有多对多吧,多对多,你就说这几种啊,一对多多对一比一样。
03:06
一对一一对多啊,多对多,比如说一对一吧,啊一对一一对一有哪些典型的案例啊,典型案例有吗?一个人啊对应一个身份证是吧,也不一定是吧。一个是好几个身份证也有是也有这种情况啊,比如说那谁是吧,典型案例啊,一个人对应一个身份证啊,比如说咱们这个一对一的设计呢,第一种方式怎么设计啊,第二种方式,第三种方式有很多方式啊。
04:02
设计几张表啊,设计一张表行吧,设计一张表啊,设计一张表,然后第二种方式呢,两张表吧,啊两张表可以采用什么机制啊。主键共享行吗?两张表还有一种机制就是外键为一。主键共享,外键为一一张表啊,比如说person啊,有PID,还有PM还有。嗯,Card number。
05:00
Cut in Bo吧啊,他反正很多啊,空格吧。张三,Card number随便写了啊,Cut in随便。是吧,再来多来几个啊,去写二。怎么个情况,345啊,这边写上去1234行吧,改改啊,2345随便写吧啊来12345。一张表一张表。那要是两张表逐渐共享。
06:02
嗯。逐渐共享怎么写?下面有张表叫person吧,发一张表叫那个叫ID card啊ID card啊,这是PID,嗯,P内行吧,然后这边呢,这是PK吧,这个PK是不是好,再来,嗯,这个的话叫呃,Cut number随便写吧,啊来cut number这边是主键啊,然后呢,再来这边呢,我加一个这个这个cut in随便写吧。随便写,然后这边呢,为了表示,所以这个一啊T2啊三写上。然后呢,这个身份证呢,它是幺呃100啊,然后呢,这个音风,然后呢,我把这个复制一下啊,这个可能什么呢?200是这意思吧,那这个呢,和这个是关联的,那怎么做呀,逐渐共享。
07:11
啊,怎么做主键共享啊,这么做行啊,这不叫主键共享啊是吧,那这个时候这是一这是二,这个也是多少啊一这是二尔法,因为它设置成主键啊,再加一个什么FK外键应用谁。因为他吧。行不行啊。啊,掉了远程有问题了,远程掉了吗。我远程了不是。开玩笑呢嘛。没有调是吧,行这个什么个情况。
08:01
看看啊,好好的,怎么掉了。嗯,我怎么看不见你们了呢,你们的那个连不上了,网络连接掉了。嗯。我再看看啊。全掉了,没带。有了这个意思是我这动一动就有了接触不良了,有了吗?行了,继续啊。
09:06
把它作为主键啊,然后作为外键,这个外键引用谁啊这个吧,你想一想主键的话。它是不能重复的吧,外电引用这个值它只能这样啊,组件共享还有吗?Key person,然后tea什么来这样啊,删掉这边我把它。复制一下第三种方式,这种方式最好的啊,最好的方式可扩展,可扩展为一对多来,比如说这边呢,怎么写啊,这还是主键吧,啊这个写上100啊200吧,来咱们咱们继续啊。在这加一个外键吧,外键是cut number吧,加上FK啊外键加上外键之后呢,这边就用谁就行了,用100万,你你这要如果再加100,那是不是就有问题了,那这样的话加一个什么属性unit吗?你们学过unit吗?啊,这就变成了200万,只用200了。
10:18
唯一性约束外线唯一主线共享,还有一个就是一张表,这种是一般不会采用这种啊,这种的话我们一般分两个实体去做,一个叫人,一个是身份证啊,两个对象去处理,有处理身份证信息的,有处理这个人信息的啊,所以咱们的一般是采用这种方式更好一些啊,就是外界唯一的这种方式,那么另外的话,大家想一想,还有一种情况就是这个叫什么一对多是吧,一对多一对多的典型案例是什么?一个班级对应多个学生是吧,那这块一般。
11:00
怎么设计表啊,比如这是班级表对不对,这是,呃,这是那个学生表吧,嗯,学生表啊,那么那个班级的话,有班级的编号和班级的名字吧,来就这边的话有学生的什么,学生的编号和学生的名字吧,能这样,那你这边的学生跟班级没有关系啊,你这一号一号班级啊,就是比如说啊河北省啊,这个保定市啊,啊高这个保定市第一中学是吧,高三啊第一班是吧,那反正很长吧,啊这个名字很长,把这个复制一下,二班啊,这个写成二得了,那这个是二啊,这是一班,这能看懂吗?再来一个啊,这可能是三班的啊,这是三班的,这个信息很多,你想想我们学生和班级信息能不能存到一张表里边,是不是也可以,要想做的话是不是也能做?一对多,每一个班级对应多个学生嘛,我存到一张表里边行不行,我就把班级信息放到这学生表里边行不行,我张三是哪个班的,我后边写个班级名,你看这个班级名是不是超长啊,那这在前面再加上中国是吧,很长了。
12:09
所以这边我们分成两张表,一张表存班级,一张表存学生,那么学生这边的话,我们就一号学生啊,叫Jack克,二号学生,但三号学生来,来个史密斯,四号学生来,比如Jim是吧,五号学生啊呃,这个吧,这边写,那这边的话大家想一想,我现在要比如说他是哪个班级来上面那个一班的,那怎么办?那这加个c number就行了,对不对啊,或者加个class number,这边写上这个外外键吧,再键用外键就行了啊,这个写上这是什么?一一对吧,这写上二二,这写上三,这大家能看懂吗?再来一个,你就再来个三班的啊,六号学生啊,这边来一个改一个名啊,比如说这个改改啊,行,随便写吧。这样的话就是一对多吗?哪个是一呀?这是几个呀?有的老师这不俩吗?
13:04
别较真啊,是一个。这是一个,这不一嘛是吧,一对多嘛,对俩吧,是不是这一个这一个嘛,对俩嘛,一对多关系嘛,用外键方式啊,这是一种方式,还有一种多种情况,就是多对多吧,多对多的典型案例,一个学生可以选择多门课程啊,一门课程可以被多个学生选择吧,被多个学生啊选择,那就是多对多呗啊多对多。那比如说有一张学生表怎么设计的对吧,还有一张叫这个叫课程表啊,还有一张表叫什么叫学生课程表啊,学生课程表。那你这块的话,你学生表,比如说学生信息啊,比如说学生编号,学生的名字,那行了,咱们接下来这边写上去,那课程比如说课程的编号啊,课程的什么名字啊,然后再来还有没有像这个应该是这个吧,这这面,所以这边你要注意一个问题,下边这个叫联合组建对吗。
14:16
嗯。而且它还是一个什么呢,这个是个外建是吧,这是个外键吧,来这个外键吧,但是呢,你要记住啊,它的这个s number和加上这个叫c number叫联合PK。Primary team组建吧啊,联合组建,联合组建啊,比如说一号学生啊,还是写上二号学生三号学生啊,那接下来这边的话,我们这个课程1100这个课程吧,啊比说C加加吧啊200这个课程吧,比如说加了吧,300课程吧,啊比如说这个叫刚带啊行。那这边的话,比如说我这个为了表示这个关系啊,Jack这个学生啊,他他他他选修了这个C加加和当。
15:06
那这样的话,这边怎么写啊,都是一号学生呗,一号学生代表Jack吧,那学了两门课,来这写上,这是个叫什么100,还有什么300是吧?你这样写上,那你想一想,你这样个100,你下边还能出现再出现个100吗?你还能这么写吗?能重复吗?不能,但是这个一和一能重复,这个地方可以改成三,是这意思吧,这个没有重复啊,它联合主键,就是两个字段联合起来做主键嘛,是吧。来,比如二号学生啊,二号学生二号学生,二号学生都选了,那这样的话就是100对吧?来200来300写上来,三号学生呢啊,比如说三号学生这个嗯,选了这个200啊,还有三号学生选了这个300300行了这。大家看一看啊,双向的一对多多对多嘛,是吧,这是一个吧,是不是对俩呀,不对俩吗。
16:05
这一个啊。这是一个啊。对这一个,对这一个,然后再来看这是一个吗。这和这个不是一个嘛,是吧,对的一个对这个还有一个对这个嘛,是吧,也是双向的啊,这个表示清楚了,那么接下来呢,找位同学说一下啊,这张表如果我知道学生编号的话,请查出该学生选择了哪门课程啊,不是这知道学生知道学生编号的话啊,在这知道学生编号几啊二请找出该学生他选择了哪门课,请最后查询出学生的名字以及对应的。课程名这个四语怎么写四个九九啊。呃,查询,呃已知什么呢?已知已知什么情况,已知我们的这个。
17:02
学生编号为二,请查询啊,该学生选择的课程要求最后查显示什么,最后显示学生姓名和课程名称。怎么做?这张表大家就把它叫吧,啊,然后这张表呢,你就给我叫成C就行了,下边这张表就叫SC吧,SC。来,咱们同学说一下啊,三张表链接用499语法,已知学生编号为二啊,学生编号为二,请找出该学生选择的哪些课程啊?最后显示学生姓名和课程的名字,三张表连接啊,简单。来咱们看一下这个。
18:01
刘杰。坐坐坐坐,坐着说吧,怎么写?你说我写就行了,来,Select。声音稍微大点。S name是吧?C name是吧,继续,那这字段是对的啊,那肯定是这样这两个字段吧,啊来继续,但是呢,你想一想,这边的话,你得加表示的别名了,s.S那啊c.C那继续。From。就是这个student s是吧。你是不是S这表了,继续。
19:03
啊,就是9999的啊,不是九二语法,九九语法。嗯。一张表,Join连接谁?哎。啊啊,他们之间能连吗?看和这个连不上吧。那一个c number c number怎么呀,这个。看清楚来,我说了啊,说了来没时间啊,咱们咱们看一看啊,不等了啊,这个student,一个course,一个是student car,大家看清楚啊,这有一个s number和这个s number是相等的,这个地方有个c number和这个c number相等的吧,所以这个时候大家想想把这个c name能不能放到这。
20:09
把S能放到这儿吗?因为这个呢,就是这个嘛,你这个就是这个的话,你这个不是放到这了吗?这样的话,你这个和这个相等,然后这个呢,和这个相等吗?所以哪个表是总表嘛,这张表吧,这张表去连谁连它是为了得什么,连它是为了得什么c name这个简单吧,应该是总体思路,应该不难的,这个来怎么写。注意我提过没有提过a join,如果join b,如果再去join c的话,这是什么关系?就表示A先和b join a join引完BB之后呢,再join引C,听明白了吗?是A和B,再是A和C,不是ABBAC啊,不是这样是abacc,如果再继续往后join的话,就是a join b,然后a join c在A再join,明白我的意思吗?是这么去join的啊,所以这个时候呢,这个怎么写这个。
21:05
不是放那个吧,是不是这张表啊,是关系表啊,大家把它放到这叫什么C吧,去join teaout的目的,或者先先去join tea student吧,叫T,叫student s啊,条件是什么?SC的number和S的s number相等,大家看清楚啊,这个关系表和这个学生表的表连接条件是这个学生编号是相等的,对吧?所以这个是相等的,然后继续把A和B进行join引之后。A在和C继续转移,对吧?Join语谁叫T什么cars sc吧,Join语on吗?条件是什么?SC的什么c number等于C的什么c number吧,是这意思吧,Join on,然后最后再加whether条件吗?Where条件是什么叫S的s number等于二。
22:00
学生编号为二的,请查询该学生选择哪门课程。是不是学生选的课吗?是不是二号学生是谁呀?Sam吗?三选了哪个课?200和三百二百和300不是Java和当代吗?所以这个时候最后的查询结果我就这个表没有啊,我就写一下这个结果,这个结果是什么结果就是那个叫。嗯,S name吧,然后有一个什么name吧,来s name是谁?赞吧赞吧,接着写谁呀加马和谁刚带是吧来好。二百三百。下到那。还有吗?哦,还有还有还有100是吧,还有100100C加是吧,还有啊,要这都无所谓啊行。最后的结果是这么一个结果。
23:00
啊,注意一个表连接啊,行啊,那这样的话,典型的一个设计,我我没讲项目啊,我没讲项目,我看到这边啊,有一个那个数据库的设计,所以这个时候呢,我把大部分的设计呢,简单讲一下啊,一对一啊一对多呀,多对多呀,简单提。
我来说两句