SQL数据库语言中的并发控制
- 格式:ppt
- 大小:516.50 KB
- 文档页数:89
《电子商务数据库技术》自考综合练习题------------------------------------------作者xxxx------------------------------------------日期xxxx《电子商务数据库技术》自考综合练习题自考真题 2010-03-22 14:23:50 阅读404 评论0 字号:大中小订阅综合题是各真题的综合。
建议将出题点在课本上划下,将其背住。
《电子商务数据库技术》综合练习题一、填空题大的问题。
10.模式/内模式映象为数据库提供了____物理____数据独立性。
11.能够消除部分函数依赖引起的冗余的范式是第二范式; 能够消除传递函数依赖引起的冗余的范式是第三范式。
12.第一代DBMS系统主要是指(层次和网状)。
13.最常用的概念模型是(E—R图)。
14.SQL查询语句__select_from_。
二、选择题1.数据库的基本特点之一是(C)。
A、数据冗余大,容易扩充B、数据冗余大,不容易扩充C、数据冗余小,容易扩充D、数据冗余小,不容易扩充2.数据库管理系统(DBMS)是(C)。
A、一个完整的数据库应用系统B、一组硬件C、一组软件D、既有软件,也有硬件3.通过指针链接来表示和实现实体之间联系的模型是(C)。
A、关系模型B、层次模型C、网状模型D、前面三个都不对4.同一个关系模型的任意两个元组值(A)。
A、不能完全相同B、必须全部相同C、必须部分相同D、不能部分相同5.SQL言语是(C)。
A、层次数据库言语B、网状数据库言语C、关系数据库言语D、前面三个都不对6.根据规范化理论,关系数据库中的关系必须满足:每一个属性都是(A)。
A、不可分解的B、互不相关的C、互相关联的D、可以改变长度的7.关系模型的分解(C)。
A、唯一B、不唯一C、有时不唯一D、以上都不对8.数据的正确性和相容性是数据库的(C)。
A、可移植性B、安全性C、完整性D、并发控制9.对并发操作若不加以控制,可能会引起(D)。
数据库的并发控制和封锁协议分析作者:李丰来源:《商场现代化》2008年第02期[摘要] 数据库可以提供给多个用户共享数据信息资源,所以就必须对并发的事务进行控制,这种并发控制必须引入一些封锁协议以保证数据的完整性。
本文针对数据库并发操作中可能产生的数据不一致性问题进行分析,并给出解决的方法。
[关键词] 数据库并发控制一致性封锁封锁协议一、引言目前主流的关系数据库通常都允许多个用户同时使用和共享,所以也都具有并发控制的机制,也就是控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,以保证数据的完整性。
二、事务与并发控制的概念当多用户并发存取数据时,就会产生多个事务同时存取同一数据的情况,从而引起严重的数据错误和程序运行错误。
那么我们来看,什么是事务及并发控制呢?事务就是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的很小的工作单位。
例如,在SQL语言中,定义事务的语句有三条:BEGIN TRANSACTION;COMMIT;ROLLBACK;其中的BEGIN TRANSACTION是事务开始的标记,而以COMMIT或者ROLLBACK结束,COMMIT用于提交事务的所有操作,ROLLBACK则在事务运行过程中一旦发生了某种故障而使事务无法继续执行的时候,系统就将事务中对数据库的所有刚刚完成的操作全部撤消,滚动回到事务开始时的状态。
为了充分利用系统资源,使数据库的共享资源得以有效利用,必须可以使多个事务并行的执行,而数据库对并行执行的事务进行的控制就是并发控制。
三、事务进行并发操作可能引起的数据不一致问题由于种种原因,都可能引起数据库的数据遭到破坏,比如多个事务在并行运行的时候,不同的事务的操作产生了交叉执行,或者,事务在运行过程中被强行停止或者中断。
因此,事务在进行并发操作的时候很可能引起数据的不一致,下面我们看一个具体的例子。
例如飞机票的联网销售系统,如果有以下的操作序列:1.甲售票处(设置为T1事务)读出某班次的机票剩余数A,设A=202.乙售票处(设置为T2事务)读出同班次的机票剩余数A,也是203.甲售票处(T1事务)卖出一张机票,修改剩余数减一(A←A-1),把A=19写回数据库中4.乙售票处(T2事务)也卖出一张机票,修改剩余数减一(A←A-1),把A=19写回数据库中从这些操作中,我们看到,乙售票处的修改数据覆盖了甲售票处修改的数据,实际发生了两张机票的销售,而数据库中却错误的存入19,少了一张。
数据库技术试题 二、填空题1. 1. 一个类可以从直接的或间接的祖先中继承所有属性和方法。
采用一个类可以从直接的或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的这个方法提高了软件的 共享性。
共享性。
共享性。
2. 2. 用树型结构表示实体类型及实体间联系的数据模型称为用树型结构表示实体类型及实体间联系的数据模型称为用树型结构表示实体类型及实体间联系的数据模型称为 层次模层次模型 。
3. 3. 关系数据库的关系演算语言是以关系数据库的关系演算语言是以关系数据库的关系演算语言是以 集合操作集合操作集合操作 为基础的为基础的DML 语言。
语言。
4. 4. 在函数信赖中,平凡的函数信赖根据在函数信赖中,平凡的函数信赖根据Armstrong 推理规则中的推理规则中的自反自反自反 律就可推出。
律就可推出。
律就可推出。
5. 5. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和件、重构条件和 不相交条件。
不相交条件。
不相交条件。
6. DB 并发操作通常会带来三类问题,它们是丢失更新、不一致分析和读脏数据。
和读脏数据。
7. 7. 事务必须具有的四个性质是:原子性、一致性、事务必须具有的四个性质是:原子性、一致性、事务必须具有的四个性质是:原子性、一致性、 隔离性隔离性隔离性 和持久性。
和持久性。
8. 8. 分布式数据库系统中透明性层次越高,应用程序的编写越分布式数据库系统中透明性层次越高,应用程序的编写越分布式数据库系统中透明性层次越高,应用程序的编写越 简简单 。
9. 9. 在有泛化在有泛化在有泛化//细化联系的对象类型之间,较低层的对象类型称为较低层的对象类型称为 子子类型类型 。
10. 10. 目前数据库领域中最常用的数据模型有目前数据库领域中最常用的数据模型有目前数据库领域中最常用的数据模型有 层次模型层次模型层次模型, , , 、、 网状模型网状模型, , , 、、 关系模型关系模型关系模型 、、面向对象模型面向对象模型 。
1.SQL语言是()的语言,容易学习。
A. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。
A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A.数据查询B.数据操纵C.数据定义D.数据控制4. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。
A.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。
A.CREATE TABLEB.DROP VIEWC.CREATE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。
A.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。
A. ADD TABLE S(CN CHAR(8))B. ADD TABLE S ALTER(CN CHAR(8))C. ALTER TABLE S ADD(CN CHAR(8))D. ALTER TABLE S (ADD CN CHAR(8))9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A.DELETE Age from SB.ALTER TABLE S DROP AgeC.UPDATE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。
数据库工程师面试题及答案1.请简要介绍你对数据库的理解以及你的数据库工作经验?答:数据库是一种可以存储、管理和检索数据的软件系统。
作为一名数据库工程师,我的主要工作职责包括设计和管理数据库系统、调优和优化数据库性能、实现数据备份和恢复、确保数据安全和隐私保护等。
我拥有多年的数据库工作经验,擅长使用MySQL、Oracle、SQL Server等数据库管理系统,对SQL语言和数据库优化有深入的了解。
2.请介绍一下数据库索引的原理和常用类型?答:数据库索引是一种数据结构,可以加速数据检索的速度和效率。
常见的索引类型包括B+树索引、哈希索引、全文索引等。
其中,B+树索引是最常用的索引类型,它采用平衡树结构来存储数据,可以支持快速的范围查找和排序操作。
哈希索引是一种使用哈希函数将数据映射到索引中的索引类型,可以支持快速的精确查找操作。
全文索引是一种可以在文本中进行模糊匹配的索引类型,可以支持全文搜索和关键词查询。
3.请介绍一下数据库事务的概念和ACID特性?答:数据库事务是一组需要被看作为一个单独的操作执行的SQL语句集合。
为了确保数据的完整性和一致性,事务需要满足ACID特性。
ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
⏹原子性:事务中的所有操作要么全部执行成功,要么全部失败,不存在中间状态。
⏹一致性:事务执行前后,数据库中的数据保持一致性状态。
⏹隔离性:事务之间的操作互相隔离,一个事务的执行不应该影响其他事务。
⏹持久性:事务执行成功后,其所做的修改应该被持久化存储,不会因为系统故障等原因丢失。
4.请简述一下数据库优化的方法和技巧?答:数据库优化是提高数据库性能和响应速度的重要手段,常用的方法和技巧包括:⏹合理设计和优化数据库结构,避免冗余和无用数据。
⏹创建适当的索引,加快数据检索速度。
⏹使用分区表,优化大数据表的查询速度。
1. 并发控制的主要方法是封锁机制。
2. 标准SQL授权语句中允许权限传播的短语为grant。
3. 函数依赖可能造成的数据异常有数据冗余、删除异常、插入异常、和修改异常四种4. 关系数据库的完整性约束包括域完整性、实体完整性和参照完整性、用户自定义的完整性。
5.分E-R图之间的冲突主要有属性冲突、命名冲突、结构冲突三种6.数据库系统的逻辑模型按照计算机的观点对数据建模,主要包括层次模型、网状模型和关系模型、面向对象模型、对象关系模型等7. 一个关系的候选码中的属性被称为主属性、其它属性被称为非主属性8. 最经常使用的概念模型是E-R9. 在关系模型中,关系操作包括查询、插入、删除和修改等10. 嵌入式SQL语句中为了和主语言语句进行区分,在SQL语句前加前缀EXEC SQL,以分号结束。
11.数据库角色实际上是一组与数据库操作相关的各种权限。
12.DBMS的全称是数据库管理系统。
13. 数据库系统的三级模式结构是指数据库系统是由外模式、内模式和模式三级构成。
14. 传统的集合操作包括并、交、差、和笛卡尔积。
15. SQL语言具有两种使用方式,分别称为交互式SQL和嵌入式SQL。
16. 在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用grant语句,收回所授的权限使用revoke语句。
17. 数据库设计的几个步骤是需求分析、概念结构设计、逻辑结构设计、物理设计、系统实施、系统运行和维护。
18.关系模型是目前最常用也是最重要的一种数据模型。
采用该模型作为数据的组织方式的数据库系统称为关系数据库系统。
19. SQL语言集数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。
20.三级模式之间的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
21.事务必须具备4个特性:原子性、一致性、隔离性和持久性。
22. 数据完整性可分为:实体完整性、参照完整性和用户自定义完整性。
SQL Server悲观并发控制是数据库管理中非常重要的一部分,它可以帮助我们有效地管理并发访问数据库的情况,确保数据的完整性和一致性。
在实际应用中,我们需要了解SQL Server中使用悲观并发控制的语句和技巧,以确保数据库操作的稳定和安全。
一、悲观并发控制的概念和原理悲观并发控制是一种保守的并发控制方法,其核心思想是假设并发访问会导致数据的冲突和错误,因此在数据访问时采取预防措施。
在SQL Server中,通过使用锁定和事务的方式来实现悲观并发控制,保证每次数据访问都是独占的,避免数据的错误修改和丢失。
二、使用悲观并发控制的常见场景1. 数据库中的关键业务操作,如订单的生成和支付,需要保证数据的一致性和准确性,因此需要采用悲观并发控制来避免并发访问导致的错误操作。
2. 对于频繁更新的数据表,如库存表和销售表,需要采用悲观并发控制来避免多次修改导致数据不一致的情况。
三、SQL Server中的悲观并发控制语句在SQL Server中,可以通过以下语句实现悲观并发控制:1. 使用锁定语句来限制对数据的访问,如在查询语句中使用排他锁(XLOCK)或共享锁(SHAREDLOCK),确保其他访问者无法同时修改数据。
2. 使用事务来保证数据操作的一致性,通过Begin Transaction和Commit Transaction来确保操作的原子性和隔离性。
3. 使用索引来提高悲观并发控制的效率,如在频繁更新的字段上创建合适的索引,以加快数据访问的速度。
四、悲观并发控制的注意事项和技巧1. 在使用悲观并发控制时,需要考虑到对数据库性能的影响,尽量减少锁定的时间和范围,避免造成死锁和性能下降。
2. 针对不同的业务场景和数据表,需要选择合适的锁定级别和事务隔离级别,以平衡数据的一致性和系统的并发性能。
3. 在设计数据库表结构和索引时,需要考虑到悲观并发控制的需求,合理设置字段和索引,以提高悲观并发控制的效率和稳定性。
数据库学习课程第二章习题和答案一.单项选择1.SQL语言是 B 的语言,易学习.A 过程化B 非过程化C 格式化D 导航式提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.2.SQL语言是 C 语言.A 层次数据库B 网络数据库C 关系数据库D 非数据库提示:SQL是关系数据库标准语言.3.SQL语言具有 B 的功能.A 关系规范化,数据操纵,数据控制B 数据定义,数据操纵,数据控制C 数据定义,关系规范化,数据控制D 数据定义,关系规范化,数据操纵提示:SQL语言自身不具备关系规范化功能.4.在SQL中,用户可以直接操作的是 D .A 基本表B 视图C 基本表和视图D 基本表和视图5.在SQL语言中,实现数据检索的语句是 A .A SELECTB INSERTC UPDATED DELETE6.SELECT语句执行结果是 C .A 数据项B 元组C 表D 数据库7.在SQL语句中,对输出结果排序的语句是 B .A GROUP BYB ORDER BYC WHERED HA VING8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用 D .A WHEREB GROUP BYC ORDER BYD HA VING9.在SELECT语句中使用*表示 B .A 选择任何属性B 选择全部属性C 选择全部元组D 选择主码10.在SELECT语句中,使用MAX(列名)时,该”列名”应该 D .A 必须是数值型B 必须是字符型C 必须是数值型或字符型D 不限制数据类型11.使用CREATE TABLE语句创建的是 B .A 数据库B 表C 试图D 索引12.下列SQL语句中,修改表结构的是 A .A ALTERB CREATEC UPDATED INSERT13.在SQL中使用UPDATE语句对表中数据进行修改时,应使用的语句是 D .A WHEREB FROMC V ALUESD SET14.视图建立后,在数据库中存放的是 C .A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义15.以下叙述中正确的是 B .A SELECT命令是通过FOR子句指定查询条件B SELECT命令是通过WHERE子句指定查询条件C SELECT命令是通过WHILE子句指定查询条件D SELECT命令是通过IS子句指定查询条件16.与WHERE AGE BETWEEN 18 AND 23完全等价的是 D .A WHERE AGE>18 AND AGE<23B WHERE AGE<18 AND AGE>23C WHERE AGE>18 AND AGE<=23 D WHERE AGE>=18 AND AGE<=2317.在查询中统计记录(元组)的个数时,应使用 C 函数.A SUMB COUNT(列名)C COUNT(*)D A VG18.在查询中统计某列中值的个数应使用 B 函数.A SUMB COUNT(列名)C COUNT(*)D A VG19.已知基本表SC(S#,C#,GRADE),其中S#为学号,C#为课程号,GRADE为成绩.则”统计选修了课程的学生人数”的SQL—SELECT语句为 A .A SELECT COUNT(DISTINCT S#)FROM SCB SELECT COUNT(S#)FROM SC C SELECT COUNT()FROM SCD SELECT COUNT(DISTINCT *)FROM SC20.在数据库中有如图所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL 操作 B 不能执行.A 从职工表中删除行(‘025’,’王芳’,’03’,720)B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中C 将职工号为”001”的工资改为700D 将职工号为”038”的部门号改为’03’提示:由于职工表中的职工号为主码,不能向其中插入同主码的记录.21.若用如下SQL语句创建一个表studentCREATE TABLE student(NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student 表中的是 B .A (‘1031’,’曾华’,男,23)B (‘1031’,’曾华’,NULL,NULL)C (NULL,’曾华’,’男’,’23’)D (‘1031’,NULL,’男’,23)提示:A 中性别SEX 属性值格式不正确,C 中NO 属性值不能为空,D 中NAME 属性值不能为空.22.假设学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE).要查询选修”COMPUTER ”课程的”女”同学的姓名,将涉及关系 D .A SB SC,C C S,SCD S,SC,C 二.填空1.SQL 语言的数据定义功能包括 定义数据 、 定义基本表 、 定义视图 、 定义索引 。
1、在并发控制中引入两段锁协议的目的是()。
(2.0)A、为了解决并行执行时可能引起的死锁问题B、为了解决并行执行时可能引起的活锁问题C、为了解决交叉调度的不可串行化问题D、为了解决不同的调度导致不同的运行结果正确答案: C2、概念模型独立于()。
(2.0)A、 E-R模型B、硬件设备和DBMSC、操作系统和DBMSD、 DBMS正确答案: B3、在关系数据库系统中,如果数据库的关系模型发生了变化,那么用户的应用程序()。
(2.0)A、必须作弊B、必须改变C、自动改变D、可以不变正确答案: D4、笛卡尔积是域上的一种()运算。
(2.0)A、集合B、算术C、逻辑D、科学操纵语言正确答案: A5、在数据库中,面向对象的数据模型是一种()。
(2.0)A、概念模型B、逻辑模型C、物理模型D、形象模型正确答案: B6、以下哪种操作能够实现实体完整性()。
(2.0)A、设置唯一键B、设置外键C、减少数据冗余D、设置主键正确答案: D7、规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )。
(2.0)A、互不相关的B、不可分解的C、长度可变的D、互相关联的正确答案: B8、如果模式是BCNF,则模式R必定是________,反之,则___________成立。
()(2.0)A、3NF,不一定B、3NF,一定C、2NF,不一定D、2NF,一定正确答案: A9、在数据库管理系统中,以下 SQL 语句书写顺序正确的是()。
(2.0)A、SELECT→FROM→GROUP BY→WHEREB、SELECT→FROM→WHERE→GROUP BYC、SELECT→WHERE→GROUP BY→FROMD、SELECT→WHERE→FROM→GROUP BY正确答案: B10、在S表中的STU_NAME列上创建一个唯一性索引IX_S,正确的命令是()。
(2.0)A、 CREATE UNIQUE INDEX IX_S ON S(STU_NAME)B、 CREATE CLUSTERED INDEX IX_S ON S(STU_NAME)C、 CREATE INDEX IX_S ON S(STU_NAME)D、 CREATE INDEX IX_S ON S(STU_NAME DESC)正确答案: A11、SQLServer支持()的登录方式。