数据库 这个调度是否避免读脏数据不可重复度和丢失修改

数据库 这个调度是否避免读脏数据不可重复度和丢失修改,第1张

常见并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。

丢失修改

下面先来看一个例子,说明并发 *** 作带来的数据的不一致性问题。

考虑飞机订票系统中的一个活动序列:

甲售票点(甲事务)读出某航班的机票余额A,设A=16

乙售票点(乙事务)读出同一航班的机票余额A,也为16

甲售票点卖出一张机票,修改余额A←A-1所以A为15,把A写回数据库

乙售票点也卖出一张机票,修改余额A←A-1所以A为15,把A写回数据库

结果明明卖出两张机票,数据库中机票余额只减少1。

归纳起来就是:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。前文(214数据删除与更新)中提到的问题及解决办法往往是针对此类并发问题的。但仍然有几类问题通过上面的方法解决不了,那就是:

不可重复读

不可重复读是指事务T1读取数据后,事务T2执行更新 *** 作,使T1无法再现前一次读取结果。具体地讲,不可重复读包括三种情况:

事务T1读取某一数据后,事务T2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。例如,T1读取B=100进行运算,T2读取同一数据B,对其进行修改后将B=200写回数据库。T1为了对读取值校对重读B,B已为200,与第一次读取值不一致。

采用并发调度的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。并发是指两个或两个以上程序在同一时间段发生,并发调度指的是当多个用户同时更新行时,用于保护数据库完整性的各种技术。并发机制不正确可能导致脏读、幻读和不可重复读等此类问题。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。在某些情况下,这些措施保证了当用户和其他用户一起 *** 作时,所得的结果和她单独 *** 作时的结果是一样的。在另一些情况下,这表示用户的工作按预定的方式受其他用户的影响。

根据之前的dong网友做的vs示意图

并结合参考,个人认为,不可重复读和幻读,应该是层次上的不同:

⑴幻读:对象(实体)的数量不同

⑵不可重复读:对象(实体)的值(属性)不同

1更新丢失

更新丢失

2脏读

脏读

3不可重复读

不可重复读

4幻读

幻读

参考:

网页链接

网页链接

单选题 1下面哪个不是数据库技术的主要特点 (D)

A.数据的结构化 B.数据的冗余度小 C.较高的数据独立性 D.程序的标准化

2下列叙述正确的为(B)

A.关系中允许有重复的元组,也允许有重复的属性名

B.关系中允许有重复的元组,不允许有重复的属性名

C.关系中不允许有重复的元组,允许有重复的属性名

D.关系中不允许有重复的元组,也不允许有重复的属性名

3如果两个实体之间的联系是1:M,则实现l:M联系的方法是 (C)

A.将两个实体转换成一个关系

B.将两个实体转换的关系中,分别加入另一个关系的主码。

C.将“1”端实体转换的关系的主码,放入“M”端实体转换的关系中

D.将“M”端实体转换的关系的主码,放入“1”端实体转换的关系中

4SQL的标准库函数COUNT,SUM,AVG,MAX与MIN等,不允许出现在下列语句 (D)中 A.SEIECT

B.HAVING C.GROUP……HAVING D.WHERE

填空题

1、班级和学生之间的联系是(一对多)联系,班级和班长之间的联系是( 一对一 )联系,学生和课程之间的

联系是( 多对多 )联系。

2、在数据库的三级模式结构中,外模式有( 多个 ),模式和内模式只有( 一个 )。

3、DB的含义是( 数据库 ),DBS的含义是( 数据库系统 ),DBMS的含义是( 数据库管理系统 )。

简答题:

1、SQL Server中的语句权限的含义及内容。

语句权限主要指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的 *** 作,如创建数据库、表、存储过程、触发器等。

2、SQL Server中数据库和应用程序的安全机制有哪四种?

用户标识与鉴别;存取控制;视图机制;审计机制等

3、事务故障的恢复方法。

