Day02JavaWeb第二次笔记---约束、数据库设计、多表查询、事务

目录

 一、约束 19

 1.1概念&约束 19

 1.2约束案例 20

 1.3外键约束 21

1.3.1外键约束的语法 21

 二、数据库设计 22

2.1数据库设计简介  22

 ​编辑​编辑2.2.1表关系之一对多 23 

2.2.2表关系之多对多 23 

三、多表查询 25

 3.1内连接  26

 3.3子查询 27

四、多表查询案例 28

五、事务 29

事务的四大特征(面试题常问问题)


 一、约束 19

 1.1概念&约束 19

 

 1.2约束案例 20

 

注:

1、主键的特点:非空且唯一。 

2、

 自动更新的增长,就是默认为数字的话,会自动的进行排序。从小到大

注:上述中第一个框内是常用的表现格式,第二个框和第三个框是不常用的。

 1.3外键约束 21

 让两张表之间形成一种物理关系。

1.3.1外键约束的语法 21

 二、数据库设计 22

2.1数据库设计简介  22

 
2.2.1表关系之一对多 23 

 

 

 注:在多的一方建立外键,来和id进行匹配。

2.2.2表关系之多对多 23 

 解决方案:

创建一个中间表,在中间表中创建两个外键,分别对应外面的两个主键。 中间表中的id表示是逻辑顺序和实际没有关系。

三、多表查询 25

 注:笛卡尔积其实是将所有集合中的内容进行汇总。

 3.1内连接  26

内连接分为隐式内连接和显式内链接,两者最终的结果是相同的。不同在于,隐式内连接需要直接添加上表格名称。显式内连接是能够看到两者链接的谁到谁。

 隐式内连接:

显式内连接:

 3.3子查询 27

 

 注:使用下面的指令使得将两条指令变成一条指令进行执行。

指令里面嵌套一个子语句。

 子查询语法:

 注:

虚拟表:是通过指令进行满足特定条件下的表格后,对刷选出来的数据再次进行一次筛选满足某个条件的指令操作。

四、多表查询案例 28

五、事务 29

回滚事务:撤销事务。

同时成功、同时失败:通过将其进行打包成下面的三步操作即可。

注:

 1、三个步骤的第一步,BEGIN:表示开启事务,其作用表示该语句之后的内容都是临时的性的操作,直到提交事务完成才算结束。

2、在开启事务BEGIN之后的内容中,如果有报错,则使用回滚事务ROLLBACK进行。这样的话就会终止本次事务的进行,数据都恢复正常。

3、提交事务,表示完成本次事务commit,这样的话事务就会完成,数据就永久性的更改

事务的四大特征(面试题常问问题)

注:

1、原子性:表示看作一个整体

2、 一致性:事务无论成功或者失败,其数据的总额在事务成功或者失败的前后不能发生改变,保持其一致性。例如:银行两人转账,A:1000 B:1000  A转给B500 ,无论最后转账成功还是失败,两人的总金额数据不能发生改变。

3、 隔离性:隔离性越强,事务之间的操作的可见性越低。隔离性越弱,那么性能越高,可见性越好。

4、持久性:提交事务和回滚事务,对数据的修改是永久性的。

 注:

1、oral数据库是手动提交的。

2、自动提交的话,数据会进行改变,从其他的窗口进行查看也可以进行看到数据的改变。

3、手动提交的话,就是需要在本窗口进行修改数据后,需要设置手动提交一下否则数据只能在本窗口下显示进行改变,在其他的窗口下进行查询会发现数据没有发生改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值