1、 数据库原理及应用作业 数据库原理及应用作业一、选择题1在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是_A_阶段。A 数据库系统 B文件系统 C人工管理 D数据项管理 2数据库是在计算机系统中按照一定的数据模型组织、存储和应用的 B ,支持数据库各种操作的软件系统叫 B ,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫 B 。A文件的集合 B数据的集合 C命令的集合 D程序的集合A命令系统 B数据库管理系统 C数据库系统 D操作系统A文件系统 B数据库系统 C软件系统 D数据库管理系统3在一个关系中如果有
2、这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称这个属性为_A_。A候选码 B数据项 C主属性 D主属性值4在关系代数运算中,五种基本运算为_C_。A并、差、选择、投影、自然连接 B并、差、交、选择、投影C并、差、选择、投影、乘积 D 并、差、交、选择、乘积5一个m:n联系转换为一个关系模式。关系的码为_B_。A实体的码 B各实体码的组合 Cn端实体的码 D每个实体的码6下面哪个不是数据库系统必须提供的数据控制功能_B_。 A安全性 B可移植性 C完整性 D并发控制7在数据系统中,对存取权限的定义称为_B_。 A命令 B授权 C定义 D审计8数据库的_B_是指数据的正确性和相容性。
3、A安全性 B完整性 C并发控制 D恢复9对并发操作若不加以控制,可能会带来_D_问题。 A不安全 B死锁 C死机 D不一致10设有两个事务T1、T2,其并发操作如图l所示,下面评价正确的是_B_。 A该操作不存在问题 B该操作丢失修改 C该操作不能重复读 D该操作读“脏”数据 T1 T2 读A=10 读A=10 A=A-5写回 A=A-8写回 图l 事务并发操作图11数据库的基本特点是_B_。A(1)数据可以共享(或数据结构化)(2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B(1)数据可以共享(或数据结构化)(2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C(
4、1)数据可以共享(或数据结构化)(2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制12数据库具有 B 、最小的 A 和较高的 C 。A程序结构化 B数据结构化 C程序标准化 D数据模块化A冗余度 B存储量 C完整性 D有效性A程序与数据可靠性 B程序与数据完整性 C程序与数据独立性 D程序与数据一致性13设有关系R,按条件f对关系R进行选择,正确的是_C_。ARR BR f R C f (R) D f (R)14关系规范化中的删除操作异常是指_A_。 A不该删除的数据被删除 B不该插入的数据被插
5、入 C应该删除的数据未被删除 D应该插入的数据未被插入15数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的_D_。 A可靠性 B一致性 C完整性 D安全性16多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此数据库系统必须进行_C_。 A安全性控制 B完整性控制 C并发控制 D可靠性控制17事务的原子性是指 _A _。 A事务中包括的所有操作要么都做,要么都不做 B事务一旦提交,对数据库的改变是永久的 C一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D事务必须是使数据库从一个一致性状态变到另一个一致性状态18解
6、决并发操作带来的数据不一致性问题普遍采用_A_。 A封锁 B恢复 C存取控制 D协商19_B_是存储在计算机内有结构的数据的集合。A数据库系统 B数据库 C数据库管理系统 D数据结构20关系运算中花费时间可能最长的运算是_C_。A投影 B选择 C笛卡尔积 D除21关系数据库用 D 来表示实体之间的联系,其任何检索操作的实现都是由 B 种基本操作组合而成的。A层次模型 B网状模型 C指针链 D二维表格数据A选择、投影和扫描 B选择、投影和连接C选择、运算和投影 D选择、投影和比较22关系数据库管理系统应能实现的专门关系运算包括_B_。A排序、索引、统计 B选择、投影、连接C关联、更新、排序 D显
7、示、打印、制表23下列SQL语句中,创建关系表的是_ B _。AALTER BCREATE CUPDATE DINSERT24事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_B_状态。 A安全性 B一致性 C完整性 D可靠性25数据库系统的特点是_A_、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。A数据共享 B数据存储 C数据应用 D数据保密26在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为 B ;从表中选出满足某种条件的元组的操作称为 A ;将
8、两个关系中具有共同属性值的元组连接到一起构成新表的操作称为 C 。A选择 B投影 C连接 D扫描27SQL语言是_C_语言。 A层次数据库 B网络数据库 C关系数据库 D非数据库28关系数据库规范化是为解决关系数据库中_A_问题而引人的。 A插入、删除和数据冗余 B提高查询速度 C减少数据操作的复杂性 D保证数据的安全性和完整性29若事务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可以
9、读A和修改A,其它事务能对A加S锁和X锁。30事务的一致性是指_D_。 A事务中包括的所有操作要么都做,要么都不做 B事务一旦提交,对数据库的改变是永久的 C一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D事务必须是使数据库从一个一致性状态变到另一个一致性状态二、填空题1数据库管理系统的主要功能有 数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以及维护等4个方面。2按照数据结构的类型来命名,数据模型分为层次模型、网状模型、和 关系模型。3支持关系数据结构、选择、投影和(自然)连接运算,且对这些运算不必要求定义任何物理存取路径的关系系统称为_关系数据库管理系统_( B最小关
10、系系统)_。4数据模型是由 数据结构、数据操作、和完整性约束三部分组成的。5关系代数运算中,基本的运算是 并、差、乘、笛卡尔积、投影和选择。6关系上完备的系统是指支持关系数据结构和所有的关系代数操作的关系系统。7数据独立性又可分为 物理数据独立性 和 逻辑数据独立性 。8关系代数是用对关系的运算来表达查询的,而关系演算是用数理逻辑中的谓词查询的,它又分为元组演算和域演算两种。9DBMS是指数据库管理系统它是位于用户和操作系统之间的一层管理软件。10最小关系系统是仅支持关系数据结构和三种关系操作的关系系统。三、简答题1什么是数据库的数据独立性?数据独立性带来了什么好处?答案;数据独立性是指应用程
11、序和DB的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级数据独立性带来的好处:在DB的物理结构发生变化时,不影响应用程序,在DB的逻辑结构发生变化时,不影响应用程序2简述事务的概念及其作用。答案;事务是构成单一逻辑工作单元的操作集合,这些操作要么完整地执行,要么完全不执行,是一个不可分割的工作单位。作用:事务具有原子性、一致性、隔离性和持续性。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于一致性状态。3数据库在运行过程中可能产生的故障有哪几类?答案;数据库在运行过程中可能
12、产生的故障有:事务内部的故障,系统故障,介质故障,计算机病毒4试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。5简述数据库的并发控制概念以及并发控制的主要方法。答案;数据库的并发控制:是指在单处理机(一个CPU)上,利用分时方法实行多个事务同时做,DBMS的并发控制子系统,就是负责协调并发事务的执行,保证数据库的完整性,同时避免用户得到不正确的数据。主要方法有:封锁,时间戳,乐观控制法6为什么我们目前所使用的数据库管理系统大都是关系数据库管理系统?答案;关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是
13、概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。因此关系数据模型逐渐取代了层次、网状数据模型,成为商业数据库管理系统的主流。或:关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关系(即关系表)。所以其数据结构简单、清晰,用户易懂易用。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。7数据库中为什么要有恢复子系统?它的功能是什么?答案;由于硬件的故障、系统软件和应用软件的错误、操作的失误以及
14、恶意的破坏都是不可避免的,这些故障,轻则会造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分丢失或全部丢失。为了保证各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致状态,DBMS中的恢复子系统是必不可少的。恢复子系统的功能就是利用冗余数据,再根据故障的类型采取相应的恢复措施,把数据库恢复到故障前的某一时刻的一致性状态。8简要叙述关系数据库的优点。答案;(1)操作方便 通过应用程序和后台联结,方便了用户的对数据的操作,特别是没有编程基础的人(2)易于维护 丰富的完整性:实体完整性、参照完整性和用户定义的完整性,大大降低了数据的冗余,和数据不一致的
15、概率(3)便于访问数据 提供了诸如视图,存储过程,触发器,索引等对象 (4)更安全,更快捷 权限的分配,使其较以往的数据库在安全性上要高的多,(关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。)9如何通过定义视图和存取控制保证数据库的安全性?并用SQL语言举例说明。答案;视图能够对机密数据提供安全保护。有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上,这样就由视图的机制自动提供了
16、对机密数据的安全保护功能。例如Student表涉及三个系的学生数据,可以在其上定义三个视图,每个视图只包含一个系的学生数据,并只允许每个系的学生查询自己所在系的学生视图。例:建立信息系学生的视图。CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept=IS;数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。数据库系统中保证数据安全性的主要措施是进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权存取的数据。不同的用户对不同的数据应具有何种操作权力
17、,是由DBA和表的建立者(即表的属主)根据具体情况决定的,SQL语言则为DBA和表的属主定义和回收这种权力提供了手段。例:把查询Student表权限授给用户U1。GRANT SELECT ON TABLE Student TO U1;四、综合题1某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计: 设计
18、该计算机管理系统的E-R图; 将该E-R图转换为关系模型结构; 指出转换结果中每个关系模式的候选码。答案;本题的E-R图如图3所示。 对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,职称,科室名,年龄) 病人(病历号,姓名,性别,诊治,主管医生,病房号) 每个关系模式的候选码如下: 科室的候选码是科名; 病房的候选码是科室名十病房号; 医生的候选码是工作证号; 病人的候选码是病历号。n病人入住病房1病房号床位号工作证号姓 名性 别病历号n医生从属科室1科 名科电话科地址职 称年 龄姓 名诊治组成n1n1图3 ER图2已知学生表S和学
19、生选课表SC。其关系模式如下: S(SNO, SN, SD, PROV) SC(SNO, CN, GR)其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: 查询“信息系”的学生来自哪些省区。答:Select DISTINCT provfrom swhere sd=”信息系” 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。答:select sn,grfrom s,scwhere s.sno=sc.sno and sd=”英语系” and cn=”计算机”Order by gr desc3如图2给出的关系
20、SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题? SCSNOCNOCTITLEINAMEILOCAGRADE80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI杨杨D37280155C4CL高升D292 图2 关系SC其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。答:它是1NF,因为(SNO,CNO)-GRADE,CNO-CTITLE,CNO-INAME,INAME-I
21、LOCA存在部份函数依赖和传递依赖,存在插入和删除异常。若把杨杨老师删除,则学号,课程号,课程名,学生的成绩也被删除,存在不该删除的内容而被删除,关键字是sno,cno,如果新聘了一位老师,由于没有学生去选此老师,哪么这位老师就不能被插入进去。将此表分解为R1(SNO,CNO,GRADE),R2(CNO,CTITLE) R3(CNO,INAME,ILOCA)哪么就消除了插入和删除异常。4设有函数依赖集F = ABCE,AC,GPB,EPA,CDEP,HBP,DHG,ABCPG,计算属性集D关于F的闭包。 令X=D,X(0)=D。答:在F中找出左边是D子集的函数依赖集,其结果是:DHG,_ X(
22、1)= X(0)HG=DGH,显然有X(1)X(0)。在F中找出左边是DGH子集的函数依赖集,未找到,则X(2)=DGH。由于X(2)= X(1) ,则D+= DGH。 5如图2给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常? R工程号材料号数量开工日期完工日期价格P1I1498059902250P1I2698059902300P1I31598059902180P2I1698119912250P2I41898119912350 图2 关系R 答:是1范式,(工程号,材料号)-数量 ,工程号-开工日期,工程号-
23、完工日期, 材料号-价格 存在操作异常,分解为R1(工程号,材料号,数量) R2(工程号,开工日期,完工日期)R3(材料号,价格)消除了部分函数依赖和传递依赖。6设有关系R和S如图2所示。RABa1b1a2b2a3b3SACa140a250a355图2 关系R和S试用SQL语句实现: 查询属性C50时,R中与相关联的属性B之值。答:Select bFrom r,sWhere r.a=s.a and c50 当属性C=40时,将R中与之相关联的属性B值修改为b4。答:Update BSet B=b4Where A in(select A From r Where c=40)7设有下图1所示的三个
24、关系。其中各个属性的含义如下:A(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B(商品号)、BNAME(商品名称)、PMCE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果: 找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。答:Select A#,ANAMEfrom Awhere wqty=100 or city=长沙 找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。答:SELECT ANAME,CITYFROM A R1WHERE NOT EXISTS(SELECT *FROM A R2WHERE R
25、2.A#=256AND NOT EXISTS(SELECT *FROM A R3WHERE R3.A#=R1.A# AND R3.A#=R2.A#)AA#ANAMEWQTYCITY101韶山商店15长沙204前门百货商店89北京256东风商场501北京345铁道商店76长沙620第一百货公司413上海BBBNAMEPRICE1毛笔212羽毛球7843收音机13254书包242ABABQTY10111051012421013251014104204361256124125629134511413452183454746024125 图1 关系A、B和AB8设有如下表所示的三个关系S、C和SC。试
26、用关系代数表达式表示下列查询语句: 检索籍贯为上海的学生的姓名、学号和选修的课程号。答:select 姓名,学号,课程号from s,scwhere s.学号=sc.学号 and 籍贯=”上海” 检索选修了全部课程的学生姓名和年龄。Select 学号,年龄From sWhere not exists( select *From cWhere not exists(select *From scWhere 学号=s.学号 and 课程号=c.课程号)S学号姓名年龄性别籍贯98601王晓燕20女北京98602李 波23男上海98603陈志坚21男长沙98604张 兵20男上海98605张 兵22女
27、武汉C课程号课程名教师姓名办公室C601高等数学周振兴416C602数据结构刘建平415C603操作系统刘建平415C604编译原理王志伟415SC学号课程号成绩98601C6019098601C6029098601C6038598601C6048798602C6019098603C6017598603C6027098603C6045698604C6019098604C6048598605C6019598605C60380数据库原理及应用作业参考答案一、选择题1A 2B B B3A4C5B6B7B8B9D10B11B12B A C13C14A15D16C17A18A19B 20C 21D B
28、22B 23B 24B25A 26B A C 27C 28A 29C 30D二、填空题1数据定义功能 数据操纵功能2层次模型 网状模型 关系模型3B最小关系系统4数据结构 数据操作 完整性约束5并 差 笛卡尔积 投影 选择6关系数据结构7逻辑数据独立性 物理数据独立性 8谓词表达 元组关系 域关系9数据库管理系统 用户 操作系统10三种关系操作三、简答题1 答: 数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。 逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视
29、图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。数据独立性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给 DB
30、A维护、改变数据库的物理存储提供了方便。2答:事务是数据库进行的基本工作单位。事务具有原子性、一致性、隔离性和持续性。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于一致性状态。3答:数据库在运行过程中可能产生的故障有如下几类: 事务故障 事务在运行过程中由于种种原因,如输人数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常终止点之前就被撤消了,这种情况称为“事务故障”。 系统故障 系统故障是指系统在运行过程中,由于某种原因,如OS和DBMS代码错误
31、,操作员操作失误,特定类型的硬件错误(如CPU故障),突然停电等造成系统停止运行,致使事务在执行过程中以非控方式终止。这时,内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。 介质故障 系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误,瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称之为“介质故障”。 计算机病毒计算机病毒是一种人为的故障和破坏,它是一种计算机程序。通过读写染有病毒的计算机系统中的程序和数据,这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。4答: 选修学生课程拥有班级学生班级选拔正班长11m1nn5答:
32、数据库是一个共享资源,它允许多个用户程序并行地存取数据库中的数据,但是,如果系统对并行执行的操作不加以控制就会存取和存储不正确的数据,破坏数据库的完整性。并发控制的主要方法是采用封锁机制。封锁是事务T在对某个数据对象操作之前,先向系统发出请求对其加锁。基本的封锁类型有两种:排名锁(锁)和共享锁(S锁)。所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁。6答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在
33、严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。因此关系数据模型逐渐取代了层次、网状数据模型,成为商业数据库管理系统的主流。或:关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关系(即关系表)。所以其数据结构简单、清晰,用户易懂易用。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。7答:由于硬件的故障、系统软件和应用软件的错误、操作的失误以及恶
34、意的破坏都是不可避免的,这些故障,轻则会造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分丢失或全部丢失。为了保证各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致状态,DBMS中的恢复子系统是必不可少的。恢复子系统的功能就是利用冗余数据,再根据故障的类型采取相应的恢复措施,把数据库恢复到故障前的某一时刻的一致性状态。8答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。9答:视图能够对机密数据提供安
35、全保护。有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上,这样就由视图的机制自动提供了对机密数据的安全保护功能。例如Student表涉及三个系的学生数据,可以在其上定义三个视图,每个视图只包含一个系的学生数据,并只允许每个系的学生查询自己所在系的学生视图。例:建立信息系学生的视图。CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept=IS;数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。数据库系统中保证数据安
36、全性的主要措施是进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权存取的数据。不同的用户对不同的数据应具有何种操作权力,是由DBA和表的建立者(即表的属主)根据具体情况决定的,SQL语言则为DBA和表的属主定义和回收这种权力提供了手段。例:把查询Student表权限授给用户U1。GRANT SELECT ON TABLE Student TO U1;四、综合题1解:本题的E-R图如图3所示。 对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,职称,科室名,年龄) 病人(病历号,姓名,性别,诊治,主
37、管医生,病房号) 每个关系模式的候选码如下: 科室的候选码是科名; 病房的候选码是科室名十病房号; 医生的候选码是工作证号; 病人的候选码是病历号。n病人入住病房1病房号床位号工作证号姓 名性 别病历号n医生从属科室1科 名科电话科地址职 称年 龄姓 名诊治组成n1n1图3 ER图2解: SELECT DISTINCT PROV FROM S WHERE SD=信息系 SELECT SN, GR FROM S, SC WHERE SD=英语系 AND CN=计算机 AND S.SNO=SC.SNOORDER BY GR DESC;3解:SC为1NF。 它存在插入、删除异常操作。当增设一门新课程
38、时,因还没有学生选修,则缺少码的一部分SNO而不能执行插人操作:当所有学生退选某门课程而进行删除操作时,会将不该删除的课程信息删除掉。SC关系中存在插入和删除操作异常的原因在于,该关系的候选码为(SNO,CNO),其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非属性CTITLE、INAME、ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关系模式如图4所示。SG SNOCNOGRADE80152C17080153C28580154C18680154C37280155C492CICNOCTITLEINAMEILOCAC1OS王平D1C2DB高升D2C3AI杨杨D3C4CL高升D2 图 4 关系 SG和 CI分解后的两个关系子模式都为2NF,并解决了先前的插入、删除异常操作。当增设一门新课程时,可将数据插入到CI表中;当所有学生退选某门课程时,只需删除SG表中的有关记录,而该课程的有关信息仍保留在CI表中。分解