反向扫描日志文件,查找该事务的更新 *** 作;对该事务的更新 *** 作进行逆向 *** 作;继续反向扫描日志文件,查找该事务的其他更新 *** 作并逆向 *** 作;继续处理,直到事务的开始标记。

4、E-R图设计中,合并分E-R图时可能产生的冲突及解决办法。

冲突主要有三种:属性冲突、命名冲突和结构冲突。属性冲突需要靠各部门协商讨论解决,但也非易事;命名冲突通常也像处理属性冲突一样,通过讨论协商等行政手段进行解决;结构冲突主要是根据应用的语义对实体联系

的类型进行综合或调整。

5、事务的四个性质。

(1)原子性(Atomicity)

事务的原子性是指事务中包含的所有 *** 作要么全做,要么全不做(all or none)。

(2) 一致性(Consistency)在事务开始以前,数据库处于一致性的状态,事务结束后,数据库也必须处于一致性状态。 事务应该把数据库从一个一致性状态转换到另外一个一致性状态。

(3) 隔离性(Isolation)事务隔离性要求系统必须保证事务不受其他并发执行的事务的影响,也即要达到这样一种效果:对于任何一对事务T1 和 T2,在事务 T1 看来,T2 要么在 T1 开始之前已经结束,要么在 T1 完成之

后才开始执行。这样,每个事务都感觉不到系统中有其他事务在并发地执行。

(4)持久性(Durability)一个事务一旦成功完成,它对数据库的改变必须是永久的,即便是在系统遇到故障的情况下也不会丢失。数据的重要性决定了事务持久性的重要性。

6、有两个实体集,若它们之间存在着一个M:N联系、1:M联系和1:1联系,根据ER模型转换成关系数据库的规则,这个ER结构转换成表的个数分别是多少?

M:N联系:三个表,1:M联系:两个表,1:1联系:两个表

7、举例说明参照完整性规则中对外码有何要求。

若属性F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中每一元组在F上的值必须为:或者为空,或者等于S中某个元组的主码值。比如:学生关系中每个元组的专业号属性只能取下面两类值:空值,表示未给该

学生分配专业;非空值,这时该值必须是专业关系中某个元组的专业号值。

8、举例说明SQL Server中有哪3类触发器。

INSERT触发器、UPDATE触发器和DELETE触发器 (不再举例)

SQL语言设计题

将借书日期在2006年4月以前的借阅记录存入临时的超期借阅表。

select into #超期借阅表 from 借阅记录表 where 日期<'2006-04-01'

设有如下三个关系模式,用SQL语句完成:

学生(学号,姓名,性别,年龄,专业)

课程(课程号,课程名,学分,先行课)

选课(学号,课程号,任课教师,成绩)

1、创建电子商务专业学生成绩视图,属性包括学号、姓名、课程名和成绩。

create view '电子商务专业学生成绩视图' as

select s学号,s姓名,c课程名,s_c成绩 from table 学生 s,课程 c,选课 s_c where

s学号=s_c学号 and s_c课程号=c课程号 and s专业='电子商务'

2、创建计算机应用专业的学生成绩统计视图,属性包括学号、姓名、总成绩和平均成绩。

create view ‘计算机专业学生成绩统计视图’ as

select s学号,s姓名,sum(成绩),avg(成绩) from 学生 s,选课 s_c

where s学号=s_c学号 and 专业='计算机应用'

group by 学号,姓名

3、查询没有成绩的学生的学号、姓名和课程号。

select distinct s学号,s姓名,s_c课程号 from s,s_c where s学号=s_c学号 where s_c成绩=0

4、查询选修课程号为001且成绩为最好的学生的学号、姓名和成绩

select s学号,s姓名,max(s_c成绩) from 学生 s,选课 s_c where s学号=s_c学号 and s_c课程号=‘001’

5、查询至少选修了二门及二门以上课程的学生的学号

select 学号 from 选课表 group by 学号 having count()>=2

