数据库应用答案第九章
- 格式:pdf
- 大小:112.52 KB
- 文档页数:6
9.1 名词解释(1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。
(2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。
(3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。
也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。
(4)嵌套关系模型:是从平面关系模型发展而成的。
它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。
嵌套关系突破了1NF的定义框架,是“非1NF关系”。
(5)复合对象模型:在嵌套关系模型上进一步放宽要求。
在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。
(6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。
当在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。
(7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。
(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能)(8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。
也就是说,超类型所具有的属性,在子类上也具有。
(9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。
(10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。
第九章一、填空题1.数据库2.原子3.START TRANSACTION4.AUTOCOMMIT5.READ UNCOMMITTED二、判断题对1.对2.对3.错4.对5.对三、选择题1. C2.B、C、D3. B4. B5. D四、简单题1.请简述什么是事务。
答:在MySQL中,事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,且每个SQL语句是相互依赖的。
只要在程序执行过程中有一条SQL语句执行失败或发生错误,则其他语句都不会执行。
也就是说,事务的执行要么成功,要么就返回到事务开始前的状态,这就保证了同一事务操作的同步性和数据的完整性。
2.请简述什么是事务的ACID特性。
答:①原子性是指一个事务必须被视为一个不可分割的最小工作单元。
②一致性是指在事务处理时,无论执行成功还是失败,都要保证数据库系统处于一致的状态,保证数据库系统从不返回到一个未处理的事务中。
③隔离性是指当一个事务在执行时,不会受到其他事务的影响。
④持久性是指事务一旦提交,其对数据库的修改就是永久性的。
五、实训题1.请利用事务实现在用户下订单时,检查商品库存是否充足。
START TRANSACTION;1# 查询id为1的商品的库存SELECT stock FROM sh_goods WHERE id = 1;# 根据结果回滚或提交COMMIT;2.请利用事务在用户下订单前,检测当前用户是否已被激活,若未激活,则需激活此用户后,才能再次下订单。
START TRANSACTION;# 查询id为1的用户是否激活SELECT is_active FROM sh_user WHERE id = 1;# 根据结果回滚或提交COMMIT;2。
第九章T-SQL基础P1641.从功能上划分,SQL分为哪4类?[难度↓]【解】SQL语句通常分成以下4类:数据查询语言数据操作语言数据定义语言数据控制语言2.NULL代表什么含义?将其与其他值进行比较会产生什么结果?如果数值型列中存在NULL,会产生什么结果?[难度↓]【解】在数据库中,NULL是一个特殊值,表示数值未知。
NULL不同于空字符或数字0,也不同于零长度字符串。
比较两个空值或将空值与任何其他数值相比均返回未知,这是因为每个空值均为未知。
空值通常表示未知、不可用或以后添加数据。
如果某个列上的空值属性为NULL,表示接受空值;空值属性为NOT NULL,表示拒绝空值。
如果数值型列中存在NULL,则在进行数据统计时就会产生不正确的结果。
3.使用T-SQL语句向表中插入数据应注意什么?[难度↓]【解】在使用T-SQL语句向表中插入数据时要注意以下几点:当向表中所有列都插入新数据时,可以省略列表名,但是必须保证VALUES 后的各数据项位置同表定义时的顺序一致。
要保证表定义时的非空列必须有值,即使这个非空列没有出现在插入语句中,也必须如此。
插入字符型和日期型值时,要加入单引号。
没有列出的数据类型应该具有以下属性之一:identity属性、timestamp 数据类型、具有NULL属性或者有一个默认值。
对于具有identity属性的列,其值由系统给出,用户不必往表中插入数据。
4.在SELECT语句中DISTINCT、ORDER BY、GROUP BY和HA VING子句的功能各是什么?[难度↓]【解】各子句的功能如下。
DISTINCT:查询唯一结果。
ORDER BY:使查询结果有序显示。
GROUP BY:对查询结果进行分组。
HA VING:筛选分组结果。
5.在一个SELECT语句中,当WHERE子句、GROUP BY子句和HA VING子句同时出现在一个查询中时,SQL的执行顺序如何?[难度↓↓]【解】其执行顺序如下:(1)执行WHERE子句,从表中选取行。
[国家开放大学]2020年《数据库应用技术》形考任务3_第9章测验提示:本资料自作参考学习使用一、单项选择题(每题2分,共10分)1.在VB中,可以利用Connection对象的Execute方法实现对数据库的更改操作。
关于删除SC表中学号为S01的选课记录的语句,正确的是( ? ?)。
A.ADOcn.Execute “UPATE FROM SC WHERE 学号 = 'S01'”B.ADOcn.Execute “SELECT FROM SC WHERE 学号 = 'S01'”C.ADOcn.Execute “DROP FROM SC WHERE 学号 = 'S01'”D.ADOcn.Execute “DELETE FROM SC WHERE 学号 = 'S01'”提示:本题为必答题,请认真阅读题目后再作答--本题参考答案:D2.设ADOcn是一个Connection对象,与数据库的连接字符串存放在cnStr字符串中。
关于使用ADOcn建立与数据源连接的语句,正确的是( ? ?)。
A.ADOcn.connetion cnStrB.ADOcn.conn cnStrC.ADOcn.Open cnStrD.ADOcn.Create cnStr提示:本题为必答题,请认真阅读题目后再作答--本题参考答案:C3.不属于VB中ADO对象模型中的对象的是( ?)。
A.UpdateB.RecordsetC.Connectionmand提示:本题为必答题,请认真阅读题目后再作答--本题参考答案:A4.声明并创建Connection对象的语句,正确的是( ? )。
A.Dim ADOcn As New ConnectionB.Dim ADOcn As ConnectionC.Declare ADOcn As New ConnectionD.Declare ADOcn As Connection提示:本题为必答题,请认真阅读题目后再作答--本题参考答案:A5.利用Recordset对象可以得到查询结果集。
第9章习题答案1.简要说明数据库设计的步骤。
答:Access中数据库设计一般要经过五个步骤:(1)分析建立数据库的目的(2)确定数据库中需要的表(3)确定表中的字段(4)确定主关键字(5)确定表之间的关系2.Access数据表中主键的作用是什么?(P230- P231)答:Access中主键是由表中的一个或多个字段组成,用来唯一标识表中的某一条记录。
指定主键后,Access将阻止在主键中输入重复值或NULL值。
在一个数据库中多表间建立关系时,必须通过表的主键和外键建立。
3. Access支持的查询类型有什么?(P234)答:Access支持的查询类型有5类:(1)选择查询选择查询是最常见的查询类型,它从一个或多个表中检索数据,在一定的限制条件下,还可以通过选择查询来更改相关表中的记录。
使用选择查询也可以对记录进行分组,并且可对记录进行总计、计数以及求平均值等其他类型的计算。
(2)交叉表查询交叉表查询能够汇总数据字段的内容,汇总计算的结果显示在行与列交叉的单元格中。
交叉表查询可以计算平均值、总计、最大值、最小值等。
(3)参数查询参数查询会在执行时弹出对话框,提示用户输入必要的信息(参数),然后按照这些信息进行查询。
(4)操作查询操作查询是在一个操作中更改许多记录的查询,操作查询又可分为四种类型:删除查询、更新查询、追加查询和生成表查询。
(5)SQL查询SQL查询是使用SQL语句创建的查询,包括联合查询、传递查询、数据定义查询和子查询。
4.简述数据库中视图、查询与SQL语言的区别。
答:视图..是一种虚拟的表,为了简化复杂查询语句的书写,另外也提高了数据库一定的安全性。
查询..是利用SQL语句或创建查询的方式根据一定的条件进行检索,筛选出符合条件的记录,构成一个新的数据集合,方便对数据库进行查看和分析。
SQL..是一种结构化的查询语言,利用SQL语言可以对数据库...语言中数据进行定义、查询、更新等操作。
第9章数据库恢复技术1.试述事务的概念及事务的4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2 .为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。
则可以定义一个事务T , T 包括两个操作;Ql = Ql 一Q , Q2= Q2 + Q。
如果T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q 。
3 .数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
第9章并发控制1. 试述DBMS中采用并发控制的目的。
解:并发控制是以事务为单位进行的。
DBMS中的并发控制的目的是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。
2. 试述共享锁和排他锁的含义。
解:排它锁又称为写锁。
排他锁是最严格的一类封锁,当需要对表进行插入、删除或更新操作时,应该使用排他锁。
当一个事务对某数据加上排他锁后,其他事务不得对该数据对象施加任何封锁。
共享锁又称为读锁。
当一个事务队某数据对象加上共享锁后,其他事务可以读取该数据,不能对该数据对象做任何修改。
共享锁可以保证最大的并发性,任何数量的用户可以同时对相同的数据施加共享锁。
3. 试述死锁是如何产生的,列举一些常见的预防死锁的方法。
解:产生死锁的原因是两个或多个事务都锁定了一些数据库对象,然后又都需要锁定对方的数据库对象失败而需要等待所造成的。
预防死锁通常有两种方法:一次封锁法和顺序封锁法。
一次封锁法要求每个事务一次就将要操作的数据库对象全部锁定,否则就不继续执行。
该方法会降低系统的并发度。
顺序封锁法要求预先对数据库对象规定一个封锁顺序,所有事务都按这个顺序来实行封锁。
该方法算法复杂,成本高。
4. 简述数据库系统中经常用到检测和解除死锁的方法。
解:数据库系统中检测死锁一般使用超时法或事务等待图法。
数据库管理系统一般采用如下方法来解除死锁:在循环等待的事务中,选择一个事务作为牺牲者,给其他事务“让路”。
回滚牺牲的事务,释放其获得的锁及其他资源。
将释放的锁让给等待它的事务。
5. 简述多粒度封锁的含义以及优点。
解:同时支持多种锁定粒度供事务选择的封锁方法叫做多粒度封锁。
其中,封锁对象可以是数据库、表、记录、列、索引等的逻辑单元,也可以是数据页或索引页、块等的物理单元。
采用多种粒度封锁能够提高并发度和减少锁的数量。
6. 试述意向锁的含义,简要介绍几种常见的意向锁。
解:意向锁的含义是,如果对一个节点加某种意向锁,则会对该节点的各级下级节点加这种锁;如果对一个节点加某种锁,则必须先对该节点的各级上级节点加这种意向锁。
第九章模块与VBA程序设计课后习题答案(P324)一、选择题:1~5. AADCA 6~10.CBDBA 11~15. BDDBB16~20. CADBC 21~26. DDDACD二、填空题:1. Visual Basic for Applications2. Sub;Function3. Dim4. 局部变量;模块变量;全局变量5. Dim或Private ;Public6. Static7. Type…End Type8. 选择结构;循环结构9. IIF();Switch();Choose() 10. 判定输入的数据是否为日期型数据11. Byval;传址调用12. On Error 13. 用于关闭错误处理14. 系统忽略错误,且继续处理随后的指令15. 用于接收用户从键盘输入的内容;MsgBox16. #或Double 17. 条件18. -1;019. Int(61*rnd()+15) 20. 计时器触发或Timer 21. OpenForm 22. 事件过程23. 计时器间隔或TimerInterval 24. MsgBox;False 25. Me.TimerInterval=0;close;i 26. MsgBox “数据处理结束!”,,”消息”27. X>=7 28. 5 29. 12 30. 9 31. 及格32. num;i 33. X=s;s=”0001”;Dim mc as New MyClass34. DAO;ADO 35. DBEngine36. CurrentDb();CurrentProject.Connection37. WorkSpace;Database;Field 38. Connection;RecordSet;Field;Command 39. Eof;StrSQL 40. Null或空值;从指定的记录集中检索特定字段的值- 1 -。
第9章习题解答1.选择题(1)以下是合法的变量名。
A.4p B.姓名C."年龄" D.IfNot(2)InputBox函数的返回值类型是。
A.变体型 B. 整型C.实型D.字符型(3)在VB中,下面正确的逻辑表达式是。
A.x>y AND y>z B.x>y>z C.x>y AND >z D.x>y &y>z (4)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:Private Sub Command1_Click()Static X As IntegerStatic Y As IntegerClsY=1Y=Y+5X=5+XPrint X,YEnd Sub程序运行时,3次单击命令按钮Commandl后,窗体上显示的结果为。
A.15 16 B.15 6 C.15 15 D.5 6(5)表达式3^2*2+3 MOD 10\4的值是。
A.18 B.1 C.19 D.0(6)在窗体上画一个水平滚动条,名称为HScroll1;再画一个文本框,名称为Text1。
要想使用滚动条滑块的变化量来调用文本框中文字的大小,则可满足的语句是。
A.Text1.FontName= HScroll1.Max B.Text1.FontSize= HScroll1.MinC.Text1.FontSize= HScroll1.value D.Text1.FontBold= HScroll1.value (7)以下不是图片框PictureBox的方法。
A.cls B.print C.pset D.ScaleMod(8)数据访问接口ADO是Microsoft处理数据库信息的新技术,以下关于ADO技术的叙述不正确的是。
A.ADO是一种ActiveX对象B.ADO采用了OLE DB的数据访问模式C.ADO是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展D.ADO Data控件不能创建与数据库的连接(9)在Visual Basic中,ADO数据控件不能直接显示记录集中的数据,必须通过数据绑定控件来实现,下列控件不能与ADO数据控件实现绑定。