《MySQL数据库原理、设计与应用》第8章课后习题答案

合集下载

数据库原理及应用第八章课后习题答案

数据库原理及应用第八章课后习题答案

习题81、什么是数据库的安全性?数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。

主要内涵包括三个方面:①保密性:不允许未经授权的用户存取数据。

②完整性:只允许被授权的用户修改数据。

③可用性:不应拒绝已授权的用户对数据进行存取。

2、什么是数据库的完整性?数据库的完整性是指数据库中数据的正确性和一致性。

数据库的完整性对数据库应用系统非常重要。

3、什么是数据库的完整性约束条件?为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。

4、DBMS的完整性控制机制应具有哪些功能?1)数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。

2)完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。

3)合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。

完善的数据库完整性,有助于尽早发现应用程序的错误。

5、DBMS在实现参照完整性时需要考虑哪些方面?强制参照完整性时,SQL Server将防止用户执行下列操作:1)在主表中没有关联的记录时,将记录添加或更改到相关表中。

2)更改主表中的值,导致相关表中生成孤立记录。

3)从主表中删除记录,但仍存在于该记录匹配的相关记录。

6、在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一般是如何处理的?系统可以采用以下的策略加以处理:1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。

2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。

3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

7、数据库安全性和计算机系统的安全性有什么关系?计算机系统中,安全措施是一级一级层层设置。

数据库原理课后习题答案

数据库原理课后习题答案

数据库原理课后习题答案码:工程号+材料号操作异常:数据冗余,插入异常,删除异常,修改异常分析原因:(工程号,材料号)?开工日期工程号?开工日期存在部分函数依赖,不满足2NF(工程号,材料号)?单价材料号?单价存在部分函数依赖,不满足2NF分解为:R1(工程号,材料号,数量)R2(材料号,单价)R3(工程号,开工日期,完工日期)第七章一、试说明事务的概念及四个特征。

答:事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。

四个特征:原子性、一致性、隔离性和持续性三、在数据库中为什么要有并发控制机制?答:数据库系统一个明显的特点是多个用户共享数据库资源,尤其是多个用户可以同时存取相同数据。

在这样的系统中,在同一时刻同时运行的事务可达数百个。

若对多用户的并发操作不加控制,就会造成数据库存、取的错误,破坏数据的一致性和完整性。

所以数据库中要有并发控制机制。

四、并发控制的措施是什么?答:在数据库环境下,进行并发控制的主要方式是使用封锁机制,即加锁。

具体的控制由锁的类型决定。

基本的锁类型有两种:排它锁(X锁)和共享锁(S锁)。

共享锁:若事务T给数据对象A加了S锁,则事务T可以读A,但不能修改A,其他事务只能再给A加S锁,而不能加X锁,直到T释放了A上的S锁为止。

排他锁:若事务T给数据对象A加了X锁,则允许T读取和修改A,但不允许其他事务再给A加任何类型的锁和进行任何操作。

五、设有3个事务:T1、T2和T3,其所包含的动作为:T1:A=A+2T2:A=A某2T3:A=A某某2设A的初值为1,若这三个事务运行并行执行,则可能的调度策略有几种?A最终的结果分别是什么?答:6种策略。

分别是T1T2T3,T1T3T2,T2T1T3,T2T3T1,T3T1T2,T3T2T1结果分别是六、当一些事务对段数据加了S锁之后,在此事务释放锁之前,其他事物还可以对此段数据添加什么锁?答:S锁七、什么是死锁?如何预防死锁?答:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁数据R2,由于T2已经封锁了数据R2,因此T1等待T2释放R2上的锁,然后T2又请求封锁数据R1,由于T1封锁了数据R1,因此T2也只能等待T1释放R1上的锁.这样就会出现T1等待T2先释放R2上的锁,而T2又等待T1先释放R1上的锁的局面,此时T1和T2都在等待对方先释放锁,因而形成死锁。

数据库第8章习题参考答案

数据库第8章习题参考答案

