数据库
bijingrui
bijingrui1997
展开
-
并发控制 数据不一致性的来源
1、丢失修改(lost update)两个事务T1和T2,读入同一数据并修改,T2提交结果破坏了T1提交的结果,到这T1的修改被丢失。2、不可重复读(Non-Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行修改操作,使T1无法再现前一次读取的结果3、读“脏”数据(dirty read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读...原创 2020-05-01 23:59:00 · 545 阅读 · 0 评论 -
锁 S/X锁、两段封锁协议、死锁
·锁本身并不能保证冲突可串行性。·锁只是控制的手段。但如何用锁,仍需说明。---不同的协议两段封锁协议:可以保证 冲突可串行性...原创 2020-04-13 03:26:18 · 753 阅读 · 1 评论 -
可串行化 冲突可串行化 判断方法
可串行化调度多个事务从宏观上看是并行执行的,但其微观上是并行执行的可串行性:串行肯定是正确的,执行结果等价于串行调度 且 结果也正确的调度 == 可串行化调度冲突可串行性:交换2个 没有冲突的操作 最终变成 串行调度满足冲突可串行性,一定满足 可串行性!可串行性 不一定满足 冲突可串行性(观测可串行化调度 等价于 某个可串行化调度)读写 与 冲突原创 2020-04-13 01:25:00 · 22104 阅读 · 1 评论 -
事务的隔离级别
https://www.cnblogs.com/ubuntu1/p/8999403.htmlRead uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,程序员的工资是3.6万/月。但是发工资时老板不小心按错了数字,按成3.9万/月,该钱已经打到程序员的户口,但是事务还没有提交,就在这时,程序员去查看自己这个月的工资,发...原创 2020-04-09 06:17:45 · 109 阅读 · 0 评论 -
模式分解为3NF BCNF
https://www.bilibili.com/video/BV1eE411a79r讲的很好!原创 2020-04-09 03:15:42 · 776 阅读 · 0 评论 -
事务的ACID特性 各特性由什么保证 WAL是什么
Atom原子性:要么全都做,要么全部做Consistent一致性:并行的结果 与 串行的结果 一致。(这一点由隔离性保证)isolation隔离性:事务与事务 相互之间不影响,串行T1 T2 /T2 T1 并行 T1 T2 都不影响durability持久性:结果写入磁盘,对整个数据库的影响是永久性的,哪怕断电,提交了就是提交了,结果改变了就是改变了。其中 原子性、...原创 2020-04-08 22:43:09 · 1102 阅读 · 1 评论 -
验证模式分解 具有 无损连接性、函数依赖保持性
验证无损连接性验证函数依赖保持性太麻烦了,估计也不考,放弃了!原创 2020-04-08 21:52:55 · 555 阅读 · 0 评论 -
外键的 级联删除 级联更新 :ON DELETE / ON UPDATE
学生表(sno,...)SC表(sno,cno,grade)其中SC的 sno 是外键 from 学生表的sno。如果学生表的一个学生删除了,sc表怎么办?定义外键的时候,foreign key (sno) references student(sno) on delete cascadeno action 表示 不做任何操作set null 表示在外键表中将相应字段...原创 2020-04-08 21:23:27 · 1212 阅读 · 0 评论 -
什么是1NF/2NF/3NF/BCNF
不同范式的关系什么是1 2 3 BCNF原创 2020-04-08 22:16:46 · 516 阅读 · 0 评论 -
sql 选了全部课程的学生(not exists双重否定)
-- 20150101这个学生 没有选修的课SELECT cnameFROM course as cWHERE NOT EXISTS(select * from score as scwhere c.cno = sc.cno and sno = 20150101);-- 选了所有课的 学生姓名SELECT sname...原创 2020-03-31 16:13:20 · 947 阅读 · 1 评论 -
求最小依赖集
版权声明:本文为CSDN博主「Wonz」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Wonz5130/article/details/80465245这个比较烦,要写好多好多好多QAQ。例:U=(A,B,C,D,E,G)F={BG->C,BD->E,DG->C,AD...原创 2020-03-28 20:39:55 · 290 阅读 · 0 评论 -
外连接 内连接 左连接 右连接
https://blog.csdn.net/plg17/article/details/78758593表测试数据:内连接匹配的才显示关键字:inner join on语句:select * from a_table ainner joinb_table bona.a_id = b.b_id;执行结果:说明:组合两个表中的记录,返回关联字段相符的记录,...原创 2020-03-26 16:39:16 · 231 阅读 · 0 评论 -
SQL - ALL ANY SOME
SELECT *FROM sailors as sWHERE s.age >= all ( SELECT age from sailors)这相当于SELECT *FROM sailors as sWHERE s.age >= ( SELECT max(age) from sailors)----ANY == SOMESELECT ...原创 2020-03-25 22:24:41 · 105 阅读 · 0 评论 -
数据库概论-索引
索引的作用:小内容的目录 定位到 大容量内容的 某个位置当定义Table后,如果定义了主键,则系统将自动创建主索引,利用主索引对Table进行快速定位、检索与更新操作。稠密索引 稀疏索引主索引 辅助索引主索引 == 数据块对应一个 索引项一个文件 只能有一个 主索引!!主索引 == 稀疏索引 !!! 辅助索引 == 稠密索引聚集索引 非聚...原创 2020-03-25 22:09:54 · 251 阅读 · 0 评论 -
表的描述(键、码、候选码[关键字])
码:唯一标识实体的属性/属性组合候选码(关键字):某一属性组 决定一个元组(实例),其子集不能主属性:候选码包含的属性(一个或多个属性)主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码...原创 2020-03-20 14:02:42 · 1070 阅读 · 0 评论 -
SQL练习 (水手 船 订购信息)
sailors 水手信息表boats 船信息表reserves 水手订船信息表CREATE TABLE sailors( sid VARCHAR(20) PRIMARY KEY, sname VARCHAR(20), rating INT, age REAL);CREATE TABLE boats( bid VARCHAR(20) PRIMARY KEY, bname V...原创 2020-03-22 22:36:52 · 5204 阅读 · 0 评论 -
SQL(给SELECT出来的结果表 起别名、GROUP BY、HAVING、连接JOIN ON、TOP 1(其实是LIMIT 1))
GROUPBY-- 三行: 10 20 30SELECT deptnoFROM empGROUP BY deptnoSELECT deptno, avg(sal) as '部门平均工资'FROM empGROUP BY deptno-----先按部门分组,再按职称分组HAVING 【对分组后的信息进行过滤】SELECT deptno ,avg...原创 2020-03-21 23:17:15 · 11033 阅读 · 0 评论 -
SQL(CREATE、SELECT、DISTINCT、IN BETWEEN、NULL、ORDER BY DESC、模糊查询、几个函数max() count() lower() ..)
创建数据原创 2020-03-20 15:04:16 · 142 阅读 · 0 评论