数据库系统原理及应用习题集及参考答案要点.docx
《数据库系统原理及应用习题集及参考答案要点.docx》由会员分享,可在线阅读,更多相关《数据库系统原理及应用习题集及参考答案要点.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统原理及应用习题集及参考答案一、 简答题1, 什么是数据库管理系统?一种负责数据库的建立, 操作, 管理和维护的软件系统。2, 数据库系统有哪几种模式?分别用来描述什么?1外模式是用户的数据视图,用来描述数据的局部逻辑构造,是模式的子集。2模式是全部用户的公共数据视图,用来描述数据库中全体数据的全局逻辑构造和特征。3内模式又称存储模式,描述数据的物理构造及存储方式3, 什么是事务?事务有哪些特征?答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不行分割的工作单位。 事务的特征:原子性, 一样性, 隔离性, 持续性。4, POWER BUILDER中事务对象
2、有何作用?答: PowerBuider的事务对象是应用程序及数据库之间进展通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问应用程序及数据库的全部通信都须要通过事务对象来完成,除了干脆运用系统的缺省事务对SQLCA外,开发人员也可以创立自己的事务对象。5, SQL SERVER中INSERTED表和DELETED表有何用?答:触发器中用到两种特别的表:删除表和插入表触发器中运用名为“deleted和“inserted来参照这些表;删除表存储受DELTE和UPDATE语句影响
3、的行的副本当执行DELETE或UPDATE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDATE语句影响的行的副本当执行一NSERT或UPDAT语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可运用删除表和插入表中的行来参照相关表中的行,或测试被删除或插入行中的值。6, 数据库系统由哪几局部构成?答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库, 数据库管理系统及其开发工具, 应用系统, 数据库管理员构成。7, 什么是候选码?什么是主码?主码只能有一个属性吗?答:能唯一标识实体的属性或属
4、性组称为超码,其随意真子集都不能成为超码的最小超码称为候选码; 从全部候选码中选定一个用来区分同一实体集中的不同实体,称作主码; 主码只能有一个属性。8, 在E-R模型中联系是用来反映什么样的信息,它有几种类型?答:用来反映为实体型内部的联系和实体型之间的联系,实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。联系可分为三种:(1) 一对一联系1:1(2) 一对多联系1:n(3) 多对多联系m:n。9, 什么是锁协议?什么是两段锁协议?答:数据库管理系统的并发限制在运用封锁方法时,对数据对象加锁时须要约定一些规那么,例如何时申请封锁, 持锁时间, 何
5、时释放封锁等;这些规那么就是锁协议。 所谓两段锁协议是指全部事务必需两个阶段对数据项加锁和解锁。(1) 在对任何数据进展读, 写操作之前,首先分申请并获得对该数据项加锁和解锁;(2) 在释放一个封锁之后,事务不现申请和获得任何其他封锁。10, 数据库复原的依据是什么?答:根本原理就是利用存储在后备副本, 日志文件和数据库镜像中的冗余数据来重建数据库。11, 关系数据库中的实体完整性和参照完整性对数据分别有什么样的约束?答: 实体完整性规那么是:假设属性A是根本关系R的主属性,那么属性A不能取空值。 参照完整性规那么是:假设属性或属性组F是根本关系R的外码,它及根本关系S的主码Ks相对应根本关系
6、R和S不肯定是不同的关系,那么对于R中每个元组在F上的值必需为:或者取空值F的每个属性值均为空值;或者等于S中某个元组的主码值。12, 数据库管理系统为什么要对事务进展并发限制?假如不进展并发限制会出现哪些问题?答:为了充分利用系统资源发挥数据库共享资源的特点,应当允很多个事务并行地执行,当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的状况,假设对并发操作不加限制就可能会存取和存储不正确的数据,破坏事务的一样性和数据库的一样性;所以数据库管理系统必需供应并发限制机制。 假如不进展并发限制会出现数据丢失修改, 不行重复读和读“脏数据等问题。13, 在进展总体E-R图的优化时具体做什么
7、?答:消退多余的属性和多余的联系。14, 什么是外码?建立外码的作用是什么?答:外码指关系R中的一个属性组,它不是R的码,但它及另一个关系S的码相对应,那么称这个属性组为R的外码。 如S关系中的D#建立外码的作用:在相应的表之间建立一种关联。15, 数据库的构造数据模型有哪几种?按此划分SQL SERVER属于哪种类型?答:有层次模型, 网状模型, 关系模型, 面对对象模型, 对象关系模型等几种;SQL SERVER 属于关系模型。16, 数据库管理系统为什么要对事务进展并发调度?并发调度时为什么要进展并发限制?答:数据库是一个共享资源,可以供多个用户运用;假如事务一个一个地串行执行,那么很多
8、系统资源将处于空闲状态,因此为了充分利用系统资源发挥数据库共享资源的特点,应当允很多个事务并行地执行,进展并发调度;当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的状况,假设对并发操作不加限制就可能会存取和存储不正确的数据,破坏事务的一样性和数据库的一样性;所以数据库管理系统必需供应并发限制机制。17, 写出数据库设计的步骤。答:1需求分析;2概念构造设计;3逻辑构造设计;4物理构造设计;5数据库实施;6数据库运行和维护。18, 在建立E-R模型时如何区分实体和属性?答:在给定的应用环境中,可以遵循以下准那么来划分实体和属性: 1属性及它所描述的实体之间只能是单值联系,即联系只能是
9、一对多的;2属性不能再有须要进一步描述的性质;(3) 作为属性的数据项,除了它所描述的实体之外,不能再及其它实体具有联系。19, 什么是触发器?答:是一种特别类型的存储程序,在试图修改触发器所爱护的表中的数据时,它就会自动执行。触发器可以包括大多数Transact_sql语句。触发器的查询方案存储在过程缓冲中。20, 事务对象的属性SQLCODE的返回值有哪些,分别表示什么?答:SQLCode指示最近一次SQL语句是操作胜利还是失败,其可能取值为:0 操作胜利-1 操作失败100 操作胜利,但无返回数据21, 什么是ODBC?将它和专用接口进展比拟。答: ODBC(Open Data Base
10、 Connectivity接口是微软公司提出的开放式数据库互连标准接口,它以关系数据库标准查询语言SQL来存取连接到的数据源,ODBC支持单个应用系统访问多个不同的数据库管理系统(DBMS),并且,对应用系统的开发人员来说,它能够用统一的方法处理不同的数据源,减轻了学习新系统的压力。现在,除了Oracle,Sybase,MS SQL Server, IBM DB/3等大型数据库管理系统支持ODBC接口外,诸如dBase, FoxPro, Sybase SQLAnywhere,Excel之类的数据源也都支持ODBC接口。专用接口针对具体的数据库管理系统而设计,对诸如Oracle,Sybase,
11、informix之类的大型数据库管理系统,PowerBuilder 8.0企业版都供应了专用接口,通过专用接口我们可以将PowerBuilder 8.0连接到相应的数据库上因为专用接口在设计上针对特定数据库的特点,能够充分发挥特定数据库的优势因此运用专用接口可以大大提高应用程序访问数据库的速度,所以应当尽可能运用专用接口而不是ODBC接口。数据库不同, 数据库的版本不同,运用的专用接口也不同。22, 什么是存储过程,可以在POWER BUILDER程序中调用存储过程吗?举例说明。答:存储过程是存储在效劳器上的一个SQL语句的吩咐集合,存储过程是重复执行封装语句的一种有效方法。存储过程支持用户声
12、明的变量, 条件执行以及其他一些强大的编程功能。可以在POWER BUILDER程序中调用存储过程;例如:创立datawindow的时候data source选Stored Procedure会出现一个title为Select Stored Procedure:. 的窗口, 选择所须要的SP, 按OK按钮. 以后的操作和其他dw的建立一样。 也可以指定SP的返回结果集的各column的名称。23, 什么是视图?它有何作用?答:视图是命名的, 从根本表中导出的虚表。它在物理上并不存在。存在的只是它的定义;视图中的数据是从根本表中导出的。每次对视图查询都要重新计算;视图之上可以再定义视图。视图的作
13、用是让肯定权限的操作者不用操作根本表就能满意其相应的操作要求,从而实现了对数据的平安管理。24, 如何在POWER BUILDER程序中实现copy文件的功能?答:FUNCTION boolean Copy string cfrom, ref string cto, boolean flag) LIBRARY Kernel.dll25, 如何在POWER BUILDER程序中实现将数据窗口对象中的数据导出为EXCEL文件?答:dwcontrol.SaveAs ( , saveastype, colheading )二, 交互式SQL1有一个教学管理数据库,包含以下根本表:表略用交互式SQL完成
14、:(1) 建立学生表,主码为学号,性别为男或女。Create table 学生(学号# char(8) not null, 姓名 char(8) not null, 性别 char(2), 年龄 smallint, 年级 char(8), 系编号 integer, primary key (学号#), check (性别=男或女),)(2) 建立老师表,主码为老师编号,外码为系编号。Create table 老师(老师编号# char(8) not null, 姓名 char(8) not null, 年龄 smallint, 职称 char(4), 系编号 integer, primary
15、key (老师编号#), foreign key (系编号) references 院系 (系编号#),)(3) 建立选课表,主码为学号和课程编号,外码为学号,课程编号。Create table 选课(学号# char(8), 课程编号# char(4), 成果 smallint, primary key (学号#, 课程编号#), foreign key (学号#) references 学生学号#, foreign key (课程编号#) references 课程课程编号#, check (成果 is null ) or (成果 between 0 and 100 ),)(4) 将学生张
16、三从编号为001的系转到编号为002的系。Updata 学生Set 系编号# = 002Where 姓名=“张三and 系编号#=001(5) 统计学生总人数。Select count (学号#)From 学生(6) 显示计算机系的学生的信息。Select *From 老师,任课,课程Wher 课程名=数据库原理 and 课程.课程编号# = 任课.课程编号# and 任课.老师编号# = 老师.老师编号#(7) 查找法律系的系办 。Select 系办 From 院系Where 系名= “法律系(8) 删除2000级的学生记录。Delete from 学生Where 年级= “2000级(9)
17、 将计算机系老师张明的职称升为教授。Updata 老师Set 职称= “教授Where 姓名= 张明 and 老师编号# = ( select 老师编号#From 院系Where 系名= “计算机系)(10) 统计计算机系老师张明的任课门数。Select count (课程编号#)From 院系,老师,任课Where 院系.系名= “计算机系 and 院系.系编号# = 老师.系编号# and 老师.老师编号# = 任课.老师编号#(11) 统计每个系的老师的人数。Select 系编号#, count (老师编号#)From 老师Group by 系编号#(12) 查找教授数据库原理的老师的姓
18、名。Select 老师.姓名From 老师,任课,课程Where 课程名= “数据库原理 and 课程.课程编号# = 任课.课程编号# and 任课.老师编号# = 老师.老师编号#(13) 删除1020号老师的任课记录。Delete from 任课Where 老师编号# = “1020”(14) 将课程数据库原理的学分设为4.Updata 课程Set 学分 = 4Where 课程名= 数据库原理(15) 学生王明每选一个学分交费100元,统计它的选课总费用。Select sum (学分)* 100From 学生,课程,选课Where 学生.学号# = 选课.学号# and 选课.课程编号
19、= 课程.课程编号#(16) 统计20岁的学生总人数。Select count (age)From 学生Where 学生.年龄 = 20(17) 选修数据库原理的学生名单secect 学生.姓名from 学生,课程,选课where 课程.课程名 = “ 数据库原理 and 课程.课程编号# = 选课.课程编号# and 选课.学号# = 学生.学号#(18) 删除20030号学生的选课记录delete from 选课where 学号# = “200030”(19) 建立一个存储过程,通过输入学号,显示学生的姓名,选课课程名,成果,并统计出选课门数。Create procedure report
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 应用 习题集 参考答案 要点
限制150内