第8章习题参考答案2.求程序的运行结果(1)Public Sub 习题8_2_1()Dim i As IntegerDebug.Print Tab(10); "*"For i = 1 To 5Debug.Print Tab(10 - i); "*"; Spc(i - 1); "*"; Spc(i - 1); "*"Next iFor i = 4 To 1 Step -1Debug.Print Tab(10 - i); "*"; Spc(i - 1); "*"; Spc(i - 1); "*"Next iDebug.Print Tab(10); "*"End Subrun:***** * ** * ** * ** * ** * ** * ** * *****(2)Public Sub 习题4_2_2()Dim x, y, i As Doublex = 0: y = 0For i = 1 To 8If i Mod 2 <> 0 Thenx = x - iElsey = y + iEnd IfNextDebug.Print "i="; iDebug.Print "x="; xDebug.Print "y="; yEnd Subrun:x=-16y= 20(3)Public Sub习题4_2_3()Dim m, s, k As Doublem = 28s = 0k = 1Do While k <= Int(m / 2)If Int(m / k) = m / k ThenDebug.Print ks = s + kEnd Ifk = k + 1LoopDebug.Print "s="; sEnd Subrun:124714s= 28(4)Public Sub 习题8_2_4()Dim n, a1, a2, a3, i As Doublen = Val(InputBox("请输入n,要求n>=3"))If n <= 2 ThenExit SubEnd Ifa1 = 1a2 = 1Debug.Print a1; a2For i = 2 To n - 1a3 = a1 + a2a1 = a2a2 = a3Debug.Print a3NextEnd Sub1 12353.改错题(1)Public Sub 改错8_3_1()Dim i, n, s As Doublen = Val(InputBox("请输入n"))i = 2: s = 1Do While i <= ns = s + ii = i + 1LoopDebug.Print "S="; sEnd Sub(2)Public Sub 改错8_3_2_求分式多项和()Dim nm, n, k ,p As integerDim y As Doublenm = Val(InputBox("请输入计算公式1后面的项目数目个数")) n = 1: p = 1: y = 1Do While n <= nmk = 2 * n + 1p = p * (k - 1) * ky = y + ((-1) ^ n) / pn = n + 1LoopDebug.Print "y="; yEnd Sub4.编程题(1)用if……else语句编程Public Sub分段函数1()Dim x, y, z As Doublex = Val(InputBox("请输入x的值:"))y = Val(InputBox("请输入y的值:"))If x > y And y <> 0 Thenz = x / yElseIf x = y Thenz = x * y * Sgn(y)Elsez = x + yEnd IfDebug.Print "x="; xDebug.Print "y="; yDebug.Print "z="; zEnd Sub(1)用select case语句结构编程Public Sub分段函数2()Dim x, y, z, a As Doublex = Val(InputBox("请输入x"))y = Val(InputBox("请输入y"))a = y - xSelect Case aCase Is > 0z = x + yDebug.Print zCase 0z = x * y * Sgn(y)Debug.Print zCase ElseIf y <> 0 Thenz = x / yDebug.Print zElseDebug.Print "z没有值"End IfEnd SelectEnd Sub(2)Public Sub 求解一元二次方程()Dim a, b, c As IntegerDim d, x1, x2, x3, x4 As Doublea = Val(InputBox("请输入a的整型数:"))b = Val(InputBox("请输入b的整型数:"))c = Val(InputBox("请输入c的整型数:"))d = b * b - 4 * a * cIf d > 0 Thenx1 = (-b + Sqr(d)) / (2 * a)x2 = (-b - Sqr(d)) / (2 * a)Debug.Print "x1="; x1, "x2="; x2Else if d=0 thenx3 = -b / (2 * a)x4 = -b/ (2 * a)Debug.Print "x3=";x3Debug.Print "x4=";x4ElseDebug.Print "方程没有实数解"End IfEnd Sub(3--1)用无条件转向语句GOTO编程Public Sub 数字与星期的转换1()Dim num As Integer10 num = Val(InputBox("请输入整数值:")) If num = 0 ThenDebug.Print "这是星期日"ElseIf num = 1 ThenDebug.Print "这是星期一"ElseIf num = 2 ThenDebug.Print "这是星期二"ElseIf num = 3 ThenDebug.Print "这是星期三"ElseIf num = 4 ThenDebug.Print "这是星期四"ElseIf num = 5 ThenDebug.Print "这是星期五"ElseIf num = 6 ThenDebug.Print "这是星期六"ElseIf num = -1 ThenDebug.Print "程序运行结束"EndElseDebug.Print "输入数据错误!"GoTo 10End IfEnd Sub(3--2)Public Sub数字与星期的转换2 ()Dim x As IntegerDo While Truex = Val(InputBox("请输入数字"))If x = 0 ThenDebug.Print "这是星期日"Exit DoElseIf x >= 1 And x <= 6 ThenDebug.Print "这是星期" + Str(x)Exit DoElseIf x = -1 ThenExit DoElseMsgBox ("输入数据错误!")End IfLoopEnd Sub(4)Public Sub 行李重量计费()Dim an, cn, weight, s_w, distance, fee As Doublean = Val(InputBox("请输入成年人数量"))cn = Val(InputBox("请输入未成年人数量"))weight = Val(InputBox("请输入行李重量"))distance = Val(InputBox("请输入距离"))s_w = weight - 20 * an - 10 * cnIf s_w <= 0 Thenfee = 0ElseIf distance / 100 = Int(distance / 100) Thenfee = 0.2 * s_w * (distance / 100)Elsefee = 0.2 * s_w * (Int(distance / 100) + 1) End IfEnd IfDebug.Print feeEnd Sub(5)Public Sub 求自然数的多项式和()Dim n, s As Integers = 0For n = 1 To 10s = s + (s + n)NextDebug.Print "S=1+(1+2)+(1+2+3)+...+1+2+3+...+10)="; s End SubRun:S=1+(1+2)+(1+2+3)+...+1+2+3+...+10)= 2036Public Sub 求多项自然数阶乘的和()Dim s, t As SingleDim n As Integert = 1s = 0For n = 1 To 20t = t * ns = s + tNextDebug.Print "1!+2!+3!+...+20!="; sEnd SubRun:1!+2!+3!+...+20!= 2.561327E+18(6)Public Sub 既能被3整除又能被5整除正整数个数() Dim i, x As Integerx = 0For i =100 To 200If i / 3 = Int(i / 3) And i / 5 = Int(i / 5) ThenDebug.Print ix = x + 1End IfNextDebug.Print "x="; xEnd SubRun:120135150165180195x= 7(7)Public Sub 输出直角三角形图案1()Dim i, j As IntegerFor i = 1 To 9Debug.PrintNextFor i = 1 To 4Debug.Print Tab(20); "*";For j = 1 To (2 * i - 2)Debug.Print "*";NextDebug.PrintNextEnd SubRun:****************Public Sub 输出直角三角形图案2() Dim i, j As IntegerFor i = 1 To 9Debug.PrintNextDebug.Print Tab(20); "*";For i = 1 To 4Debug.Print Tab(19 - i); "*";For j = 1 To (i + 1)Debug.Print "*";NextDebug.PrintNextEnd SubRun:*******************Public Sub 输出平行四边形图案() Dim i, j As IntegerFor i = 1 To 9Debug.PrintNextFor i = 1 To 5Debug.Print Tab(21 - i);For j = 1 To 6Debug.Print "*";NextDebug.PrintNextEnd SubRun:******************************(8)Public Sub 求选手获得的平均分()Dim score(1 To 11), minno, maxno, sum, aver As Single Dim i As Integerminno = 1maxno = 1sum = 0For i = 1 To 10score(i) = Val(InputBox("请输入选手的成绩值:")) Debug.Print score(i)NextFor i = 2 To 10If score(i) < score(minno) Thenminno = iEnd IfIf score(i) > score(maxno) Thenmaxno = iEnd IfNext iFor i = 1 To 10sum = sum + score(i)Next isum = sum - score(minno) - score(maxno)aver = sum / 8Debug.Print "该选手的平均分是:"; averEnd Sub(9)关于素数的求解(9-1)求100之内的所有素数Public Sub 求所有素数之和()Dim s, w, n As Integers = 0For w = 2 To 99 Step 2For n = 2 To Sqr(w)If w Mod n = 0 ThenExit ForEnd IfNextIf n > Sqr(w) Thens = s + wEnd IfDebug.Print "S="; sNextEnd Sub(9-2)Public Sub 求200以内的所有素数()Dim w, n As IntegerDebug.Print "200 以内的所有素数是:" For w = 2 To 199For n = 2 To Sqr(w)If w Mod n = 0 ThenExit ForEnd IfNext nIf n > Sqr(w) ThenDebug.Print w;End IfNextDebug.PrintEnd Sub(10)Public Sub 求水仙花数1()Dim i, j, k, n As IntegerDebug.Print "水仙花数是:"For i = 1 To 9For j = 0 To 9For k = 0 To 9n = i * 100 + j * 10 + kIf n = i * i * i + j * j * j + k * k * k ThenDebug.Print n;End IfNext kNext jNext iDebug.PrintEnd SubPublic Sub 求水仙花数2()Dim i, j, k, n As IntegerDebug.Print "水仙花数是:"For n = 150 To 999i = Int(n / 100)j = Int(n / 10 - i * 10)k = n Mod 10If n = i * i * i + j * j * j + k * k * k ThenDebug.Print n;End IfNextDebug.PrintEnd Subrun:水仙花数是:153 370 371 407(11)Public Sub 求分数数列和()Dim i, t, n As IntegerDim a, b, s As Singlen = 20a = 2:b = 1: s = 0For i = 1 To ns = s + a / bt = aa = a + bb = tNextDebug.Print "sum="; s;End Sub(12)Public Sub N年达到的利息()Dim y As IntegerDim interest1,interest As DoubleP=10000y = 0interest = 0Do Until interest >= 1000Interest1 =2*p* 0.0225 *(1-0.2) ‘一期2年整存整取扣税后的利息p=p+interest1 ‘扣税后的利息加上本金成为新一期的本金Interest=p-10000 ‘存款以来实际所的利息y = y + 2Debug.Print interest, yLoopEnd SubRun:360 2732.959999999999 4 1119.34656 6。

