第一篇:华南师范大学《数据库原理》期末考试复习题
一、单选题()将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权.
A、强制存取控制
B、自主存取控制
C、视图机制
D、基于角色的访问控制
答案:D SQL的默认策略是任何与()约束相违背的更新均为系统拒绝.
A、用户定义的完整性
B、实体完整性
C、参照完整性
D、用户定义的完整性和参照完整性
答案:C 用户标识与系统鉴别属于()技术.
A、访问控制
B、接入控制
C、完整性约束
D、恢复
答案:A()是相互矛盾的,数据库物理设计过程中需要对它们进行折中权衡.
A、时间效率,维护代价
B、时间效率,空间效率
C、时间效率,空间效率,维护代价
D、空间效率,维护代价
答案:C 在关系演算中,元组变量的变化范围是().
A、某一命名的关系
B、数据库中的所有关系
C、某一个域
D、数据库中的所有域
答案:C 下列聚合函数中不忽略空值(null)的是()
A、SUM(列名)
B、MAX(列名)
C、COUNT(*)
D、AVG(列名)答案:C SQL中,下列涉及空值的操作,不正确的是()
A、AGE IS NULL
B、AGE IS NOT NULL
C、AGE = NULL
D、NOT(AGE IS NULL)答案:C SQL的全局约束是指基于元组的检查子句和()
A、非空值约束
B、域约束子句
C、断言
D、外键子句
答案:C
9要保证数据库逻辑数据独立性,需要修改的是()
A、模式
B、模式与内模式的映射
C、模式与外模式的映射
D、内模式
答案:C()是关系代数的基本运算之一.
A、交
B、除
C、关系模型
D、广义笛卡儿积
答案:D 设关系R有M个元组,关系S有N个元组,则关系R和S的笛卡尔积有()个元组.
A、M
B、N
C、M*N
D、M+N 答案:C 单个用户使用的数据视图的描述称为()
A、外模式
B、概念模式
C、内模式
D、存储模式
答案:A 判断对并发事务正确的调度是().
A、并发事务的执行结果与并行化执行结果事务是否一致
B、事务间无冲突
C、并发事务的执行结果与串行化执行结果事务是否一致
D、视图无冲突
答案:C X锁是().
A、读锁
B、写锁
C、共享锁 D、活锁
答案:B 子模式DDL用来描述()
A、数据库的总体逻辑结构
B、数据库的局部逻辑结构
C、数据库的物理存储结构
D、数据库的概念结构
答案:B 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是()
A、左外联接
B、右外联接
C、外部并
D、外联接
答案:D 在数据库设计中,将ER图转换成关系数据模型的过程属于()
A、需求分析阶段
B、逻辑设计阶段
C、概念设计阶段
D、物理设计阶段
答案:B DBMS中实现事务持久性的子系统是()
A、安全性管理子系统
B、完整性管理子系统
C、并发控制子系统
D、恢复管理子系统
答案:D 属性类型允许是基本数据类型、结构类型和集合类型的模型是()
A、平面关系模型
B、嵌套关系模型
C、复合对象模型
D、分布式关系模型
答案:C 五种基本关系代数运算是()
A、∪,-,×,π和σ
B、∪,-,∞,π和σ
C、∪,∩,×,π和σ
D、∪,∩,∞,π和σ
答案:A 设关系模式R(A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ A、是无损联接,也是保持FD的分解
B、是无损联接,但不保持FD的分解
C、不是无损联接,但保持FD的分解
= {AB,BC}相对于F)
(D、既不是无损联接,也不保持FD 答案:A 在关系代数运算中,五种基本运算为()
A、并、差、选择、投影、自然连接
B、并、差、选择、交、投影
C、并、差、选择、投影、笛卡儿积
D、并、差、交、选择、笛卡儿积
答案:C 对于经常在查询条件中出现的属性或者经常在聚集函数中出现的属性,可以考虑在这些属性上建立().
A、视图
B、关系
C、连接
D、索引
答案:D 在笛卡尔积可看成为一张()。
A、一维表
B、二维表
C、三维表
D、四维表
答案:B 数据字典的内容应包括().
A、数据项,数据结构
B、数据流,数据存储,处理过程
C、数据项,数据结构,数据流,数据存储,处理过程
D、数据结构,数据流
答案:C 局部E-R图中实体类的冲突主要类型是().
A、属性冲突、命名冲突和结构冲突
B、命名冲突和属性冲突
C、属性冲突
D、结构冲突和命名冲突
答案:A 关系模型是().
A、用关系表示实体
B、用关系表示联系
C、用关系表示实体及其联系
D、用关系表示属性
答案:C 概念设计的步骤是().
A、进行数据抽象,设计局部概念模式;评审;集成局部概念模式,得到全局概念模式
B、进行数据抽象,设计局部概念模式;集成局部概念模式,得到全局概念模式;评审
C、进行数据抽象,设计局部概念模式;集成局部概念模式,得到全局概念模式 D、评审;进行数据抽象,设计局部概念模式;集成局部概念模式,得到全局概念模式
答案:B 以下数据库的数据模型中,现今使用的主要的数据模型是().
A、层次模型
B、网状模型
C、关系模型
D、面向对象模型
答案:C 已知学生关系:(学号,性别,年龄,籍贯),若执行SQL语句:Select 姓名,年龄 From 学生 Where 籍贯='北京' 说明该语句对学生执行了()操作.
A、交和选择
B、投影和选择
C、选择和连接
D、连接和投影
答案:B
31()封锁协议可以防止丢失修改,并且保证事务可恢复.
A、二级
B、一级
C、三级
D、多级
答案:B
SQL系统只在用户对关系进行()操作时,DBMS才按照实体完整性规则对键码进行检查.
A、删除
B、插入或修改
C、查询
D、删除、插入或修改
答案:B
当恢复系统故障时,需要对处于提交状态的事务进行()操作.
A、不做
B、重做
C、扫描
D、备份
答案:B
关于数据处理和数据管理,下列叙述正确的是()
A、数据处理经历了人工系统、文件系统、数据库系统三个阶段
B、数据处理是数据管理的中心问题
C、数据管理的主要工作是对数据进行收集、分类整理、组织、存储、维护、检索等操作
D、数据管理技术优劣不影响数据处理的效率
答案:C
数据库逻辑设计的主要任务是()。
A、建立E-R图和说明书
B、创建数据库说明 C、建立数据流图
D、把数据送入数据库
答案:C
设关系R是M元关系,关系S是N元关系,则关系R和S的笛卡尔积为()元关系.
A、M
B、N
C、M*N
D、M+N 答案:D
因为每个中间运算的结果被创建,然后用于下一层的运算,这种查询表达式的计算方法被称为()计算.
A、实体化
B、流水线
C、双缓冲
D、临时区
答案:A
根据关系模型的完整性规则,一个关系中的主码().
A、不能有两个
B、不可作为其他关系的外部键
C、可以取空值
D、不可以是属性组合答案:A
39()就是能从这许多查询策略中找出最有效的查询执行计划的一种处理过程.
A、查询分析
B、查询翻译
C、查询优化
D、查询执行
答案:C
常用的用户标识方法是().
A、用户密码
B、用户名和口令字
C、用户权限
D、用户名
答案:B
41()是指事务1读取数据后,事务2已经对数据执行了更新,使得事务1再次读取数据时两次读到的数据不一致.
A、不可重复写
B、不可重复读
C、丢失修改
D、读脏数据
答案:B
在DBS中,DBMS和OS之间的关系是()
A、相互调用
B、DBMS调用OS C、OS调用DBMS
D、并发运行
答案:B
分布式数据库系统中分片模式和分配模式均是()
A、全局的 B、局部的 C、分布的 D、集中的答案:A
44下列四项中,不属于数据库特点的是()
A、数据共享
B、数据完整性
C、数据冗余很高
D、数据独立性高
答案:C
如果事务T获得了数据项Q上的排它锁,则T对Q()
A、只能读不能写
B、只能写不能读
C、既可读又可写
D、不能读不能写
答案:C
二、填空题 数据库物理设计中选择何种存储结构与选定的_________________类型有关。
答案:DBMS 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准.具有无损连接性的分解不一定能够保持____________。同样,保持函数依赖的分解也不一定具有_________。
答案:函数依赖,无损连接性 在数据库中,数据的冗余会引起各种操作异常,包括插入异常、删除异常、更新困难,可以通过______________。
答案:模式分解,将复杂的关系模式分解成若干比较小的关系模式消除冗余 触发程序要对_____________进行测试,不满足_____________,不动作.
答案:条件,条件 DBMS对数据库的保护机制主要包括_____,______,________和_______等4个方面.
答案:完整性控制、并发控制、故障恢复、安全性控制 HAVING短语必须跟随_____________使用,它用来限定分组必须满足的条件.
答案:group by 如果实体间的联系名相同但联系类型不同,就产生了联系类__________________.答案:冲突
现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是________________________。
答案:书号 安全性措施的防范对象是非法用户和非法操作,________________措施的防范对象是不合语义的数据。
答案:预编译 在数据库中建立索引主要是为了提高_________________。
答案:查找速度.假定利用CREATE TABLE命令建立如下一个表:BOOK(总编号C(6),分类号C(3),书名C(16),单价N(10,2)),则单价字段的类型为_____型,字段宽度为_____,其中包含有_______位小数.
答案:Numeric、10、2 引起数据不一致的主要原因是事务的____________在并发中遭到了破坏.
答案:隔离性 分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和_______________。
答案:不相交条件 ______是事务T在对数据项A修改之前,必须先对数据A加排它锁,直到事务结束才释放。
答案:一级封锁协议 关系查询处理可以分4个步骤,包括_____,_____、______、______。
答案:查询分析和检查、查询翻译、查询优化、查询执行。在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的_______________律就可推出。
答案:自反 在有泛化/细化联系的对象类型之间,较低层的对象类型称为_______________。
答案:子类型 实体是______“事件”或“物体’。
答案:客观存在并可相互区别的 ________________________将对象的实现与对象应用相互隔离,允许对操作的实现算法和数据结构进行修改;不必修改使用它们的应用,这有利于提高数据独立性.
答案:封装 用SELECT进行模糊查询时,可以使用_______或______匹配符.
答案:%、_ 在关系对应的二维表中,_________________对应元组。
答案:行 概念设计中最著名、最实用的方法就是__________________________.答案:实体联系方法(E-R 方法)撤销事务(undo transaction)在事务日志记录中,只有_______________记录. 答案:< T start> 传统的关系运算可以用两种方法定义,即________和__________。后者又可以再分为__________和_________。当代SQL的主要特征应该是基于_________的,同时又兼有_______________的特性.
答案:关系代数、关系演算、元组演算、域演算、关系演算、关系代数 用树型结构表示实体类型及实体间联系的数据模型称为_______________。
答案:层次模型 事务必须具有的四个性质是:原子性、一致性、_______________和持久性。
答案:隔离性 ________________是指保护数据库数据的正确性和有效性,防止数据库中存在不符合语义的、不正确的数据.
答案:数据库的完整性 ________________级封锁协议是:事务T在对数据修改前,必须先加排它锁,直到事务结束才释放排它锁;事务T在要读取的数据前,必须先加共享锁,读完后即可释放共享锁.
答案:二 除了使用各类完整性约束以外,用户还可以通过___________来实现其他完整性规则。
答案:自定义约束 除了使用各类完整性约束以外,用户还可以通过___________来实现其他完整性规则。
答案:自定义
三、分析题 现有如下的银行系统关系: Branch(branch_name nvarchar(10),branch_city nvarchar(10),asserts int)Customer(customer_name nvarchar(10),customer_street nvarchar(10),customer_city rvarchar(10))Loan(10an_number nvarchar(10),branch_name nvarchar(10),amount int)Borrower(customer_name nvarchar(10),loan_number nvarchar(10))Account(account_number nvarchar(10),branch_name nvarchar(10),balance int)Depositor(customer_name nvarchar(10),account_number nvarchar(10))试用SQL查询语句来表达下列查询:(1)查询customer_street中合有’广州大道中’的顾客的信息.(2)查询名字为’Tom’的所有贷款信息.(3)查询’中国工商银行’的贷款信息,结果按贷款额降序排列.(4)显示每个银行贷款颇最大的那条贷款信息.
答案:(1)查询customer_street中含有“广州大道中”的顾客的信息。2分 select * from customer where customer_street like ' %广州大道中%'(2)查询名字为“Tom”的所有贷款信息。2分 select t1.* from loan as t1 inner join Borrower as t2 on t1.loan_number=t2.loan_number where t2.customer_name=' Tom'(3)查询“中国工商银行”的贷款信息,结果按贷款额降序排列。3分 select * from loan where branch_name=' 中国工商银行' order by amount desc(4)显示每个银行贷款额最大的那条贷款信息。3分 select * from loan as t1 where not exists(select * from loan as t2 where t1.branch_name=t2.branch_name and t1.amount< t2.amount)
2现有图书借阅关系数据库如下:图书(图书号、书名,作者,单价,库存量)读者(读者号,姓名,工作单位,地址)借阅(图书号,读者号,借期,还期,备注)其中:还期为NULL表示该书未还。用SQL语言实现下列小题:
1、检索读者“李四”所借图书中未还的书名;
2、将读者“李四”所借图书的信息从借阅表中删除;
3、建立未还图书的读者姓名和单位视图。
答案:
(1)select 图书.书名 from 图书 where 图书.图书号 in(select 借阅.图书号
from 借阅,读者 where 借阅.读者号=读者.读者号 and 读者.姓名=”李四” and 借阅.还期 is null)(2)delete from 借阅 where 读者号 in(select 读者号 from 读者,借阅 where 借阅.读者号=读者.读者号 and 读者.姓名=”李四”)(3)create view 未还书名单
as select 读者.姓名,读者.工作单位 from 读者,借阅 where借阅.读者号=读者.读者号 and 借阅.还期 is null 一个电影资料数据库假定有三个基本表:电影表Movie、演员表Actor和电影主演表Acts, 这三个关系的模式如下:(1)电影表Movie(电影名称Title,制作年份Year,长度Length).(2)演员表Actor(姓名Name,地址Address,性别Gender,出生日期Birthdate).(3)电影主演表Acts(电影名称MovieTitle,制作年份MovieYear,主演姓名ActorName). 用SQl实现如下查询或更新操作:(1)统计1999年制作电影的平均长度和最短长度.(2)在1999年主演过电影的演员姓名.(3)把电影 ”的世界” 的长度改为110分钟.(4)删除1940年以前制作的所有电影记录以及电影主演记录.
答案:(1)统计1999年制作电影的平均长度和最短长度。2分 select平均长度=avg(Length), 最短长度=min(Length)from Movie where Year=1999(2)在1999年主演过电影的演员姓名 2分 select ActorName from Movie inner join Acts on Movie.Title=Acts.MovieTitle where Movie.Year=1999(3)把电影“我的世界”的长度改为110分钟。3分 update Movie set Length=110 where Title=’我的世界’(4)删除1940年以前制作的所有电影记录以及电影主演记录。3分 delete Acts where MovieTitle in(select Title from Movie where Year< 1904)delete MovieTitle where Year< 1940
四、问答题 数据库系统中的常见故障有哪些?
答案: 事务故障,系统故障、介质故障。 请举一个属于2NF,但不属于3NF的关系模式的例子,并指出可能出现的“异常”。
答案:关系模式R(A, B, C, D, E),在R上有如下函数依赖集:F={AB→E,B→C,C→D}(5分)关系模式分解原则是什么?
答案:答:分解模式的目标是得到更高的范式,此外要遵守两个基本原则:分解是无损的,分解保持函数依赖。简述SQL语言的组成。
答案: 分为四个部分:数据定义、数据操纵、数据控制、嵌入式SQL语言的使用规定。 数据库的设计和运行过程中DBA是个很重要的角色,假设你是DBA,你需要参与那些方面的工作?
答案:答:装入数据 数据录入、由原系统转换试运行 调试、测试运行与维护 数据转储与恢复,安全性、完整性控制 性能的监督、分析和改造,重组、重构等 数据库管理系统的主要功能有哪些?
答案: 数据库定义、操纵、保护、存储、维护和数据字典。 简述系统故障的恢复过程,简单描述具有检查点的恢复技术主要解决什么问题的。
答案:答:触发器主要用于完整性控制,它与完整性约束的主要区别在于触发器是在操作之后再检查有没有违背完整性条件,如违背则触发一组动作进行修改,使得其满足完整性条件可在对表或视图发出 UPDATE、INSERT 或 DELETE 语句时自动执行某些动作完成相应功能。数据库设计的基本步骤分为哪几个阶段,各阶段结束后分别产生哪些文档或得到什么结果。
答案:数据库设计的基本步骤(六个阶段)需求分析、概念结构设计(E-R图)、逻辑结构设计(规范化)、物理结构设计、数据库实施、数据库运行和维护 数据库的体系的三级结构。
答案:数据库的体系的三级结构:子模式,模式、内模式。
第二篇:数据库原理及应用复习题及参考答案 2
西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
《数据库原理及应用》复习题及参考答案
一、判断题
1.采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接,不能绝对保持依赖。(×)
2.原则上,两个不同的对象所具有的属性值不能相同,但在给定关系中的元组可以是完全相同的。(×)
3.概念设计可以独立于数据库管理系统。(√)
4.执行查询语句时DBMS从数据字典中调出相应的模式描述,并从外模式映像到内模式,从而确定所需要的物理数据。(×)
5.在视图中插入一个元组,该元组会同时插入到基本表中。(√)
6.对象查询语言中,可以用运算符ELEMENT从多个元素的聚集中提取单个元素。(×)
7.对于表只能有惟一的主键码,但可有任意数量的UNIQUE属性或属性集。(√)8.如果一个关系没有一个属性能由所有其他属性函数决定,则该关系根本不存在非平凡函数依赖。(√)
9.超类可以自动继承子类的所有特性。(×)
10.两段锁协议是使并发操作可串行化调度的必要条件。(×)
二、选择题
1.实体联系模型属于(D)。
A.层次模型 B.网状模型 C.关系模型 D 概念模型 2.在一个关系中,任意两个元组的值(C)。
A.可以全同 B.必须全同 C.不能全同 D.以上都不是 3.关系R和S进行自然连接时,要求R和S含有一个或多个公共(B)
A.行 B.属性 C.记录 D.元组 4.SQL是(C)的缩写.A.Standard Query Language B.Select Query Language C.Structured Query Language D.以上都不是 5.当两个子查询的结果(C)时,可以执行并、交、差操作。
A.结构完全不一致时 B.结构部分一致 C.结构完全一致时 D.主键一致
第 1 页
共 6 页 西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
6.在数据库设计中,当合并局部E---R图时,职工在某一局部应用中被除数当作实体,而在另一局部应用中被除数当作属性,那么被称之为(A)冲突。
A.结构 B.命名 C.联系 D.属性 7.在关系中的各元组的(B)。
A.顺序不能任意排列,一定要按照输入的顺序排列 B.顺序可以任意排列
C.顺序一定要按照关键字段值的顺序排列 D.排列顺序不同,统计处理的结果就可能不同。8.SQL中创建基本表应使用(C)语句。
A.CREATE VIEW B.CREATE DATABASE C.CREATE TABLE D.CREATE FORM 9.与WHERE 年龄 BETWEEN 32 AND 45 语句等价的子句是(D)。
A.WHERE年龄 >32 AND年龄<45 B.WHERE年龄>=32 AND年龄<45 C.WHERE年龄>32 AND年龄<=45 D.WHERE年龄>=32 AND年龄<=45 10.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,职员与部门的联系类型是(C)。
A.m : n B.1 : n C.n : 1 D.1 : 1 11.在数据库的三级模式结构中,内模式有(A)。
A.1个 B.2个 C.三个 D.任意多个 12.下述那一条不属于概念模型应具备的性质(D)。
A.有丰富的语义表达能力 B.易于交流和理解 C.易于变动 D.在计算机中实现的效率高 13.用二维表结构表示实体以及实体间联系的数据模型称为(C)。
A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 14.使用CREATE VIEW语句建立的是(C)。
A.数抿库 B.表 C.视图 D.索引
15.元组关系演算表达式{tR(t)∧ S(t)}表达的是(D)。
A.RS B.RS C.R-S D.S-R 16.如果一个关系R中的所有非主属性都完全函数依赖于键码,则称关系R属于(A)。
A.2NF B.3NF C.4NF D.BCNF 17.数据库系统的基础是(D)。
A.数据结构 B.数据库管理系统 C.操作系统 D.数据模型 18.一个学生可以同时借阅多本图书,一本图书只能借给一个学生,学生和图书之间的联系为(B)的联系。
第 2 页
共 6 页 西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
A.一对一 B.一对多 C.多对多 D.多对一
19.在演员类Actor中增加与电影类Movie之间的演员在电影中扮演角色的联系,一个演员可以扮演多个角色,一部电影有多个演员出演。下述语句中关于联系的描述正确的是(A)。
A.可以在Actor的类说明中加入:relationship Set<Movie> movies B.可以在Actor的类说明中加入:relationship Set<Actor> actors C.可以在Movie的类说明中加入relationship Set<Actor> movies D.可以在Movie的类说明中加入:relationship Set<Movie> movies 20.下面对触发程序中规定动作与触发事件之间的关系描述错误的是(B)。
A.AFTER触发事件完成后,如果WHEN子句中的条件为真,则执行随后的动作 B.BEFORE触发事件执行以后,测试WHEN子句中的条件,若为真,则执行随后的动作
C.INSTEAD OF:触发事件发生时,如WHEN子句中的条件为真,就执行随后动作 D.使用BEFORE的情况下,无论条件真假,都执行触发事件
三、填空题
1.数据在空间上的传递称为(通信);在时间上的传递称为(存储)。2.DBS由(硬件系统)、(数据库集合)、(数据库管理系统及相关软件)、(数据库管理)、(用户)五部分组成.,其中(数据库管理系统)是数据库系统的核心组成部分。
3.SQL语言的功能包括(数据查询)、(数据定义)、(数据操纵)、(数据控制)。
4.数据库管理员利用(Grant)语句将对某类数据的操作权限赋于用户;用(revoke)语句收回用户对某类数据的操作权限。
5.X―>A1,A2,…,An成立的充要条件是(xAi(I=1,2,…,n))。
6.信息系统分为(数据处理系统(EDP)、(管理信息系统(MIS)、(决策支持系统(DSS))三类。
7.一个关系进行分解时必须考虑两个问题是(无损联接性)、保持函数依赖)。
8.数据操作描述的是系统的动态特性,主要分为(更新)和(检索)两大类,共包括(插入(增加))、(删除)、(修改)和(查询)4种操作。
9.在SQL中表示并集的关键字是(UNION)。
10.数据逻辑:P(a,b,c,d)S(a,b,c)AND(c,d)表达的关系运算是(自然连
第 3 页
共 6 页 西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
接)。
11.对象查询语言中,可以使用(FOR ALL)和(EXISTS)两种量词表达式。
12.如果对并发操作不进行合理的调度,可能导致的3种数据不一致性是(丢失修改)、(读脏数据)和(不可重复读)。
四、名词解释
1.DB:是长期存储在计算机内、有组织的、可共享的数据集合.或DB通用化的相关数据的集合,它不仅包括数据本身,而且包括数据之间的联系。2.关系模型:是用二维表的形式来表示实体和实体间联系的数据模型。3.函数依赖:用U表示属性集的全集{A1,A2,…,An},设R(U)是属性集U上的关系模式.X,Y是U的子集,若对于X的每一个具体值,Y都有唯一的具体值与之对应,则称Y函数依赖于X, 或X函数决定于Y, 记作X->Y, X为决定因素。4.候选关键字(注:用函数依赖来描述):候选关键字(注:用函数依赖来描述)在关系模式R(U)中,K是U中的属性或属性组。如果K--fR,则称K为R(U)的一个候选关键字。
5.DBMS:DBMS是为数据库的建立、使用和维护而配置的软件,它是数据库系统的核心组成部分。
五、简答题
1.关系运算有哪几种类型,都包括哪些? 答:有两大类,一是传统的集合运算,包括并、交、差等;二是专门的关系运算,包括选择、投影、连接等。
2.数据与信息的区别和联系。
答:(1)数据是由DBS研究和处理的对象。数据和信息是分不开的,它们既有联系又有区别。
(2)所谓数据,通常是指用符号记录下来的,可以识别的信息。(3)信息和数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。
3.数据库设计分为几个阶段,各阶段的任务是什么? 答:数据库设计分为三大阶段,分别是概念结构设计、逻辑结构设计和物理结构设计。概念结构设计阶段的任务是:产生反映全组织信息需求的整体数据库概念结构,即概念模式。逻辑结构设计阶段的任务是:将概念结构转换成第 4 页
共 6 页 西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
特定DBMS所支持的数据模型的过程。物理结构设计阶段的任务是:为了有效地实现逻辑模式,确定所采用的存储策略。
1.什么是关系模型?
答:数据以关系的形式,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。
2.概述查询优化的策略。
答:查询优化策略主要包括。一元选择首先做,投影、选择同时做,乘积、选择合并做,索引、排序预先做。
3.为什么在数据库设计阶段不直接用关系模型,而首先用ODL或E-R图进行设计? 答:因为关系模型中只有单一的概念——关系,没有其他的辅助概念,例如ODL中的类和联系,E-R图中的实体集和联系等,所以在数据库设计阶段用关系模型不如用ODL或E-R图来得方便和直观。
六、综合题
1.假设学生——课程数据库关系模式如下:
S(Sno,Sname,Sage,Ssex)C(Cno,Cname,Teacher)SC(Sno,Cno,Grade)用SQL语句表达下列查询:
(1)找出刘老师所授课程的课程号和课程名;
SELECT Cno,Cname FROM C WHERE Teacher LIKE‘刘%’;
(2)找出年龄小于22岁的女学生的学号和姓名。
SELECT Sno,Sname FROM S WHERE Sage 22 AND Ssex=‘F' 1.用SQL的有关语句定义:
(1)学生关系Student,包括学号Sno、姓名SN、年龄SA;
CREATE TABLE Student(Sno INT PRIMARY KEY SN CHAR(30),SA INT);
第 5 页
共 6 页 西南科技大学成教德阳教学站《数据库原理及应用》复习题及参考答案
(2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT;
CREATE TABLE Course(Cno INT PRIMARY KEY,CN CNAR(30),CT CHAR(30));
(3)学生选课关系SC,包括Sno,Cno和成绩G。
CREATE TABLE SC(Sno INT,Cno INT,G INT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno));
2.按题1的学生关系模式,用SQL的有关语句。
(1)授予赵华对学生关系Student的插入和修改权限;
GRANT INSERT,UPDATE ON Student TO‘赵华’;(2)插入任意3个学生的完整信息;
INSERT INTO Student(TABLE(01001,‘赵华’,19),(01002,‘李芳’,18),(01003,‘刘红’,20),);
(3)修改所有学生的年龄。UPDATE Student SET SA=SA+1;
3.结合题1定义的学生选课数据库,用SQL语句查询学生数据库课程的成绩,输出学生姓名和成绩,按成绩排序(降序);若成绩相同,再按学号排序(升序)。SELECT SN,G FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno AND Course.CN=‘数据库’ ORDER BY G DESC,Sno;
第 6 页
共 6 页
第三篇:数据库原理总结
1关系的范式及规范化
范式是衡量关系模式优劣的标准。范式级别越高,其数据冗余和操作异常现象就越少。第一范式:如果一个关系模式R的所有属性都是不可分的基本数据项,则这个关系属于第一范式。第二范式:若关系模式R属于第一范式,且每个非主属性都完全函数依赖于主键,则R属于第二范式。第三范式:若关系模式R属于第一范式,且每个非主属性都不传递依赖于主关键字,则R属于第三范式。BC范式:若关系模式R属于第一范式,且每个属性都不传递依赖于主关键字,则R属于BC范式。
2对模式的分解显然不是随意的,主要涉及以下两个原则:无损联结:当对关系模式R进行分解时,R的元组将分别在相应属性集进行投影而产生新的关系。如果对新的关系进行自然联接得到的元组的集合与原关系完全一致,则称为无损联结。保持依赖:当对关系模式R进行分解时,R的函数依赖集也将按相应的模式进行分解。如果分解后总的函数依赖集与原函数依赖集保持一致,则称为保持依赖。
3事务的定义:事务是数据库的逻辑工作单位,由用户定义的一组操作序列组成,序列中的操作要么全做要么全不做。
4简述事务所具有的ACID(原子性,一致性,隔离性,持续性)特性:事务的ACID特性是: 原子性:事务是一个不可分割的单位。一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。隔离性:多个事务的并发执行不互相干扰。持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。5事务的调度:事务的执行次序称为调度。若多个事务是按照某一次序串行地执行,则称事务的调度是串行调度。若多个事务同时交叉地并行执行,则称事务的调度为并发调度。
6事务并发执行产生的不一致情况及避免:并发操作可能会产生丢失修改,不能重复读和读”脏”数据这三种不一致情况,采用封锁机制来进行并发控制,可避各种不一致情况。一级封锁协议可以避免丢失修改,二级封锁协议可以避免丢失修改和读”脏”数据,三级封锁协议可以避免丢失修改、不能重复读和读”脏”数据。
7事务的COMMIT语句和ROLLBACK语句的功能是什么?答:COMMIT语句表示事务执行成功地接结束(提交),此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施(写入磁盘)。ROLLBACK语句表示事务执行不成功地结束(应该“回退”)此时告诉系统,已发生错误,DB可能处在不正确的状态,该事务对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。
8活锁和死锁:活锁:在多个事务并发执行的过程中,可能会存在某个总有机会获得锁的事务却永远也没得到锁的现象,可以通过“先来先服务”的策略预防活锁的发生。死锁:在多个事务并发执行过程中,多个并发事务处于相互等待的状态的现象。
9死锁的预防:数据库当中预防死锁的方法有两种。第一种方法是要求每个事务必须一次性地将所有要使用的数据加锁或必须按照一个预定的加锁顺序对使用到的数据加锁。第二种方法是每当处于等待状态的事务由可能导致死锁时,就不再等待下去,强行回滚该事务。
10完整性约束的定义:关系数据库提供的三类完整性约束:实体完整性、参照完整性和用户自定义完整性。实体完整性:实体完整性约束是指任何基本表(关系)的主键(主关键字)中的每一个属性列都不能取空值,即基本表中的每一个元组在主键上的分量都有值。参照完整性:根据参照完整性原则,用户只要定义了某一个关系(基本表)的外键(外部关键字),系统就会控制外键的值要么为空,要么等于被参照关系中某一个主键的值,这就是系统对外键的一种约束。用户定义完整性:用户定义完整性约束条件的作用对象可以是属性列、元组或关系(基本表),其中对属性列的约束可以规定属性列的数据类型、取值范围等;对元组的约束可以规定元组中各属性间的相互关系;而对关系的约束则可以规定各元组间或关系间的相互联系。
11故障恢复的原则:对数据库的影响有两种可能性:一是数据库本身被破坏;二是数据库没有被破坏,但数据可能不正确,这是因为事务的运行被非正常终止造成的。12恢复算法一般由两部分组成:在正常事务处理时采取措施,保证有足够的冗余信息可用于故障恢复。故障发生后采取措施,将数据库内容恢复到某个保证数据库一致性、事务原子性及持久性的状态。
13数据库在运行过程中可能产生的故障有哪几类? 答:1)事务故障:事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为“事务故障”。2)系统故障:系统故障是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事物。特定类型的硬件错误(CPU故障),突然停电等造成系统停止运行,致使事物在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。3)介质故障:系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误。瞬间强磁场干扰,使存储在外存的数据部分损失或全部损失,称之为“介质故障”。14故障恢复技术:数据转储、日志文件、检查点方法、数据库镜像
15关系的完整性约束:域完整性约束:关系中属性的值应是域中的值,并由语义决定其能否为空值。实体完整性约束:关系中的主键不能为空值。参照完整性约束:关系的外键必须是另一个关系主键的有效值或者是空值。用户自定义完整性约束:正对某一具体数据的约束条件,由应用环境决定。
16故障恢复原理是冗余可分为副本和日志。恢复算法:在正常事物处理时采取措施,保证有足够的冗余信息可用于故障恢复、故障发生后采取措施,将数据库内容恢复到某个保证数据库一致性、事物原子性及持久性的状态。
17事务故障的恢复:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的,系统的恢复步骤是:⑴ 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。⑵ 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。⑶ 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。⑷ 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。
18系统故障的恢复:系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此,恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。系统恢复步骤如下:正向扫描日志文件,即从头扫描日志文件,找出在故障发证前已经提交的事务,将其事务标示记入重做队列,同时找出故障发证时尚未完成的事务,将其事务标识计入撤销队列、对撤销队列中的各个事务进行撤销处理、对重做队列中的各个事务进行重做扫描
19日志文件作用及建立原因:答:日志文件是用来记录事务对数据库的更新操作的文件。目的是进行事物故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。
20三级模式:三级模式结构:数据库的三级模式由外模式、概念模式和内模式三级模式构成。概念模式:简称模式,又称数据库模式、逻辑模式。一个数据库只有一个概念模式,它是数据库系统三级模式结构的中间层,概念模式是数据库中全体数据的逻辑描述,而不是数据库本身,它是装配数据的一个结构框架。外模式:外模式简称子模式,又称用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是用户与数据库系统之间的接口。一个数据库可以有多个外模式,设置外模式的优点如下:方便用户使用,简化用户接口、保证数据的独立性、有利于数据共享、有利于数据安全和保密。内模式:内模式也称存储模式。是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。一个数据库只能有一个内模式。21两级映像:外模式/概念模式映像:外模式/概念模式映像定义了各个外模式与概念模式间的映像关系。概念模式/内模式映像:概念模式/内模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。
22两极结构的独立性:物理数据独立性:如果数据库内模式要修改,即数据库的物理结构有所变化,那么只要对概念模式/内模式做相应的修改即可。概念模式/内模式提供了数据的物理数据独立性。逻辑数据独立性:如果概念模式要修改,例如增加记录类型或增加数据项,那么只要对外模式/概念模式映像做相应的修改,就可以使外模式和应用程序尽可能保持不变。这样,就称数据库打到了逻辑数据独立性。外模式/概念模式映像提供了数据的逻辑独立性。
23数据库技术的发展阶段:工管理阶段(数据部保存、没有对数据进行管理的软件系统、没有文件的概念、一组数据对应于一个程序,数据时面向应用的)、文件系统阶段(数据需要长期保存在外存上供反复使用、程序和数据之间有了一定得独立性、文件的形式已经多样化、数据的存取基本以记录为单位)、数据库系统阶段(数据结构化、数据共享、减少数据冗余、具有较高的数据独立性、方便用户接口、统一的数据管理与控制功能)
某校与教学管理相关的3个关系模式的结构如下: 学生(学号、姓名、年龄、性别、所在系)课程(课程号、课程名、开课系、任课教师)学习(学号、课程号、成绩)试进行如下操作:
1.创建“教学”数据库,在“教学”数据库中创建“学生”、“课程”、“学习”这3个基本表,并说明主键和外键。2.使用SQL的查询语句表达下列查询(1)查询刘老师所授课程的课程号和课程名(2)查询年龄大于23岁的男学生的学号和姓名
(3)查询至少修读刘老师所授课程中一门课程的女学生和姓名(4)查询王乐同学不学的课程的课程号(5)查询至少修读两门课程的学生学号
(6)查询全部学生都修读的课程的课程号与课程名(7)查询修读课程中包含刘老师所授课程的学生学号
3)SELECT 姓名 FROM 学生 WHERE 性别=‘女’ AND EXISTS(SELECT * FROM 学习WHERE 学习.学号=学生.学号 AND 课程号 IN(SELECT 课程号 FROM 课程 WHERE 任课教师 LIKE ‘刘%’))4)SELECT 课程号 FROM 课程 WHERE NOT EXISTS(SELECT * FROM 学习WHERE 学习.课程号=课程.课程号 AND 学号 IN(SELECT 学号 FROM 学生 WHERE 姓名=‘王乐’))5)SELECT 学号 FROM 学生 GROUP BY 学号 HAVING COUNT(*)>=2 6)SELECT 课程号,课程名 FROM 课程 WHERE NOT EXISTS(SELECT * FROM 学生 WHERE NOT EXISTS(SELECT * 学号 FROM 学习WHERE 学习.课程号=课程.课程号 AND 学习.学号=学生.学号))7)SELECT 学号 FROM 学习WHERE EXISTS(SELECT * FROM 学习WHERE 课程号 IN(SELECT * FROM 课程号 FROM 课程 WHERE 任课教师 LIKE ‘刘%’))试用SQL查询语句表达下列对教学数据库中3个基本表“学生”、“课程”、“学习”的查询(1)统计有学生修读的课程门数(2)求修读C4课程的学生的平均年龄
(3)求刘老师所授课程的每门课程的学生平均成绩
(4)统计每门课程学生的修读人数(超过10人的课程才统计),要求输出课程号和修读人数,查询结果按人数降序排列,若人数相同,按课程号升序排列(5)查询学号比王乐同学大,而年龄比他小的学生姓名(6)查询姓名以王打头的所有学生的姓名和年龄(7)在“学习”表中检索成绩为空值的学生学号和课程号(8)求年龄大于女同学平均年龄的男学生姓名和年龄(9)求年龄大于所有女同学年龄的男学生姓名和年龄 SELECT COUNT(DISTINCT 课程号)FROM 学习
SELECT AVG(年龄)FROM 学生 WHERE EXISTS(SELECT * FROM 学习WHERE学生.学号=学习.学号 AND 课程号=’C4’)SELECT AVG(成绩)FROM 学习WHERE GROUP BY 课程号 HAVING 课程号 IN(SELECT 课程号 FROM 课程 WHERE 任课教师 LIKE ‘刘%’)SELECT 课程号,COUNT(*)AS C_COUNT FROM 学习HAVING C_COUNT>10 ORDER BY C_COUNT DESC,课程号
SELECT 姓名 FROM 学生 WHERE 学号>ALL(SELECT 学号FROM 学生WHERE 姓名=’王乐’)AND 年龄
(2)在基本表“学生”中查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把查询到的值送往另一个已存在的基本表“结果”(学号,姓名,性别)中(3)在基本表“学习”中删除尚无成绩的元组
(4)把王乐同学在“学习”基本表中的课程和成绩全部删除(5)把修读Java课程不及格的成绩全改为空值(6)把低于总平均成绩的女同学成绩提高5%(7)在基本表“学习”中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)INSERT INTO 学生 VALUES(‘S009’,’吴’,18)INSERT INTO 结果(学号,姓名,性别)SELECT学号,姓名,性别 FROM 学生 WHERE NOT EXISTS(SELECT * FROM 学习WHERE 学生.学号=学习.学号 AND 成绩<80)DELETE FROM 学习WHERE 成绩 IS NULL DELETE FROM 学习WHERE 学号 IN(SELECT 学号 FROM 学生 WHERE 姓名=’王乐’)UPDATE 学习SET成绩=NULL WHERE 成绩<60 AND 课程号 IN(SELECT 课程号 FROM 课程 WHERE 课程名=’JAVA’)UPDATE 学习SET 成绩=成绩*1.05 WHERE 成绩<(SELECT AVG(成绩)FROM 学生)UPDATE 学习SET 成绩=成绩*1.04 WHERE 成绩>75 AND 课程号=’C4’ UPDATE 学习SET 成绩=成绩*1.05 WHERE 成绩<=75 AND 课程号=’C4’
第四篇:数据库原理实验报告
南 京 晓 庄 学 院
《数据库原理与应用》
课程实验报告
实验一 SQL Server 2005常用服务与实用工具实验
所在院(系): 数学与信息技术学院 班级:
学号:
姓名:
1.实验目的
(1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。(2)了解SQL Server 2005的主要组件、常用服务和系统配置。
(3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。
2.实验要求
(1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。
(2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。
(3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获得所感兴趣的相关产品主题/技术文档。
(4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL查询语句。
(5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。(6)按要求完成实验报告。
3.实验步骤、结果和总结实验步骤/结果
(1)简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。
(2)总结SQL Server Management Studio的主要操作方法。
(3)总结查询编辑器的功能和主要操作方法,并举例说明。
(4)总结“模板”的使用方法,并举例说明。
4.实验思考:
查询相关资料,简要描述SQL Server 2005的主要服务。
第五篇:数据库原理-教案
第一章 绪论
内容概述
阐述数据库的基本概念,介绍数据管理技术的进展情况、数据库技术产生和发展的背景,数据模型的基本概念、组成要素和主要的数据模型,概念模型的基本概念及ER方法,数据库系统的3级模式结构以及数据库系统的组成。
本章目标
本章讲解的数据库基本概念和基本知识是学习后续各个章节的基础。学习本章的目的在于了解基本知识,掌握基本概念,为以后的学习打好扎实的基础。
重点和难点
重点:牢固掌握概念模型的基本概念及其主要建模方法ER方法;掌握关系数据模型的相关概念、数据库系统三级模式和两层映像的体系结构、数据库系统的逻辑独立性和物理独立性等;对于如何通过ER方法描述现实世界的概念模型要做到能够举一反三的程度。
难点:本章的难点是需要掌握数据库领域大量的基本概念。有些概念一开始接触会感到比较抽象,但不要紧,随着学习的逐渐推进,在后续章节中,这些抽象的概念会逐渐变得清晰具体起来。此外,数据模型及数据库系统的体系结构也是本章的难点。
第二章 关系数据库
内容概述
系统地讲解关系数据库的重要概念,并着重对关系模型进行讲解。关系模型包括关系数据结构、关系操作集合、以及关系完整性约束三个组成部分。讲解关系代数、元组关系演算和域关系演算。从具体到抽象,先讲解实际的语言ALPHA(元组关系演算语言)和QBE(域关系演算语言),然后讲解抽象的元组关系演算。本章目标
掌握关系模型的三个组成部分及各部分所包括的主要内容;牢固掌握关系数据结构及其定义;关系的三类完整性约束的概念。为学习后面关系数据库系统打好基础。
重点和难点
重点:掌握关系数据结构及其定义;关系的三类完整性约束的概念。需要举一反三的是:关系代数(包括抽象的语言及具体的语言);关系代数中的各种运算(包括并、交、差、选择、投影、连接、除、及广义笛卡尔积等)、元组关系演算语言ALPHA及域关系演算语言QBE等,能够使用这些语言完成各种数据操纵。
难点:由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。同时,要注意把握由具体语言到抽象语言的原则,即通过对具体语言如ALPHA和QBE的学习过渡到对抽象的关系演算的把握。
实验内容
实验1 学习安装某一个数据库管理系统,通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架,熟悉对DBMS的安装,为后面的实验做准备。
第三章 关系数据库标准语言SQL
内容概述
详细介绍关系数据库语言SQL。SQL是关系数据库的标准语言。它内容十分丰富,功能非常强大。因为关系数据库系统的主要功能是通过SQL来实现的,因此讲解SQL的同时要进一步讲述关系数据库的基本概念。
本章目标 牢固掌握SQL,达到举一反三的掌握SQL的功能。同时通过实践,体会面向过程的语言和SQL的区别和优点。体会关系数据库系统为数据库应用系统的开发提供良好环境,减轻用户负担,提高用户生产率的原因。
重点和难点
重点:关系模型和关系数据库是《数据库系统概论》课程的重点,第3章又是重点中的重点。要熟练正确的使用SQL完成对数据库的查询、插入、删除、更新操作。在使用具体的SQL时,能有意识地和关系代数、关系演算等语言进行比较,了解他们各自的特点。
难点:用SQL语言正确完成复杂查询,掌握SQL语言强大的查询功能。因此在学习过程中一定要多练习,要在安装好的数据库系统上进行实际操作,检查你的答案,你查询的结果是否正确。只有通过大量练习才能真正达到举一反三的熟练程度。
实验内容
实验2 在安装好的数据库系统下创建数据库、创建表、创建索引;使用SQL对数据库进行各类查询操作(单表查询,连接查询,嵌套查询,集合查询)和更新操作(插入数据,修改数据,删除数据)。练习数据定义操作,包括基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除。对视图的查询,更新(注意更新的条件)。完成书后作业的SQL练习
第四章 数据库安全性
内容概述
介绍计算机以及信息安全技术标准的进展。详细讲解数据库安全性问题和实现技术。RDBMS实现数据库系统安全性的技术和方法有多种,本章讲解最重要的存取控制技术、视图技术和审计技术。讲解存取控制机制中用户权限的授权与回收,合法权限检查。数据库角色的概念和定义等。本章目标
掌握什么是数据库的安全性问题,牢固掌握数据库管理系统实现数据库安全性控制的常用方法和技术。
重点和难点
重点:使用SQL中的GRANT 语句和 REVOKE 语句来实现数据库的实现自主存取控制功能。使用SQL中CREATE ROLE语句创建角色,用GRANT 语句给角色授权。掌握视图机制在数据库安全保护中的作用。
难点:强制存取控制(MAC)机制中确定主体能否存取客体的存取规则,同学们要理解并掌握存取规则为什么要这样规定。
实验内容
实验3 在安装好的数据库系统下对已经建立的数据库创建用户、角色、视图;使用SQL对数据进行安全性控制,包括:授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。本实验可以分小组完成。例如,用户A登录、建表、建视图等,授权一些数据操作权限用户B,然后用户B登录,检查是否具有授予的数据操作权限。也可以一个人建2个用户来完成。
第五章 数据库完整性
内容概述
详细讲解数据库的完整性概念。包括,什么是数据库的完整性,数据库的完整性概念与数据库的安全性概念的区别和联系,RDBMS的数据库完整性实现机制,包括实体完整性、参照完整性和用户自己定义的完整性约束的定义机制、完整性检查机制和违背完整性约束条件时RDBMS采取的预防措施。触发器的概念和在数据库完整性检查中的应用。本章目标
掌握什么是数据库的完整性,掌握用SQL语言定义关系模式的完整性约束条件。
重点和难点
重点:牢固掌握DBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。需要举一反三的:用SQL语言定义关系模式的完整性约束条件。包括定义每个模式的主码;定义参照完整性;定义与应用有关的完整性。
难点:RDBMS如何实现完整性的策略,即当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,RDBMS如何进行处理,以确保数据的正确与有效。其中比较复杂的是参照完整性的实现机制。
实验内容
实验4 在安装好的数据库系统下对已经建立的数据库使用SQL对数据进行完整性控制(三类完整性、CHECK短语、CONSTRAIN子句、触发器)。进行违约操作,用实验证实,当操作违反了完整性约束条件时,系统是如何进行违约处理的
第六章 关系数据理论
内容概述
详细讲解关系数据理论,主要是关系数据库规范化理论。包括关系数据库逻辑设计可能出现的问题,数据依赖的基本概念(包括,函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念;多值依赖的概念),范式的概念、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。数据依赖的Armstrong公理系统。本章内容分为基本要求部分(《概论》6.1-6.3)和高级部分(《概论》6.4)。前者是计算机大学本科学生应该掌握的内容。后者是研究生应该学习掌握的内容。本章目标
关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。
重点和难点
重点:了解什么是一个“不好”的数据库模式。什么是模式的插入异常和删除异常。规范化理论的重要意义。牢固掌握数据依赖的基本概念,范式的概念,从1NF到4NF的定义,规范化的含义和作用。需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法。
难点:能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。各个级别范式的关系及其证明。
本章内容的理论性较强。要通过具体例子和习题练习理解和掌握理论知识
第七章 数据库设计
内容概述
讲解数据库设计方法和技术。数据库设计的特点,数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、具体设计内容、设计描述、设计方法等。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。
本章目标
了解数据库设计的重要性和数据库设计在信息系统开发和建设中的核心地位。掌握数据库设计方法和步骤,使学生具有设计数据库模式以及开发数据库应用系统的基本能力,能在实际工作中运用这些知识、技术和方法,设计符合应用需求的数据库及其应用系统。重点和难点
重点:掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。
难点: 技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。如何把第6章关系数据理论与本章结合,用关系数据理论指导数据库的逻辑设计。真正的难点是理论与实际的结合。同学们一般缺乏实际经验,缺乏对实际问题解决的能力。特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。要在完成本章习题的基础上认真完成大作业。体会这些要点,从而真正掌握本章讲解的知识、方法和技术。
课程大作业 《数据库设计与应用开发》
在某个RDBMS产品上,选择合适的应用系统开发工具为某个部门或单位开发一个数据库应用系统。通过实践,掌握本章介绍的数据库设计方法,同时培养团队合作精神。要求5~6位同学组成一个开发小组,每位同学承担不同角色(例如:项目管理员、DBA、系统分析员、系统设计员、系统开发员、系统测试员)。具体要求:
* 给出数据库设计各个阶段的详细设计报告;
* 写出系统的主要功能和使用说明;
* 提交运行的系统;
* 写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想与建议;
每个小组进行60分钟的报告和答辩,讲解设计方案,演示系统运行,汇报分工与合作情况
第八章 数据库编程 内容概述
在数据库应用系统的开发中常常使用编程方法对数据库进行操纵。本章讲解这些编程技术涉及的概念和使用的方法。主要包括嵌入式SQL、游标的概念;SQL的过程化扩展PL/SQL和存储过程;使用ODBC设计开发数据库应用程序的方法。
因为JDBC编程、OLEDB编程与ODBC编程的思路基本相同,限于篇幅本章就不讲解JDBC和OLEDB编程,学生可以通过上机实验了解这些技术。本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。
本章目标
掌握开发数据库应用系统的各种编程方法,具有正确选择不同的方法和技术开发应用程序的能力。
重点和难点
重点:了解SQL编程技术可以有效克服SQL实现复杂应用方面的不足,提高应用系统和RDBMS间的互操作性。掌握嵌入SQL中游标的概念和使用方法;掌握PL/SQL和存储过程的基本概念,基本结构,语句语法和用法。了解使用ODBC开发应用系统的体系结构,掌握ODBC API和ODBC的应用程序的工作流程。
难点:理论联系实际,能够在实际安装的RDBMS上通过编程的方式开发应用程序,完成对数据库的各种操作。能够使用ODBC来进行数据库应用程序的设计,使设计的应用系统可移植性好,并且能同时访问不同的数据库,共享数据资源。
实验内容
《数据库系统概论》第4版给出了4个实验,教师可以根据情况选择其中部分实验让学生完成。具体实验要求请参见教科书。实验
5通过嵌入式SQL访问数据库 实验6
使用PL/SQL编写存储过程访问数据库 实验7
通过ODBC访问数据库
实验8
通过JDBC访问数据库(注:因为JDBC编程与ODBC编程的思路基本相同,限于篇幅本章没有讲解JDBC,同学可以自学,也可以参考中国人民大学 数据库系统概论精品课程教学网站:http://www.xiexiebang.com/ 中的课程实验)。
第九章 关系查询处理和查询优化
内容概述
通过实例讲解关系数据库查询优化的重要性和可能性。讲解RDBMS的查询处理步骤,即查询分析、查询检查、查询优化和查询执行;查询优化的基本概念,查询优化包括代数优化和物理优化;代数优化是指关系代数表达式的优化;物理优化则是指存取路径和底层操作算法的选择,所以先讲解实现查询操作的主要算法,主要是选择操作和连接操作的主要算法思想,然后讲解关系代数表达式等价变换规则,关系代数表达式的优化,物理优化方法(基于启发式规则的存取路径选择优化,操作算法的执行代价估算方法,基于代价的优化方法)。
本章目标
本章并不要求学生掌握RDBMS查询处理和查询优化的内部实现技术,因此没有详细讲解技术细节。
本章的目的是希望学生了解RDBMS查询处理的基本步骤,查询优化的概念、基本方法和技术,为数据库应用开发中利用查询优化技术提高查询效率和系统性能打下基础。
重点和难点
重点:了解关系数据库查询优化的重要性。掌握查询处理各个步骤的主要功能。能够把SQL语句转换成查询树,对查询树进行代数优化,转换成优化的查询树。掌握物理优化的基本方法。难点:能运用本章学习的查询优化知识,对于比较复杂的查询,尤其是涉及连接和嵌套的查询,写出适合RDBMS自动优化的SQL语句。对于RDBMS不能优化的查询需要重写查询语句,进行手工调整以优化性能。不要把优化的任务全部放在RDBMS上。
实验内容
实验9 查询优化 通过本章实验,了解你安装使用的RDBMS的查询优化方法和查询计划表示,能够利用它分析查询语句的实际执行方案和查询代价,进而通过建立索引或者修改SQL语句来降低查询代价,达到优化系统性能的目标。
具体实验内容: 对单表查询
例如以下的查询(可以自己给出查询语句)select * from student
where age>20 ; 2.连接查询,普通的两表连接查询或多表连接查询
3.嵌套查询,自己写几个带有子查询的例子,主要考虑带有IN和EXISTS谓词的子查询,包括相关子查询和不相关子查询。也可以使用《数据库系统概论》书上列举的例子。
对以上各种查询,通过建立索引或者删除索引(单表查询语句)、修改连接顺序(连接查询语句)、重写SQL语句即查询重写(嵌套查询);比较不同查询计划执行的性能差异,达到降低查询代价,优化性能的目标。
第十章 数据库恢复技术
内容概述
事务处理技术主要包括数据库恢复技术和并发控制技术。因为事务是数据库恢复和并发控制的基本单位,所以首先讲解事务的基本概念和事务的ACID性质。
本章讲解数据库恢复技术。包括数据库运行中可能发生的故障类型,数据库恢复中最经常使用的技术—数据转储和登录日志文件。讲解日志文件的内容及作用,登记日志文件所要遵循的原则,针对事务故障、系统故障和介质故障等不同故障的恢复策略和恢复方法。具有检查点的恢复技术。数据库镜像功能。
本章目标
掌握事务的基本概念和事务的ACID性质。了解数据库恢复技术的重要性,针对不同的故障类型,掌握恢复数据库的策略和方法。
重点和难点
重点:牢固掌握事务的基本概念和事务的ACID性质。要掌握数据库故障恢复的策略和方法。数据库恢复的基本原理是数据备份,它貌似简单,实际却很复杂。数据库的事务管理策略(不仅有数据库恢复策略,还有并发控制策略)和DBMS缓冲区管理策略、事务一致性级别密切相关,同学们要在学习完这些知识后把这些问题联系起来,提升对这些技术的理解和掌握。
难点:掌握日志文件的使用,系统故障、介质故障的恢复方法。对于刚刚学习数据库的学生来讲并不体会数据库故障恢复的复杂性和重要性。在实际工作中,则必须正确了解所用的DBMS产品提供的恢复技术和恢复方法,并且能够根据这些机制正确制定系统的恢复策略,以保证数据库系统7*24小时正确运行。保证数据库系统在遇到故障时能及时恢复正常运行,提高抗故障抗灾难的能力。
实验内容
在安装好的数据库系统下对已经建立的数据库人为地制造事务内部故障和系统故障,检查系统是否进行了恢复。
第十一章 并发控制
内容概述 数据库管理系统必须提供并发控制机制来协调并发用户的并发操作以保证并发事务的隔离性和一致性,保证数据库的一致性。本章讨论数据库并发控制的基本概念和实现技术。包括封锁技术、封锁协议、活锁和死锁的概念、并发调度的可串行性、冲突可串行化调度、两段锁协议、封锁的粒度、意向锁。
本章目标
了解的数据库并发控制技术的必要性和重要性。牢固掌握并发控制的基本概念。
重点和难点
重点:掌握并发操作产生的数据不一致性(丢失修改、不可重复读、读“脏数据”)的确切含义。封锁协议与数据一致性的关系;并发调度的可串行性概念。
难点:两段锁协议与串行性的关系、与死锁的关系。具有意向锁的多粒度封锁方法的封锁过程。
本章内容有一定的深度和难度,可以通过对实例的学习和习题的练习来正确理解和掌握基本概念