主要是一致性问题。常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。 答案补充 不可重复读是指事务T1读取数据后,事务T2执行更新 *** 作,使T1无法再现前一次读取结果。具体地讲,不可重复读包括三种情况:

事务T1读取某一数据后,事务T2对其做了修改,当事务1再次读该数据时,得到与前一次不同的值。例如,T1读取B=100进行运算,T2读取同一数据B,对其进行修改后将B=200写回数据库。T1为了对读取值校对重读B,B已为200,与第一次读取值不一致。

事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神密地消失了。

事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。(这也叫做幻影读) 答案补充 读"脏"数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为"脏"数据,即不正确的数据。

产生上述三类数据不一致性的主要原因是并发 *** 作破坏了事务的隔离性。并发控制就是要用正确的方式调度并发 *** 作,使一个用户事务的执行不受其它事务的干扰,从而避免造成数据的不一致性。 答案补充 两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失,即丢失的修改。

1数据库系统的三级模式中,表达物理数据库的是( D )。

A外模式 B模式 C用户模式 D内模式

2具有坚实数学理论基础的数据模型是( A )。

A关系模型 B层次模型

C网状模型 DE—R模型

3供应商可以给某个工程提供多种材料,同一种材料也可以由不同的供应商提供,从材料到供

应商之间的联系类型是( A )。

A多对多 B一对一 C多对一 D一对多

4在关系模型中,关系的每一个属性值( D )。

A不能全同 B可以全同

C必须全同 D是不可分割的

5多个用户同时对同一数据进行 *** 作,描述的是( B )。

A数据库的完整性 B数据库的并发控制

C数据库的恢复 D数据的完整性

6构造关系数据模型时,通常采用的方法是( C )。

A从网状模型导出关系模型 B从层次模型导出关系模型

C从E—R图导出关系模型 D以上都不是

11表达式“AGE BETWEEN 18 AND 24”等价于(D )

AAGE>18 AND AGE<24 BAGE>=18 AND AGE<24

CAGE>18 AND AGE<=24 DAGE>=18 AND AGE<=24

12.在关系数据库中,从关系规范化的意义看,如果关系R中的非主属性对码有部分函数依赖,那么R至多是( A )

A.1NF B.2NF

C.3NF D.BCNF

13.DBMS提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的( C )

A.一致性 B.完整性

C.安全性 D.可靠性

14“一个事务中的诸 *** 作要么都做,要么都不做”,这是事务的( A )属性。

A原子性 B一致性

C隔离性 D持久性

17下列四项中,不属于数据库特点的是( C)

A数据共享 B数据完整性好

C数据冗余度很大 D数据独立性高

18下列关于E-R模型的说法中,正确的是( D )

A依赖于计算机硬件和DBMS

B独立于计算机硬件,依赖于DBMS

C独立于计算机硬件和DBMS

D依赖于计算机硬件,独立于DBMS

19目前数据库中最重要、最流行的数据库是( C )

A网状数据库 B层次数据库

C关系数据库 D非关系模型数据库

20学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D )

A多对多 B一对一 C多对一 D一对多

不好意思啊,有两个不会没写出来

就你的问题我来说说吧,你这三道题全错。数据库里有三张表,先看你的第五题,这是什么查询?查询number,name从XS表,课程号='302' 和 在xs表中有课程号吗? 这两张表你要借助他的中间表xs-kc 这张表里将第一张表和第三张表的关系联系在一起。我建议你用联合查询

select xnumber,xname

from XS x,KC k,XS_KC xk

where x学号=k学号 and k课程号=xk课程号 and k课程号='302' and xk成绩 between 70 and 80 order by xnumber DESC

这是第五题的结果,你可以参照第五题来将下面两道题完成

另外,站长团上有产品团购,便宜有保证

以上就是关于数据库 这个调度是否避免读脏数据不可重复度和丢失修改全部的内容,包括:数据库 这个调度是否避免读脏数据不可重复度和丢失修改、采用并发调度的目的是什么、数据库的并发 *** 作分带来哪些问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10172536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存