MySQL数据库原理设计与应用习题及答案

MySQL数据库原理设计与应用习题及答案

MySQL数据库原理设计与应用习题及答案一、单选题(共31题,每题1分,共31分)1.以下()只有完全符合给定的判断条件才返回1。

A、带ANY关键字的子查询B、带ALL关键字的子查询C、带IN关键字的子查询D、以上答案都不正确正确答案:B2.下列()可以在命令提示符下停止MySQL服务器。

A、netstopmysqlB、netstartmysqlC、stopmysqlD、netstop正确答案:A3.以下选项()可返回比较后最大的值。

A、GREATEST(10,1,98)B、LEAST(10,1,98)C、MAX(10,1,98)D、以上答案都不正确正确答案:A4.事务的()特性要求事务必须被视为一个不可分割的最小工作单元。

A、一致性B、持久性C、原子性D、隔离性正确答案:C5.下面用于存储二进制数据的是()。

A、INTB、FLOATC、DECIMALD、BIT正确答案:D6.MySQL提供的()语句可查看数据表的创建语句。

A、DESCRIBEB、SHOWFULLCOLUMNSC、SHOWCOLUMNSD、SHOWCREATETABLE正确答案:D7.若依据一个视图创建另一个视图,那么添加()选项,视图的数据操作会进行级联检查。

A、DEFINERB、CASCADEDC、LOCALD、以上选项都不正确正确答案:B8.下面关于联合查询描述错误的是()。

A、联合排序默认去除完全重复的记录B、联合查询必须保证查询的字段数量相同C、联合查询的SELECT语句添加LIMIT并使用圆括号包裹才能使排序生效D、以上说法全部不正确正确答案:D9.若视图是由调用视图的用户执行时,SQLSECURITY的值为()。

