数据库原理与应用试题9
- 格式:doc
- 大小:53.50 KB
- 文档页数:7
数据库原理及应用(SQL Server 2008)试卷总分:88答题时间:[ 未设置 ]一、单选题以下不属于数据模型的是( )。
[2分]-----正确答案(D)1.A层次模型B网状模型关系模型CD概念模型2.下列函数中,返回值数据类型为int的是( )。
[2分]-----正确答案(B)LEFTABLENCLTRIMSUNSTRINGD3.表达式'123'+'456'的结果是( )。
[2分]-----正确答案(A)A'123456'B579'579'CD'123'下列叙述不是视图特点的是( )。
[2分]-----正确答案(A)4.A为用户集中数据B降低数据库设计的复杂性存数数据CD阻止数据以便到处到其他应用程序5.根据作用于的数据库对象和范围的不同,下列不属于数据完整性的是( )。
[2分]-----正确答案(A)A域完整性B实体完整性参照完整性CD规则完整性6.SQL Server2008属于( )数据库系统。
[2分]-----正确答案(C)层次型AB网状型C关系型面向对象型D7.下列常数中,属于Unicode字符串常量的是( )。
[2分]-----正确答案(C)'123'AB' 123'CN'123'D'abc'8.下列操作中,( )不是SQL Server服务管理器的功能。
[2分]-----正确答案(C)A启动SQL SERVER服务B停止SQL SERVER服务C执行SQL 查询命令D暂停SQL SERVER服务9.下列不属于存储过程的是( )。
[2分]-----正确答案(D)A系统存储过程扩展存储过程BC用户定义存储过程D约束设A和B两个数据表的记录数分别为3和4,对两个表执行交叉连接查询后,查询结果中最多可获得( )条数据。
10.[2分]-----正确答案(A)A12B7C4D3二、填空题关于身份验证模式叙述正确的是( )。
第九章一、填空题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。
习题一、单项选择题1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是(A)阶段。
A. 数据库系统B. 文件系统C. 人工管理D.数据项管理2. 数据库系统与文件系统的主要区别是(B)。
A. 数据库系统复杂,而文件系统简单B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3. 在数据库中存储的是(C)。
A. 数据B. 数据模型C. 数据及数据之间的联系D. 信息4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。
A. 同一个应用中的多个程序共享一个数据集合B. 多个用户、同一种语言共享数据C. 多个用户共享一个数据文件D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS6. 数据库管理系统(DBMS)是(C)。
A. 一个完整的数据库应用系统B.一组硬件C. 一组系统软件D.既有硬件,也有软件7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B)。
A. 文件的集合B. 数据的集合C. 命令的集合D. 程序的集合8. 支持数据库各种操作的软件系统是(B)。
A. 命令系统B. 数据库管理系统C. 数据库系统D. 操作系统9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫(B)。
A. 文件系统B. 数据库系统C. 软件系统D. 数据库管理系统10. 数据库系统中应用程序与数据库的接口是(B)。
A. 数据库集合B. 数据库管理系统DBMSC. 操作系统OSD. 计算机中的存储介质11. 在DBS中,DBMS和OS之间关系是(D)。
数据库原理与应用试题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 执行程序D. 以上都是答案:D2. 关系数据库中,表之间的关系有几种?A. 1种B. 2种C. 3种D. 4种答案:C3. SQL语言中的“SELECT”语句用于执行什么操作?A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C4. 在数据库中,主键的作用是什么?A. 唯一标识表中的每条记录B. 存储数据C. 用于排序D. 用于分组答案:A5. 数据库的完整性约束包括哪些类型?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 所有上述类型答案:D二、填空题6. 数据库设计通常分为三个阶段:需求分析、______、物理设计。
答案:概念设计7. 在关系数据库中,一个表的______是指表中数据的逻辑结构。
答案:模式8. 数据库的并发控制主要解决______、更新丢失和不一致的异常问题。
答案:数据竞态9. 数据库的______是指数据库中数据的独立性。
答案:规范化10. 在SQL中,使用______语句可以实现数据的删除。
答案:DELETE三、简答题11. 简述数据库的三级模式结构。
答案:数据库的三级模式结构包括外模式、概念模式和内模式。
外模式是用户与数据库交互的接口,概念模式是数据库的全局逻辑结构,内模式是数据库的物理存储结构。
12. 解释什么是事务的ACID属性。
答案:事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性指事务中的操作要么全部完成,要么全部不完成;一致性指事务执行的结果必须使数据库从一个一致的状态转移到另一个一致的状态;隔离性指并发执行的事务之间不会互相影响;持久性指一旦事务提交,其结果将永久保存在数据库中。
四、论述题13. 论述数据库备份与恢复的重要性及其常用方法。
《数据库原理与应用》考试试卷和答案一.单项选择题(每题1分,共23分)1.目前市场上常见的DBMS 90%以上都是基于( C )数据模型的。
A.层次B.网状C.关系D.面向对象2.E-R图是在数据库设计中用来表示( A )的一种常用方法。
A.概念模型B.逻辑模型C.物理模型D.面向对象模型3.( C )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
A.外模式B.内模式C.模式D.概念模式4.( B )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
A.外模式B.内模式C.模式D.概念模式5.数据库的概念模型独立于(A )。
A.具体的机器和DBMS B.E-R图C.信息世界D.现实世界6.在数据库中存储的是( C )。
A.数据B.数据库模型C.数据以及数据之间的联系D.信息7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是(B )。
A.互不相关的B.不可分解的C.长度可变得D.互相关联的8.在数据模型中有“型”和“值(或实例)”两个对应的概念。
其中数据库的模式是一个(D )的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。
A.型;变化;值;不变B.值;不变;型;变化C.值;变化;型;不变D.型;不变;值;变化9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20.则A与B的笛卡尔积A×B的属性有( D )个,元组个数有()个。
A.30;200 B.11;30 C.30;30 D.11;20010.父亲和子女的亲生关系属于( B )的关系。
A.1:1 B.1:n C.m:n D.不一定11.在SQL语言中,删除关系表中的一个属性列,要用动词( D ),删除关系表中的一行或多行元组,要用动词()。
A.delete,delete B.drop,drop C.delete,drop D.drop,delete12.在SQL语言中,为关系模式增加一个属性要用动词(B),为关系表增加一行或多行元组要用动词()。
数据库原理与应用考试题1. 什么是数据库系统的ACID属性?请简要解释每个属性的含义。
ACID是数据库系统中事务的四个基本特性,包括:- 原子性(Atomicity):事务被视为一个不可分割的原子单位,要么全部执行成功,要么全部回滚到事务开始前的状态。
- 一致性(Consistency):事务执行前和执行后,数据库都必须保持一致性状态。
任何对数据库的修改必须符合预定义的规则,不会破坏数据库的完整性约束。
- 隔离性(Isolation):每个事务的执行都相互隔离,事务之间不能互相影响。
并发执行的事务不会互相干扰,保证了并发事务的正确性。
- 持久性(Durability):一旦事务被提交,其修改将永久保存到数据库中,即使发生系统故障或异常,数据库也能够恢复到事务提交后的状态。
2. 解释一下数据库的三级模式结构。
数据库的三级模式结构包括:- 外模式(External Schema):也称为用户模式或子模式,是用户对数据库中某一部分的可见性描述。
外模式定义了用户所能够看到和访问的数据的逻辑结构和数据细节。
- 概念模式(Conceptual Schema):也称为全局模式或逻辑模式,是整个数据库在逻辑上的全貌和结构。
概念模式定义了数据库中各个实体之间的逻辑关系和约束。
- 内模式(Internal Schema):也称为存储模式或物理模式,是数据库在物理存储上的实现方式。
内模式定义了数据库在计算机存储介质上的存储结构和访问方式。
3. 什么是数据库的索引?为什么在数据库中使用索引?数据库的索引是一种数据结构,用于加快对数据库表中数据的检索速度。
索引通常是基于列或属性的值,提供了快速访问和查找数据的方法。
在数据库中使用索引有以下几个原因:- 提高检索速度:索引可以将数据按照特定的排序方式存储,使得数据库可以更快地定位到需要查询的数据,减少了全表扫描的开销。
- 提高数据的唯一性约束:通过在索引中定义唯一性索引,可以确保表中的某一列或属性值的唯一性,避免数据重复或冲突。
可编辑修改精选全文完整版一、单选题(共20分,每题1分)1.DB、DBMS和DBS三者之间的关系是(B)A. DB包括DBMS和DBSB. DBS包括DB和DBMSC. DBMS包括DB和DBS C. DBS与DB和DBMS无关2.在数据库系统中,读脏数据是指一个事务读了另一个事务(C)A. 未更新的数据B. 未撤销的数据C. 未提交的数据D. 未刷新的数据3.加锁协议中规定“先申请先服务”的原则,可以避免数据库系统出现(A)A. 活锁B. 死锁C. 读-写冲突D. 写-写冲突4.语句DELETE FROM SC表明(A)A. 删除SC中的全部记录B. 删除基本表SCC. 删除基本表SC中的列数据D. 删除基本表SC中的部分行5.数据库设计阶段分为(D)A. 物理设计阶段、逻辑设计阶段、编程和调试阶段B. 模型设计阶段、程序设计阶段和运行阶段C. 方案设计阶段、总体设计阶段、个别设计阶段和编程阶段D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段6.关系笛卡尔积运算记号R×S表示(D)A. R为关系名,S为属性名B. R和S均为属性名C. R为属性名,S为关系名D. R和S均为关系名7.在DB应用中,一般一条SQL语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现(B)A. 指针B. 游标C. 数组D. 栈8.下列说法中不正确的是(C)A. 任何一个包含两个属性的关系模式一定满足3NFB. 任何一个包含两个属性的关系模式一定满足BCNFC. 任何一个包含三个属性的关系模式一定满足3NFD. 任何一个关系模式都一定有码9.在下列基本表中数值5表示(C)CREATE TABLE student(Snum CHAR(5)NOT NULL UNIQUE,Sname CHAR(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Snum 的长度D. 表格的大小10.在视图上不能完成的操作是(C)A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图11.在DBS中,DBMS和OS之间的关系是(B)A. 相互调用B. DBMS调用OSC. OS调用DBMSD. 并发运行12.关系中行列次序的变换性质是(D)A. 行可以交换,列不可交换B. 行不可交换,列可交换C. 行、列均不可交换D. 行、列均可以交换13.单个用户使用的数据视图的描述称为(A)A. 外模式B. 概念模式C. 内模式D. 存储模式14.数据库系统安排多个事务并发执行的过程称为(C)A. 步骤B. 进程C. 调度D. 优先级15.SQL语言有两种使用方式,分别称为交互式和(C)A. 提示式SQLB. 多用户SQLC. 嵌入式SQLD. 解释式SQL16.以下不属于服务器端脚本语言的是(D)。
《数据库原理及应用》期末考试试卷答案及评分标准一、单选题 (每小题 2 分,共 20 分)1.关系数据库规范化是为解决关系数据库中()问题而引入的。
A. 插入异常、删除异常和数据冗余B. 提高查询速度C. 减少数据操作的复杂性D. 保证数据的安全性和完整性2.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。
A.DBMS包括DB和DBS B.DB包括DBS和DBMSC.DBS包括DB和DBMS D.DBS就是DB,也就是DBMS3.数据库管理系统能实现对数据库中数据表、索引等对象的定义、修改、删除,这类语言称为()。
A.数据定义语言(DDL)B.数据操纵语言(DML)C.数据查询语言(DQL)D.数据控制语言(DCL)4.概念模型是()A、用于信息世界的建模,与具体的 DBMS 有关B、用于信息世界的建模,与具体的 DBMS 无关C、用于现实的建模,与具体的 DBMS 有关D、用于现实的建模,与具体的 DBMS 无关5.物理数据独立性是指()。
A. 模式改变,外模式和应用程序不变B. 模式改变,内模式不变C. 内模式改变,模式不变D. 内模式改变,外模式和应用程序不变6.SQL语言是()语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库7.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。
A. 元组B. 行C. 记录D. 属性8.文件系统与数据库系统的最大区别是()。
A. 数据共享B. 数据独立C. 数据结构化D. 数据冗余9.用于事务回滚的SQL语句是()A、CREATE TABLEB、COMMITC、GRANT和REVOKED、ROLLBACK10.为提高效率,关系数据库系统必须进行()处理。
A、定义视图B、查询优化C、建立索引D、数据规范化到最高范式二、填空题 (每小题 2 分,共 20 分)1. 数据库中的数据具有两个特征:______________、______________2. 关系中主码的取值必须唯一且非空,这条规则是______________完整性规则。
(完整版)数据库原理与应⽤试题及答案⼀、单选题(20分,每题1分)1.关系数据模型的基本数据结构是()。
A. 树B. 图C. 索引D. 关系2.提供数据库定义、数据操纵、数据控制和数据库维护功能的软件称为()。
A. OSB. DSC. DBMSD. DBS3.元数据是指()。
A. 数据结构的描述B. 数据项的描述C. 数据的来源D. 基本数据4.下⾯对关系中属性的描述,错误的是()。
A. 属性的次序可以任意交换B. 允许多值属性C.属性名唯⼀ D. 每个属性中所有数据来⾃同⼀属性域5.超码、候选码和主码之间的关系是()。
A.超码?候选码?主码 B. 超码?主码?候选码C. 主码?候选码?超码D. 主码?超码?候选码6.关系数据库实现数据之间联系的⽅法是()。
A. 主码B. 外码C. 候选码D. 超码7.如下所⽰关系R(A,B,C,D)中,可以作为主码的属性组是()。
A. ABB. BCC. CDD. AD或BD8.设有如下所⽰关系R(A,B)和S(C,D,A),R的主码是A,S的主码是C、外码是A(参照R.A),则能够插⼊关系S的元组是()。
A. (1,2,3)B. (3,2,1)C. (1,2,1)D. (4,5,6)9. 将上题中的2个关系R 和S (未插⼊元组前)进⾏R*∞S 后的运算结果包含()个元组。
A. 5B. 6C . 3D. 210. 对第8题中的关系R 和S ,若将属性A 定义为S 的外码时使⽤了ON UPDA TECASCADE 短语(级联更新),将R 中第⼀个元组的A 属性值更新为4时,S 中第⼀个元组A 属性的值()。
A. 不变B. 变为4C .变为NULL D. 拒绝更新,返回错误信息11. 设有⼀个关系R (A ,B ),如果要找出B 属性的最后⼀个字母为A ,并且⾄少包含2个字母的查询条件⼦句应写成WHERE B LIKE ()。
A . ‘_A%’B. ‘_A ’C. ‘_% A ’D. ‘%A ’12. SQL 中谓词EXIST 可⽤来测试⼀个集合是否()。
2004-2005学年第二学期期末考试2002级信管专业《数据库原理及应用》试题B一、选择题(20分,每小题2分):1、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是____阶段。
A.数据库系统 B.文件系统C.人工管理 D.数据项管理2、____是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
A.程序B.命令C.事务D.文件3、下面哪个不是数据库系统必须提供的数据控制功能____。
A.安全性B.可移植性C.完整性D.并发控制4、给定关系模式SCP(SNO,Cno,P),其中Sno表示学号,Cno表示课程号,P表示名次。
若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是()。
A.(Sno,Cno)和(Cno,P)都可以作为候选码。
B.(Sno,Cno)是唯一的候选码。
C.关系模式SCP既属于3NF也属于BCNF。
D.关系模式SCP没有非主属性。
5、设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是____。
A.该操作不存在问题B.该操作丢失修改C.修改该操作不能重复读D.该操作读“脏”数据T1 T2①读A=100A=A*2写回②读A=200③ ROLLBACK恢复A=100图1 事务并发操作图6、在当前打开的“教师”表中,含有“职称”和“工资”字段,求“教授”的工资总数,并存入变量nsalary的正确命令是()。
A.SUM 工资 TO nsalary FOR 职称=“教授”B.AVERAGE工资 TO nsalary FOR 职称=教授C.SUM 工资 TO nsalary FOR “职称”=教授D.COUNT工资 TO nsalary FOR 职称=“教授”7、Visual FoxPro是一种()。
A.数据库B.数据库系统C.数据库管理系统D.操作系统8、使用LIST命令时,其范围短语若为ALL或REST,执行该命令后,记录指针指向()。
A.末记录的后面B.末记录C.首记录的前面D.首记录9、以下关于查询的描述正确的是()。
A.不能根据自由表建立查询B.只能根据自由表建立查询C. 不能根据数据库表建立查询D. 可以根据数据库表和自由表建立查询10、[视图设计器]窗口比[查询设计器]窗口中多出的选项卡是()。
DA.字段B.排序C.联接D.更新条件二、填空题(30分,每空2分):1、数据库中存储的基本对象是⑴。
2、数据模型的三要素包含⑵、⑶、⑷3部分。
3、SQL语言的数据定义功能包括⑸、⑹、⑺和⑻。
4、Visual FoxPro属于⑼数据库管理系统。
5、VFP提供了一系列基类来支持用户派生出新类。
基类有两种⑽和⑾。
6、当记录指针指向最后一个记录时,测试函数EOF()的返回值是⑿。
7、选择当前未使用的最小编号工作区的命令是⒀。
8、报表由⒁和⒂两个基本部分组成。
简答题(15分,每小题5分):1、简要叙述关系数据库的优点?2、举例说明关系参照完整性的含义。
3、在数据库中为什么要使用查询和视图?它们之间有何区别?三、综合题(35分):1、假定一个图书馆的数据库包括以下的信息:(10分)借阅者的信息:读者号、姓名、地址、性别、年龄和所在单位。
书的信息:书号、书名、作者、出版社。
对每本被借出的书有读者号、借出的日期、应还日期。
完成如下设计:(1)设计该图书管理系统的E-R图;(5分)(2)将该E-R图转换为关系模型结构;(3分)(3)指出转换结果中每个关系模式的候选码。
(2分)2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。
(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')SC(S#,C#,SCORE) 例:(003,'C1',83)C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')(1)用关系代数检索既选修了C1课程,又选修了C2课程的学生姓名。
(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。
3、设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖:(10分)S#,CNAME→SNAME,SDEPT,MNAMES#→SNAME,SDEPT,MNAMES#,CNAME→GRADESDEPT→MNAME试求下列问题:(1)关系STUDENT属于第几范式?(5分)(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。
(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
试题答案一、选择题(20分,每小题2分):1.A2.C3.B4.B5.C 6 A 7.C 8.A 9.D 10.D二、填空题(20分,每空2分):⑴数据⑵数据结构⑶数据操作⑷数据完整性⑸定义数据库⑹定义基本表⑺定义视图⑻定义索引⑼关系⑽容器类⑾控件类⑿真(.T.)⒀SELECT 0 ⒁数据源⒂布局三、简答题(15分,每小题5分):1、简要叙述关系数据库的优点?答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。
2、举例说明关系参照完整性的含义。
答:假如有下表所示的两个关系表,在成绩表中,学号是主码,课程号是外码:在课程表中课程号是主码,根据关系参照完整性的定义,R2是成绩表,R1是课程表,也就是成绩表中课程号的值或者为空或者在课程表中的课程号中能够找到。
成绩表课程表满足这个条件是必须的,如果不满足,假设成绩表中课程号的值k20在课程表中课程号的值中找不到,则该课程号显然是不正确的,这样会造成数据的不一致性。
3、在数据库中为什么要使用查询和视图?它们之间有何区别?答:利用查询可以从一个或多个表中检索需要的数据,快速得到一组想操作的记录,每个记录只显示所需要的字段,而且还可以对查询结果进行分组和排序。
查询结果将产生一个独立的数据文件,但它仅可以当作输出使用,不能修改查询结果,查询结果也不会影响原来的数据文件,这正是查询与视图的差别。
视图和查询一样都可以从数据库中查询满足一定条件的数据记录,但相对查询而言视图的一个突出优点是可以在查询结果的基础上修改原数据,即视图可以实现数据源的更新。
四、综合题(35分):1.(1)设计该图书管理系统的E-R图;(5分)(2)将该E-R图转换为关系模型结构;(3分)(3)指出转换结果中每个关系模式的候选码。
(2分)解:(1)本题对应的E-R图如图2 所示。
图2 E-R图(2)对应的关系模型结构如下:读者(读者号,姓名,地址,性别,年龄,单位)。
书(书号,书名,作者,出版社)。
借书(书名,读者号,借出的日期,应还日期)。
(3)每个关系模式的候选码如(2)所示。
2、设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。
(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')SC(S#,C#,SCORE) 例:(003,'C1',83)C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')(1)用关系代数检索既选修了C1课程,又选修了C2课程的学生姓名。
))(())((2''1'SC S SC S C Cno Sname C Cno Sname ==σπσπ(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
{T (1)|(∃U)(∃V)(∃W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}(3)用SQL 找出选修了“程军”老师教的所有课程的学生姓名。
SELECT S.SNAMEFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE C.TEACHER ='程军' AND NOT EXISTS(SELECT *FROM SCWHERE SC.C#=C.C# AND SC.S#=S.S#))3、设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME 为候选码,设关系中有如下函数依赖: (10分)S#,CNAME →SNAME,SDEPT,MNAMES#→SNAME,SDEPT,MNAMES#,CNAME →GRADESDEPT →MNAME试求下列问题:(1)关系STUDENT 属于第几范式?(5分)(2)如果关系STUDENT 不属于BCNF ,请将关系STUDENT 逐步分解为BCNF 。
(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
解:(1)关系STUDENT是1NF。
(2)首先消除部分函数依赖{S#,CNAME}→{SNAME,SDEPT,MNAME}将关系分解为:R1(S#,SNAME,SDEPT,MNAME)R2(S#,CNAME,GRADE)在关系R1中存在非主属性对候选码的传递函数依赖S#→SDEPT,SDEPT→MNAME,所以以上关系模式还不是BCNF,进一步分解R1:R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R11,R12都是3NF。
关系模式R2(S#,CNAME,GRADE)R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R2,R11,R12关系模式存在的函数依赖S#,CNAME→GRADE S#,SNAME→SNAME,SDEPT SDEPT→MNAME上述函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF。