数据库原理题目和答案.doc_第1页
数据库原理题目和答案.doc_第2页
数据库原理题目和答案.doc_第3页
数据库原理题目和答案.doc_第4页
数据库原理题目和答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

P36:8.分别举出实体型之间具有一对一,一对多,多对多联系的例子。9.学校有若干个系,每个系有若干班级和教研窒,每个教研窒有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。用E-R图画出该学校的概念模型。11教师与课程之间的联系是多对多联系,试用层次模型表示之。14.试比较层次模型,网状模型和关系模型的优点与缺点。层次模型的优点主要有:( l )模型简单,对具有一对多层次关系的部门描述非常自然、直 观,容易理解,这是层次数据库的突出优点;( 2 )用层次模型的应用系统性能好,特别 是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于 关系模型;( 3 )层次数据模型提供了良好的完整性支持。层次模型的缺点主要有:( l )现实世界中很多联系是非层次性的,如多对多联系、一个结 点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚 拟结点来解决;( 2 )对插入和删除操作的限制比较多;( 3 )查询子女结点必须通过双 亲结点。网状数据模型的优点主要有:( l )能够更为直接地描述现实世界,如一个结点可以有多 个双亲;( 2 )具有良好的性能,存取效率较高。网状数据模型的缺点主要有:( l )结构比较复杂,而且随着应用环境的扩大,数据库的 结构就变得越来越复杂,不利于最终用户掌握;( 2 )其 DDL 、 DML 语言复杂,用户不 容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当 的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。17.数据库管理系统有哪些主要功能?l 数据库定义功能;2 数据存取功能;3 数据库运行管理;4 数据库的建立和维护功能。18.数据库管理系统有哪几部分组成?1 数据定义语言及其翻译处理程序2 数据操纵语言及其编译(或解释)程序3 数据库运行控制程序4 实用程序P642.解释下列概念,并说明它们之间的联系与区别:1码,候选码,外部码2笛卡尔,关系,元组,属性,域3关系模式,关系模型,关系数据库答: 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关 系模型中数据的逻辑结构是一张二维表,它由行和列组成。1)码,候选码,外部码?码:唯一标识实体的属性组,码可能不止一个候选码:同类关系中能够唯一标识每个元组的属性组,在这些关系中,这个属性组上的值每行都不同外部码:设F是基本关系R的一个或一组属性,但不是关系 R的码,如果F与基本关系S的主码Ks相对应,则称 F 是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关,外码不一定与相应的主码同名2)笛卡尔,关系,元组,属性,域?笛卡尔积:给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn(d1,d2,dn)diDi,i1,2,n所有域的所有取值的一个组合不能重复笛卡尔积可以表示为一个二维表关系:D1D2 Dn的子集叫做在域D1,D2 , ,Dn上的关系,用R( D1,D2 , ,Dn)表示。这里R是关系的名字,n是关系的目或度。关系中的每个元素是关系中的元组,通常用t表示。当n=1时,称该关系为单元关系 当n=2时,称该关系为二元关系关系是n个域的笛卡尔积的子集,也是一个二维表元组:关系中的每个元素是关系中的元组属性:实体具有的某一方面的特性,域:一组具有相同数据类型的值的集合关系是一张二维表,表的每行对应一个元组,表的每列对应一个域 。由于域可以相同,为了加以区分,给每列取一个名字,称为属性。n目关系必有n个属性。(3)关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关 系模型中数据的逻辑结构是一张二维表,它由行和列组成。 ( l )关系:一个关系对应通常 说的一张表 ( 2 )属性:表中的一列即为一个属性; ( 3 )域:属性的取值范围; ( 4 ) 元组:表中的一行即为一个元组; ( 5 )主码:表中的某个属性组,它可以惟一确定一个 元组; ( 6 )分量:元组中的一个属性值; ( 7 )关系模式:对关系的描述,一般表示为 关系名(属性 1 ,属性 2 , ,属性 n )4.在关系模型的参照完整性规则中,为什么外部码属性的值也可以为空?什么情况下可以为空?答:实体完整性规则是指若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每 个属性值均为空值);或者等于 S 中某个元组的主码值。即属性 F 本身不是主属性,则可以 取空值,否则不能取空值。7.(1)求供应工程J1零件的供应商号SNO;(2)求供应工程J零件P1的供应商号SNO;(3)求供应工程J1红色零件的供应商号SNO;(4)求没有使用天津供应商生产的红色零件的工程好JNO;(5)求至少用了S1供应商所供应的全部零件的工程号JNO.答:1)求供应工程 J1 零件的供应商号码 SNO:Sno(Sno=J1(SPJ))2)求供应工程 J1 零件 P1 的供应商号码 SNO:Sno(Sno=J1Pno=P1(SPJ)3)求供应工程 J1 零件为红色的供应商号码 SNO:Sno(Pno=P1 (COLOR=红 (P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号 JNO:Jno(SPJ)- JNO(city=天津Color=红 (SSPJP)5)求至少用了供应商 S1 所供应的全部零件的工程号 JNO:Jno,Pno(SPJ) Pno(Sno=S1 (SPJ)P1262.用SQL语言建立第2章第7题中的四个表。答:对于 S 表: S ( SNO , SNAME , STATUS , CITY ) ;建 S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4);对于 P 表: P ( PNO , PNAME , COLOR , WEIGHT );建 P 表 :CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于 J 表: J ( JNO , JNAME , CITY) ;建 J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)对于 sPJ 表: sPJ ( sNo , PNo , JNo , QTY) ;建 SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT)3.针对第2题创建的表,用SQL语言完成第2章第7题中的各项操作。( l )求供应工程 Jl 零件的供应商号码 SNO ;SELECT DIST SNO FROM SPJ WHEREJNO=J1( 2 )求供应工程 Jl 零件 Pl 的供应商号码 SNO ;SELECT DIST SNO FROM SPJ WHERE JNO=J1 AND PNO=P1 ( 3 )求供应工程 Jl 零件为红色的供应商号码 SNO ;SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红( 4 )求没有使用天津供应商生产的红色零件的工程号 JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY= 天 津 AND COLOR= 红 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。( 5 )求至少用了供应商 Sl 所供应的全部零件的工程号 JNO ;由于 VFP 不允许子查询嵌套太深,将查询分为两步 A、查询 S1 供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO=S1结果是(P1,P2)B、查询哪一个工程既使用 P1 零件又使用 P2 零件。SELECT JNO FROM SPJ WHERE PNO=P1AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)4.针对第2题创建的表,用SQL语言进行下列各项操作:(1)统计每种零件的供应总量;(2)求零件供应总量在1000种以上的供应商名字;(3)在S表中插入一条供应商信息:(S6,华天,深圳);(4)把全部红色零件的颜色改为粉红色;(5)将S1供应给J1的零件P1改为由P2供给;(6)删去全部蓝色零件及相应地SPJ记录。(1)求供应工程J1的零件的供应商的编号 此题是对查询条件的考察,查询的总体上包括单表查询与多表查询,这就说明我们在查询时一定要弄清楚是在一个表中查询还是在多个表中查询。根据题目可知,SNO与J1在一个表中;单表查询:Select SNO (控制查询结果的显示条件) distinct(删除重复行) Sno from SPJ where JNO=J1;(2)求供应商工程J1零件P1的供应商号SNO;单表查询,将查询条件细化:select SNO from SPJ where JNO=J1 and PNO=P1;(3)求供应工程J1红色零件的供应商号SNO多表查询:分清查询的主表,这里查询的范围任然是在SPJ中,不过问题的关键是在如何确定另一个限定条件PNO,这里用到多表查询,可以在P表中根据颜色找到PNO,就可以确定供应商号; select SNO From SPJ Where JNO=J1 and PNO=(select PNO from P where COLOR=红);(4)求没有使用天津供应商生产的红色零件的工程号JNO;查询目标表还是在SPJ中:分析查询映射关系:JNO-SNO-select JNO From SPJ Where SNO not in (select SNO from S where CITY=天津) and PNO not in (select PNO from P where COLOR=红);(5)求至少用了S1供应商所提供全部零件的工程号JNOSelect JNO From SPJ Where PNO =P1 And JNO in (select JNO from SPJ where PNO=P2);(1)统计每种零件的供应总量这里要使用集函数:寻找每种零件的总量就是就是将所有编号一致的零件数相加;集函数的使用方法,例如下面的意思是在同一个PNO下QTY的总量,统计条件的设置显得尤为重要Select distinct PNO,count(QTY) From SPJ Group by PNO;(2)求零件供应总量在1000种以上的供应商的名字多表查询:在SPJ中找到哦供应商的编号,在到s表中寻找供应商的名字Select SNAME From S Where SNO=(select SNO from SPJ where count(QTY)1000); (3)在s表中插入一条供应商信息:(S6,华天,深圳);插入语句:Insert into S Values(s6,华天,深圳);(4)把全部红色零件的颜色改为粉红色;更新操作,必须先找出这些元组,以便进行操作,这个操作是修改多个元组数据的操作要利用带有子查询的修改语句:Update P Set color=粉红色 Where COLOR=(select COLOR from P where color=红色);/寻找符合条件的元组(5)将S1供应给J1的零件P1改为P2供应;首先要找到这条记录Update SPJ Set PNO=P2 Where SNO=S1 and PNO=P1 and JNO=J1;(6)删除全部蓝色零件及相应的SPJ记录;Delete From SPJ Where PNO=(select PNO from P where color=蓝色);Delete From P Where color=蓝色;6.在上面各表的基础上创建下列试图VSJ,它记录了给“三建”工程项目的供应零件的情况,包括供应商号,零件号和零件数量;并对该试图查询S1供应商的供货情况。CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME=三建针对该视图 VSP 完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECT DIST PNO,QTY FROM VSP (2)找出供应商 S1 的供应情况。SELECT DIST * FROM VSP WHERE SNO=S17.针对第2题创建的表,用SQL语言进行下列各项操作:(1)将S,P,J和SPJ表的所有权限授予用户张成。(2)将SPL表的SELECT权和QTY列的UPDATE权授予用户徐天,并允许他传播这些权限。(3)回收刘斓用户对S表SNO列的修改权。GRANT ALL PRIVILEGES ON TABLE S,P,J,SPJ TO 张成;将SPJ表的SELECT权和QTY列的UPDATE权授予用户徐天,并允许他传播这些权限GRANT UPDATE (QTY),SELECT ON TABLE SPJ TO 徐天WITH GRANT OPTION;回收刘斓用户对S表SNO列的修改权REVOKE UPDATE (SNO) ON TABLE S FROM 刘斓;P1433.今要建立关于系,学生,班级,学会诸信息的一个关系数据库。一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。描述学生的属性有:学号,姓名,出生年月,系名,班号,宿舍号。描述班级的属性有:班号,专业名,系名,人数,入校年份。描述系的属性有:系名,系号,系办公窒地点,人数。描述学会的属性有:学会名,成立年份,地点,人数。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选码和外部码。关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系: D(Dept,Dno,Doffice,Dnum)学会:M(Mname,Myear,Maddr,Mnum)每个关系模式的最小函数依赖集:确定出该关系模式各个非主属性的最小函数依赖集学生S:Sno-Sname,Sno-Sbirth,Sno-Class,Class-Dept,Dept-Rno传递依赖:Sno-Rno,Class-Dept,Sno-Dept候选码:Sno外部码:Class,Dept班级C:Class-Pname,Class-Cnum,Pname-Dept,Class-Cyear传递依赖:Class-Dept候选码:Class系D:Dno-Dept,Dno-Doffice,Dno-Dnum;候选码:Dno或Dept不存在传递依赖关系;学会M:Mname-Myear,Mname-Maddr,Mname-Mnum候选码:Mname不存在传递函数依赖关系;关系判断:(1)若R.A-R.B , R.B-R.C,则R.A-R.C正确,传递函数依赖;(2)若R.A-R.B,R.A-R.C,则R.A-R.(B,C);错误,(3)若R.B-R.A,R.C-R.A,则R.(B,C)-R.A正确,(4)若R.(B,C)-R.A,则R.B-R.A,R.C-R.A错误,例如:R(sno,cno,grade) (sno,cno)-grade; sno-grade,cno-gradeP183什么是数据库的安全性?什么是数据库的完整性?两者之间有什么联系和区别?1数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。2数据库的完整性是指数据的正确性和相容性3数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存 在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的 存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是 不合语义的数据。6.假设有下面两个关系模式;职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码;用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。CREATE TABLE职工(职工号 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年龄SMALLINT 职务CHAR(10), 工资DECIMAL(7,2), 部门号CHAR(5)。 CONSTRAINT CI CHECK(年龄 60) CONSTRAIN C2 FOREIGN KEY(部门号) REFEENCES部门(部门号); CREAT TABLE部门(部门号CHAR(5)PRIMARY KEY 名称CHAR(l) 经理名 CHAR(8) 电话 CHAR(8) CONSTRAINT C3 FOREIGN KEY(经理名) REFERECES职工(姓名);13.设T1,T2,T3是如下的三个事务:T1:A:=A+2;T2:A:=A*2;T3:A:=A*2;(A)设A的初值为0;若这三个事务允许并行执行,则有多少可能的正确结果,请一一列举出来;请给出一个可串行化地调度,并给出执行结果;请给出一个非串行化地调度,并给出执行结果;若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度;若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度。(1)正确结果:T1T2T3,结果为16;T1T3T2,结果为8;T2T1T3,结果为4;T2T3T1,结果为2;T3T1T2,结果为4;T3T2T1,结果为2;四种正确结果:16、8、4、2。(2)可串行化调度:执行结果为8。 T3 T2 T1 read(A)A := A2Write(A) read(A)A := A*2Writ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论