A、DEFINERB、INVOKERC、rootD、以上答案都不正确正确答案:B10.以下选项中,不属于MySQL特点的是()。

A、界面良好B、跨平台C、体积小D、速度快正确答案:A11.以下模式之间的映像能体现逻辑独立性的是()。

数据库原理与应用教程第四版 第八章答案

数据库原理与应用教程第四版 第八章答案

免责声明:私人学习之余整理,如有错漏,概不负责1.简述数据库设计过程。

需求分析、结构设计、行为设计、数据库实施、数据库库运行和维护2.数据库结构设计包含哪几个过程?概念结构、逻辑结构和物理机构3.需求分析中发现事实的方法有哪些?检查文档、面谈、观察业务的运转、研究、问卷调查4.数据库概念结构设计有哪些特点?丰富的语义表达能力、易于交流和理解、易于更改、易于向各种数据模型转换5.什么是数据库的逻辑结构设计?简述其设计步骤。

将概念设计产生的概念模型转换为具体的数据库管理系统支持的组织层数据模型概念结构转换为关系数据模型、对关系数据模型进行优化、设计面向用户的外模式6.把E-R模型转换为关系模式的转换规则有哪些?1)一个实体转换为一个关系模式2)1对1联系可以转换为独立的关系模式,也可以与任意一端对应的关系模式合并3)1对多联系可以转换为独立的关系模式,也可以与多端所对应的关系模式合并4)多对多联系必须转换为独立的关系模式5)三个或三个以上实体间的多元联系可以转换为一个关系模式6)具有相同主码的关系模式可以合并7.数据模型的优化包含哪些方法?1)确定各属性间的函数依赖关系2)对各个关系模式之间的书依赖进行极小化处理,消除冗余联系3)判断每个关系模式的范式,根据实际需要确定最合适的范式4)根据需求分析阶段得到的处理要求,确定是否对某些模式进行分解或合并8.合并为一个E-R图,转为符合第三范式的关系模式,说明主码外码关系模式如下(主码有下划线):职工(职工编号,姓名,性别,年龄,职务,部门)外码:部门部门(部门号,部门名,电话,地点)设备(设备号,名称,规格,价格,部门)外码:部门零件(零件号,零件名,规格,价格)厂商(厂商号,厂商名,电话,地址)生产表(厂商号,零件号,生产日期)外码:厂商号,零件号装备表(设备号,零件号,零件数量)外码:设备号,零件号9.建立描述顾客在商店的购物情况的数据库应用系统,该系统有如下要求:商店和顾客多对多,顾客每次购物有购物金额和购物日期,,每个客户每天在每个商店最多一次购物。

(完整word版)数据库原理与应用教程 何玉洁 五——八章课后习题部分答案

(完整word版)数据库原理与应用教程 何玉洁 五——八章课后习题部分答案

第五章一、试说明使用视图的好处。

答:1、简化数据查询语句2、使用户能从多角度看待同一数据3、提高了数据的安全性4、提供了一定程度的逻辑独立性二、使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对。

因为数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。

三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。

(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。

答:CREATE VIEW IS_S_CASSELECT Sno,Sname,Sdept,Cno,Cname,CreditFROM Student S JOIN SC ON S.Sno=SC.SnoJOIN Course C ON o=o四、利用第三题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程号和成绩。

答:SELECT Sname,Cno,GradeFROM IS_SCWHERE Grade>=90五、修改第三题(4)定义的视图,使其查询每个学生的学号,总学分以及总的选课门数。

答:ALTER VIEW IS_CCASSELECT Sno,COUNT(Credit),COUNT(Cno)FROM SC JOIN Course C ON o=oGROUP BY Sno第六章一、关系规范化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?答:操作异常:数据冗余问题、数据更新问题、数据插入问题和数据删除问题。

它是由关系模式中某些属性之间存在的“不良”的函数依赖关系一起的。

解决的方法是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式。

数据库系统原理教程课后习题及答案(第八章)

数据库系统原理教程课后习题及答案(第八章)

第8章关系查询处理和查询优化1 .试述查询优化在关系数据库系统中的重要性和可能性。

答:重要性:关系系统的查询优化既是RDBMS 实现的关键技术又是关系系统的优点所在。

它减轻了用户选择存取路径的负担。

用户只要提出“干什么”,不必指出“怎么干”。

查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’夕做得更好。

可能性:这是因为:( l )优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引(B +树索引还是HASH 索引或惟一索引或组合索引)等。

优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。

( 2 )如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。

在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。

( 3 )优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。

( 4 )优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。

系统的自动优化相当于使得所有人都拥有这些优化技术。

2 .对学生一课程数据库有如下的查询:SEI 王CT Cn 即ne FROM Student , Cou 拐e , SC WHERE Student . Sno = SC . Sno AND SC . Cllo = Coll 拐e . Cllo AND Stu 击nt . Sdept = ! 15 ! ; 此查询要求信息系学生选修了的所有课程名称。

试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。

答:3 .试述查询优化的一般准则。

答:下面的优化策略一般能提高查询效率:( l )选择运算应尽可能先做;( 2 )把投影运算和选择运算同时进行;( 3 )把投影同其前或其后的双目运算结合起来执行;( 4 )把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;( 5 )找出公共子表达式;( 6 )选取合适的连接算法。

数据库应用与设计 (清华大学出版社)参考答案

数据库应用与设计 (清华大学出版社)参考答案

《数据库应用与设计》习题参考答案第1章习题参考答案1、答案:数据库是长期储存在计算机设备上、相互关联的、可以被用户共享的数据集合。

2、答案:数据库中的数据共享带来如下好处:低冗余,保证数据的一致性,易于扩充。

但是数据库中的数据共享可能会引起并发访问的冲突,这就需要采用并发控制来避免。

3、答案:因为概念数据模型可以真实地反映现实世界,被人们所理解。

它是创建数据模型的第一个阶段。

4、答案:5、答案:因为多对多联系是一类比较复杂的联系,一般数据库管理系统也不直接支持多对多联系(需要付出更大的代价),所以多对多联系通常需要转换成一对多联系的。

6、答案:存储数据独立性指当改变存储文件的组织方式或存储结构时,应用程序无需修改。

概念数据独立性指当概念文件的结构发生变化时,应用程序无需修改。

这两种数据独立性是通过三层结构获得的。

在三层结构的方案中,CONCEPTUAL-ROUTINE保证了概念数据的独立性,而STORAGE-ROUTINE则保证了存储数据独立性。

7、答案:数据库模式是用数据描述语言对数据库结构的每一层的框架及结构进行的精确定义。

数据库模式分为存储模式(内模式)、概念模式(模式)、外部模式(子模式)。

存储模式(内模式)定义了存储数据库结构,概念模式(模式)定义了概念数据库结构,外部模式(子模式)定义了外部数据库结构。

8、答案:用户程序通过DBMS修改一条记录时所发生的一系列事件如下:(1)用户程序A向DBMS发出修改一条记录的指令,这时,用户程序要给出外部文件名、记录的关键字值和要修改的信息。

(2)DBCS分析所接到的指令,访问对应的外部模式。

(3)DBCS完成外部模式到概念模式的转换,决定访问哪个(些)概念文件。

(4)由DBSS完成概念模式到存储模式的转换,并决定访问哪个(些)存储文件。

(5)DBSS调用修改方法,通过操作系统修改相应的存储文件。

(6)用户程序从系统缓冲区中获得DBMS返回的状态信息。

(完整word版)数据库原理与应用教程何玉洁五——八章课后习题部分答案

(完整word版)数据库原理与应用教程何玉洁五——八章课后习题部分答案

第五章一、试说明使用视图的好处。

答:1、简化数据查询语句2、使用户能从多角度看待同一数据3、提高了数据的安全性4、提供了一定程度的逻辑独立性二、使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对。

因为数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。

三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。

(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。

答:CREATE VIEW IS_S_CASSELECT Sno,Sname,Sdept,Cno,Cname,CreditFROM Student S JOIN SC ON S.Sno=SC.SnoJOIN Course C ON o=o四、利用第三题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程号和成绩。

答:SELECT Sname,Cno,GradeFROM IS_SCWHERE Grade>=90五、修改第三题(4)定义的视图,使其查询每个学生的学号,总学分以及总的选课门数。

答:ALTER VIEW IS_CCASSELECT Sno,COUNT(Credit),COUNT(Cno)FROM SC JOIN Course C ON o=oGROUP BY Sno第六章一、关系规范化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?答:操作异常:数据冗余问题、数据更新问题、数据插入问题和数据删除问题。

它是由关系模式中某些属性之间存在的“不良”的函数依赖关系一起的。

解决的方法是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式。

数据库原理课后习题及解答(常用版)

数据库原理课后习题及解答(常用版)

数据库原理课后习题及解答(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)《数据库原理》课后习题及解答课后习题:第一章第二章第三章第四章第五章第六章第七章第八章第九章习题答案:第一章第二章第三章第四章第五章第六章第七章第八章第九章第一章概论1.试解释下列术语:数据库;数据库管理系统;数据库系统2.试述数据库管理系统的组成内容。

3.试比较文件系统与数据库系统的异同。

4.什么叫数据的物理独立性与逻辑独立性?并说明它的重要性。

5.试述数据库系统的优点。

6.什么叫数据的冗余与数据的不一致性?7.什么叫数据库管理员?他的主要工作是什么?8.试述数据库系统发展的几个阶段。

返回第一章答案第二章数据模型1.什么叫数据库模型,它分哪几种类型?2.试区别数据模型与数据模式。

3.什么叫数据模式,它分哪三级?4.试述数据模型四个世界的基本内容。

5.试介绍E-R模型,EE-R模型及面向对象模型、谓词模型,并各举一例说明之。

6.层次网状模型有什么特点?并各举一例说明之。

7.试比较层次、网状、关系模型之优缺点。

8.试说明关系模型的基本结构与操作。

9.目前流行的关系型数据库管理系统,有哪些你比较熟悉,试介绍其特点。

10.你认为“数据模型”在整个数据库领域中是否有重要作用和地位,试详细说明之。

11.一图书馆借阅书刊,请你画出书刊、读者及借阅三者间的E-R模型。

12.一人事档案中,有干部、职工,干部又有高级干部与一般干部,请用EE-R模型画出他们之间关系。

13.试述物理模型的主要内容。

14.试叙述四个世界的转化关系。

15.请你比较四种数据模型的异同。

返回第二章答案第三章关系数据库系统1.试述关系数据库系统的优点。

2.试述关系型的12条标准,并说明FOXBASE为何是半关系型的。

3.关系代数与关系演算的表示能力是否相同?试证明之。

4.从关系模型的数学表示中,你是否认为网状与层次模型也可以用数学方法表示?试说明理由。

5.设有如图3-1所示的医院组织。

数据库原理与应用(第3版)答案

数据库原理与应用(第3版)答案

《数据库原理与应用》(第三版)习题参考答案第1 章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。

答:数据是描述事物的符号记录。

数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。

数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。

数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。

2.数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。

3.与文件管理相比,数据库管理有哪些优点?答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。

4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。

因为数据库管理系统提供了逻辑独立性和物理独立性。

5.在数据库系统中,数据库的作用是什么?答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。

6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不能7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。

物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。

8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。

数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。

MySQL数据库应用与管理 第2版习题答案8

MySQL数据库应用与管理 第2版习题答案8

单元习题(单元八)一、选择题1. 以下关于MYSQL的存储过程的论述,错误的是(A )。

A、MYSQL存储过程只能输出一个整数B、MYSQL存储过程包含系统存储过程和用户自定义存储过程C、使用用户存储过程的原因是基于安全性、性能、模块化的考虑D、输出参数使用OUT关键词说明2. MySQL的存储过程保存在哪里(C )。

A、浏览器B、客户端C、服务器D、SESSION3. 在MySQL服务器上,存储过程是一组预先定义并的SQL语句,可以用定义存储过程(B )。

A、编写、CREATE PROCEDUREB、编译、CREATE PROCEDUREC、解释、ALTER PROCEDURED、编写、ALTER PROCEDURE4. MySQL存储过程使用(B )命令执行。

A、DOB、CALLC、GOD、SHOW5. 有如下存储过程:CREATE PROCEDURE up_studentInfo( )BEGINSELECT * FROM student WHERE birthday < '1998-1-1';END下面选项中,能对上述存储过程实现正确调用的是( B )。

A、SELECT up_studentInfo;B、CALL up_studentInfo( );C、CALL up_studentInfo;D、SELECT up_studentInfo( );6. 有如下存储过程:DELIMITER //CREATE PROCEDURE countProc1(IN s_gender V ARCHAR(50),OUT num INT)BEGINSELECT COUNT(*) INTO num FROM student WHERE gender = s_gender;END //DELIMITER ;下面选项中,能对上述存储过程实现正确调用的是(D )。

A、CALL countProc1(in '女', out @num);B、SELECT countProc1('女', @num);C、DECLARE countProc1('女', out @num);D、CALL countProc1('女', @num);7. 阅读下面SQL代码片段:DECLARE val INT;IF val IS NULL THENSELECT 'val IS NULL';ELSESELECT 'val IS NOT NULL';END IF;下面选项中,关于运行结果的描述,正确的是(A )。

MySQL数据库原理设计与应用习题库+答案

MySQL数据库原理设计与应用习题库+答案

MySQL数据库原理设计与应用习题库+答案一、多选题(共50题,每题1分,共50分)1、下列选项中,占用字节数均为4的是()。

A、TINYINTB、INTC、FLOATD、DOUBLE正确答案:BC2、以下字符集中支持中文的是()。

A、latin1B、big5C、gbkD、utf8正确答案:BCD3、下面关于外键约束描述正确的是()。

A、可防止非法数据的插入B、会带来额外的开销C、删除主表的数据时,需要先删除从表的数据D、以上说法都不正确正确答案:ABC4、在MySQL5.7版本中,支持全文索引的存储引擎有()。

A、ARCHIVEB、MEMORYC、MyISAMD、InnoDB正确答案:CD5、下面还原数据库的命令中,正确的是()。

A、先登录MySQL,再执行use mydb; source mydb.sqlB、mysql -uroot -p123456 mydb < mydb.sqlC、mysqldump -uroot -p123456 mydb < mydb.sqlD、先登录MySQL,再执行source mydb mydb.sql正确答案:AB6、以下选项()表示“cid等于5且price等于199”的比较条件。

A、cid=5&&price=199B、(cid,price)=(5,199)C、cid=5 OR price=199D、以上答案都不正确正确答案:AB7、以下选项属于数据控制语言的是()。

A、ALTERB、GRANTC、COMMITD、ROLLBACK正确答案:BCD8、下列关于MYSQL中事务的说法,正确的有()。

A、事务就是针对数据库的一组操作B、事务中的语句要么都执行,要么都不执行C、事务提交成功后其中的操作才会生效D、可以通过START TRANSACTION来提交事务正确答案:ABC9、以下用于刷新权限的是()。

A、FLUSH PRIVILEGESB、mysqladmin -uroot -p reloadC、mysqladmin -uroot -p flush-privilegesD、以上答案都不正确正确答案:ABC10、下列属于位运算符的是()。

数据库原理及MySQL应用第8章 MySQL数据操作管理 第2,3节 修改和删除数据

数据库原理及MySQL应用第8章 MySQL数据操作管理 第2,3节 修改和删除数据
修改和删除数据
1. 修改数据 2. 删除数据
1. 修改数据
修改数据是更新表中已经存在的记录。 在MySQL中,通过UPDATE语句来修改数据。 语法规则: UPDATE表名 SET字段名1=取值1,字段名2=取值2,… 字段名n=取值n WHERE条件表达式
【例8】下面更新student表中sno值为1418855243的记录。将sname字段的值 变为‘李壮’。将sbirth字段的值变为‘1996可能不止一条。使用UPDATE语句会更新所 有满足条件的记录。但在MySQL中是需要一条一条的执行。
【例9】下面更新student表中sname值为李凯的记录。将sbirth字段的值变为 “1997-01-01”。将ssex字段的值变为“女”。
结果显示更新了两条数据
2. 删除数据
删除数据是删除表中已经存在的记录。 在MySQL中,通过DELETE语句来删除数据 语法规则: DELETE FROM表名[WHERE条件表达式] 【例10】下面删除student表中sno值为1418855243的记录。
DELETE语句可以同时删除多条记录。
【例11】下面删除student表中sclass的值为‘商务1301’的记录。
结果显示删除了5条记录。 注意:DELETE语句中如果不加上“WHERE条件表达式”,数据库系统会删除 指定表中的所有数据。请谨慎使用。

数据库第八章课后答案

数据库第八章课后答案

1、掌握事务的概念和特性。

事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。

它是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。

事务的特性即ACID特性:原子性、一致性、隔离性和持续性。

2、并发操作会产生几种不一致情况?用什么方法避免各种不一致的情况?操作可能会产生丢失修改、不能重复读和读“脏”数据这三种不一致情况。

采用封锁机制来进行并发控制,可避免各种不一致情况。

3、叙述数据库中数据的一致性问题。

在数据库的并发控制中,数据一致性问题有三个:丢失修改,不能重复读和读“脏”数据。

丢失修改是指T1和T2先后读取了同一个数据,T1把数据修改了并写回库中,T2也将读取的数据修改了并写回库中。

这样,T2提交的结果导致T1对数据库的修改丢失了。

不能重复读是指T1读取A,B两个数据并进行了运算之后,T2读了其中的数据B,把它修改后写回数据库,最后当T1为了对读取值进行校对而再重读B时,读的是T2修改后的值而不是T1开始读的值。

读“脏”数据是指T1修改了某一数据,并将其写回库中,T2读了这修改后的数据,而事务T1由于某种原因撤消了,被它修改的数据恢复了原来的值,这时,T2读的数据就与库中的数据不一致了,即T2读了不正确的数据,也称为T2读了“脏”数据。

4、叙述数据库中死锁产生的原因和解决死锁的方法。

锁产生的原因:封锁可以引起死锁。

比如事务T1封锁了数据A,事务T2封锁了数据B。

T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。

T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。

这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。

解决死锁的常用方法有如下三种:(1)要求每个事务一次就要将它所需要的数据全部加锁。

(2)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。

(3)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。

课后习题答案第8章

课后习题答案第8章

课后习题答案第8章1. 概述第8章是XXX课程的课后习题答案,本文档将为大家提供第8章的课后习题答案,以帮助同学们复习和加深对知识点的理解。

2. 习题答案2.1 问题1问题描述:请列举出几种数据库管理系统(DBMS)的类型,并且给出它们的特点。

答案:•关系型数据库管理系统(RDBMS):以关系模型为基础的数据库管理系统,使用表格的形式来组织数据,支持SQL语言进行数据操作。

具有数据一致性、可靠性高等特点。

•非关系型数据库管理系统(NoSQL):相对于关系型数据库,NoSQL数据库采用非关系型的数据组织方式,更加适用于大规模分布式存储和处理。

具有高可扩展性、灵活性等特点。

•面向对象数据库管理系统(OODBMS):将对象概念引入数据库系统,将对象作为数据库的主要组织单位,支持面向对象的数据库操作和查询。

具有数据隐蔽性、可重用性等特点。

•XML数据库管理系统(XML-DBMS):以XML标准为基础的数据库管理系统,可以存储和管理XML格式的数据。

具有对XML数据的高效操作和查询能力。

2.2 问题2问题描述:请解释什么是数据库索引,它的作用是什么?答案:数据库索引是对数据库表中一列或多列的值进行排序的一种数据结构,它可以快速地定位到具有特定值的数据记录。

索引可以加快数据库的查询速度,减少数据扫描的时间。

具体而言,索引的作用包括:•提高数据库查询的效率:索引可以根据索引键值快速定位到数据记录,加快查询速度。

•减少磁盘I/O的需求:通过使用索引,数据库可以减少需要扫描的数据块数量,从而减少磁盘I/O的次数。

•保证数据的唯一性:索引可以设置为唯一索引,确保某一列的值在表中是唯一的。

•支持表之间的关联:通过使用外键和关联索引,数据库可以实现表之间的关联和连接操作。

2.3 问题3问题描述:请解释什么是数据库事务,它的特点是什么?答案:数据库事务是一组数据库操作的逻辑单元,它被视为一个不可分割的工作单位,要么全部执行成功,要么全部回滚。

数据库原理与应用系列第八章习题(含答案)

数据库原理与应用系列第八章习题(含答案)

第八章习题(答案)班级:学号: 姓名:1.填空题(1)SQL Server 有两种安全认证模式,即___WINDOWS_______________安全认证模式和______混合______安全认证模式。

(2)SQL SERVER安装好以后,只有2个已经创建的用户:___SA_______和BULTIN/administrators,它们都是超级用户,对数据库拥有一切权限。

(3)数据库的完整性是指数据的___正确性___和___相容性____。

(4)按数据库状态,数据转储分为动态转储和静态转储。

(5)按数据转储方式,数据转储分为海量转储和增量转储。

2.单选题(1)日志文件用于记录( D )。

A、程序运行过程B、数据操作C、程序运行结果D、对数据的更新操作(2)SQL的COMMIT语句的主要作用是( C )。

A、终止程序B、中断程序C、事务提交D、事务回退(3)SQL的ROLLBACK语句的主要作用是( D )。

A、终止程序B、中断程序C、事务提交D、事务回退(4)在数据库系统中,对存取权限的定义称为(B)。

A、命令B、授权C、定义D、审计(5)设有两个事务T1,T2,其并发操作如下表所示,下面评价正确的是(C )。

A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(6)设有两个事务T1,T2,其并发操作如下表所示,下面评价正确的是(B )。

A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(7)A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(8)若事务T对数据对象A加上S锁,则( C )A、事务T可以读A和修改A,其他事务只能再对A加S锁,而不能加X锁B、事务T可以读A但不能修改A,其他事务能对A加S锁和X锁C、事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁D、事务T可以读A和修改A,其他事务能对A加S锁和X锁(9)若事务T对数据对象A加上X锁,则( C )A、事务T可以读A和修改A,其他事务不能对A加X锁B、事务T可以修改A,其他事务不能对A加X锁C、事务T可以读A和修改A,其他事务都不能再对A加任何类型的锁D、事务T修改A,其他事务都不能再对A加任何类型的锁(10)数据库中的封锁机制是( C )的主要方法。

MySQL数据库设计与应用智慧树知到课后章节答案2023年下昆明理工大学

MySQL数据库设计与应用智慧树知到课后章节答案2023年下昆明理工大学

MySQL数据库设计与应用智慧树知到课后章节答案2023年下昆明理工大学昆明理工大学第一章测试1.MySQL是基于层次模型的数据库。

答案:错2.主键不能作为另一个关系的外键。

答案:错3.关系模型用二维表表示实体及联系。

答案:对4.数据库是长期存储在计算机内的、有组织的数据集合。

答案:对5.在SQL所支持的数据库系统的三级模式结构中,视图属于内模式。

答案:错6.关系数据库的数据模型是______。

答案:关系模型7.关系模型是用______结构来描述数据间的联系。

答案:二维表8.SQL语言又称________。

答案:结构化查询语言9.E-R图是数据库设计的工具之一,它一般适用于建立数据库的________。

答案:概念模型10.从E-R模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是________。

答案:M端实体键与N端实体键组合11.数据的基本模型有______。

答案:关系模型;网状模型;层次模型12.关系数据库设计包括______。

答案:逻辑设计;物理设计;概念设计第二章测试1.MySQL是一个支持多用户的数据库管理系统。

答案:对2.在MySQL中要创建choose数据库,应该使用命令答案:错3.使用phpMyadmin中的导入和导出功能,可以逻辑备份数据库。

答案:对4.客户/服务器结构中的客户端是指应用程序。

答案:对5.PHP主要用于开发基于浏览器/服务器结构的应用程序。

答案:对6.对于用直接复制方式备份数据库,如下叙述中正确的是______。

答案:复制数据库时,该数据库不能被使用7.在MySQL中,指定一个已存在的数据库作为当前工作数据库的命令是______。

答案:USE8.SQL语言中,删除一个数据库对象的命令是______。

答案:DROP9.下列工具中,属于图形化用户界面的MySQL管理工具是______。

答案:phpMyAdmin10.以下关于MySQL配置文件my.ini的描述中,正确的是______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章
一、填空题
1.基本表
2.CREATE VIEW
3.DROP VIEW
4.SHOW CREATE TABLE
5.外
二、判断题
1.对
2.错
3.错
4.错
5.错
三、选择题
1. A
2. A
3.B、C、D
4.A、B、C、D
5. D
四、简单题
1.请简述视图和基本表的区别。

答:
视图是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表。

通过视图不仅可以看到存放在基本表中的数据,还可以像操作基本表一样,对数据进行查询、添加、修改和删除。

2.请简述修改视图的两种方式,并写出其基本语法。

答:
# ①替换已有的视图
CREATE OR REPLACE VIEW 视图名 AS SELECT语句;
# ②修改视图
ALTER VIEW 视图名 AS SELECT语句;
五、实训题
1.在shop数据库中创建view_goods视图,以spu为单位统计商品库存量。

CREATE OR REPLACE view_goods AS
SELECT spu_id, COUNT(stock) FROM sh_goods GROUP BY spu_id;
2.在mydb数据库中创建student数据表,表中有id、name(学生姓名)、math(数学成绩)、chinese
1
(语文成绩)和english(英语成绩)字段。

然后创建视图view_score,视图中包含math、chinese、english 和total(总分数)字段。

USE mydb;
CREATE TABLE student (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '学生id',
name VARCHAR(20) NOT NULL DEFAULT '' COMMENT '学生姓名',
math DECIMAL(4, 1) NOT NULL DEFAULT 0 COMMENT '数学成绩',
chinese DECIMAL(4, 1) NOT NULL DEFAULT 0 COMMENT '语文成绩',
english DECIMAL(4, 1) NOT NULL DEFAULT 0 COMMENT '英语成绩'
) DEFAULT CHARSET=utf8;
CREATE VIEW view_score AS
SELECT math, chinese, english, math+chinese+english total FROM student;
2。

相关文档
最新文档