DBS各章习题集.docx

上传人:b****3 文档编号:27415230 上传时间:2023-06-30 格式:DOCX 页数:18 大小:25.42KB
下载 相关 举报
DBS各章习题集.docx_第1页
第1页 / 共18页
DBS各章习题集.docx_第2页
第2页 / 共18页
DBS各章习题集.docx_第3页
第3页 / 共18页
DBS各章习题集.docx_第4页
第4页 / 共18页
DBS各章习题集.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

DBS各章习题集.docx

《DBS各章习题集.docx》由会员分享,可在线阅读,更多相关《DBS各章习题集.docx(18页珍藏版)》请在冰豆网上搜索。

DBS各章习题集.docx

DBS各章习题集

数据库系统原理及应用各章习题

第1章绪论

1.1什么是信息?

什么是数据?

数据和信息有何联系与区别?

1.2数据处理和数据管理有何不同?

各包括哪些内容?

1.3什么是数据库和数据库系统?

数据库系统在计算机系统中处于哪个层次?

1.4随着计算机技术的发展,你认为未来数据库系统还应具备什么功能?

1.5数据库系统和文件系统有何区别?

数据库系统有什么优点?

1.

6数据库系统的模式结构如何构成?

数据独立性如何保证?

1.7试述客户机/服务器结构的工作原理,客户机/服务器结构有何优缺点?

1.8试述浏览器/服务器结构的工作原理,浏览器/服务器结构有何优缺点?

1.9数据库管理系统由哪几部分构成,有哪些基本功能?

1.10DBA的主要职责有哪些?

1.11简述数据库系统的工作过程。

1.12实现数据库管理系统有哪些方案?

各方案有何优缺点?

1.13名词解释

实体、属性、码、实体集、实体型、域、主码、元组、关系模式、概念模型、数据模型、类、对象、实例、继承。

1.14一种产品由多种零件组成,画出产品零件的概念模型。

1.15递归联系和多元联系如何处理?

1.16学校有若干系,每个系有若干班级和教职室,每个教职室有若干教员,其中有的教授和副教授各带若干研究生,每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修,试用ER图画出该校的概念模型。

1.7在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的ER图。

1.18在活期存款业务中,设一个储户可在多个储蓄所存取款,画出该ER图。

1.19在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的概念模型。

1.20简述数据模型的构成。

1.21简述层次数据模型的结构特点及优缺点。

1.22简述网状数据模型的结构特点及优缺点。

1.23简述关系数据模型的结构特点及优缺点。

1.24简述如何将ER模型转化为关系模式。

1.25简述关系数据模型的完整性规则。

1.26简述面向对象数据模型的结构特点及优缺点。

第2章关系数据库

3.1解释下列概念,并说明它们之间的联系与区别:

(1)超键、主码,候选码,外部码

(2)关系、元组、属性、域

(3)关系模式、关系模型、关系实例、关系数据库

(4)实体完整性规则参照完整性规则

(5)笛卡儿积、等值联接、自然联接

3.2关系模型的完整性规则有哪几类?

3.3在关系模型的参照完整性规则中,为什么外码的值可以为空?

什么情况下才可以为空?

3.4常用的关系数据语言有哪几种?

3.5为什么关系中的元组没有先后顺序?

3.6为什么关系中不允许有重复元组?

3.7关系与普通表格、文件有什么区别?

3.8简述关系的性质。

3.9等值连按与自然连接的区别是什么?

3.10关系代数的基本运算有哪些?

如何用这些基本运算来表示其他的关系基本运算?

3.11什么是关系运算的安全限制?

3.12关系代数表达式优化的一般策略有哪些?

3.13简述无限关系、无穷验证有什么区别?

3.14设有关系R和S。

R

S

A

B

C

A

B

C

5

3

2

2

6

7

2

6

7

6

3

4

6

3

4

5

5

2

计算R∪S,R-S,R∩S,R×S,∏3,2(R),δB<4(R),RS。

3.15有三个关系,试用关系代数表达式表示下列查询语句:

S(sno,sname,age,sex,sdept)

C(cno,cname,cdept,tname)tname表示授课老师名

SC(sno,cno,grade)

(1)检索年龄小于22岁的男学生的学号与姓名。

(2)检索学号为S3学生所学课程的课程名与任课教师名。

(3)检索JIANG老师所授课程的课程号、课程名。

(4)检索至少选修JIANG老师所授课程中一门课的男学生姓名。

(5)检索ZHNAG同学不学的课程的课程号。

(6)检索全部学生都选修的课程的课程号、课程名。

(7)检索选修课程包含JIANG老师所授课程的学生学号。

(8)检索至少选修两门课程的学生学号。

3.16试用元组表达式表示题3.15的各个查询语句。

3.17试用域表达式表示题3.15的各个查询语句。

3.18为什么要对关系代数表达式进行优化?

3.19设有下列四个关系模式:

S(SNO,SNAME,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY)。

其中,供应商关系S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成。

零件关系P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,用于记录各种零件的情况。

项目关系J由项目号(JNO)、项目名称(JNAME)、项目所在城市(CITY)组成。

供应情况关系SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成。

完成以下操作:

(1)检索供应项目J2零件的供应商号(SNO)。

(2)检索供应项目J2零件P2的供应商号(SNO)。

(3)检索供应项目J2黑色零件的供应商姓名(SNAME)。

(4)检索没有使用天津供应商生产的黑色零件的项目号(JNO)。

(5)检索使用了S1供应所供应的全部零件的项目名称(JNAME)。

3.20对student,course,scg三个关系,完成以下查询:

(1)查询至少选修了2号课程和8号课程的学生姓名。

(2)查询张红的年龄。

(3)查询李明同学不及格的课程名称。

(4)查询选修了“计算机网络”的学生姓名。

(5)查询“计算机网络”成绩在90分以上的学生姓名。

第3章关系数据库标准语言SQL

3.1名词解释

SQL模式基本表视图实表虚表相关子查询联接查询嵌套查询交互式SQL嵌人式SQL共享变量游标滚动游标

3.2什么是数据库语言?

数据库语言是DBMS提供的用户界面(接口),是用户和数据库管理员用以完成数据的定义、查询、更新和控制的主要工具。

不同的数据模型对应不同的数据库语言。

3.3SQL语言分为哪几类?

有哪些主要功能?

有何特点?

3.4视图有什么作用?

哪些视图是不能更新的?

3.5如何在嵌入式SQL与主语言的通信?

3.6什么是游标?

有何作用?

如何使有游标?

3.7什么是授权粒度?

不同的数据对象有哪些权限?

3.8对student、course、scg三个表用SQL完成以下操作:

student(sno,sname,age,sex,sdept)

course(cno,cname,pcno,ccredit,cdept,tname)

scg(sno,cno,grade)

1.创建关系表stu1(sno,sname,ssex,sbirth,sdept)。

2.对student按姓名建立索引。

3.查询信息系所有年龄不大于21岁的女生。

4.查询1982年出生的男生的姓名。

5.查询信息系、金融系所有姓“王”的同学的姓名和年龄。

6.查询姓“王”的男同学的人数。

7.查询2号课程的最低分。

8.查询总分最高的学生的学号。

9.查询每个同学的平均分。

10.查询每个同学所选修的课程门数。

11.查询“计算机网络”90分以上的同学的姓名。

12.查询每门课程的课程名及选修人数。

13.查询选修了全部课程的学生姓名。

14.查询总学分已超过40学分的学生学号、姓名、总学分。

15.查询至少选修了学生“20021710233”选修的全部课程的学生姓名。

16.查询其他系中比“cs”系任一学生年龄都小的学生名单。

17.查询每一个同学的学号、姓名、选修的课程名及分数。

18.查询信息系学生或年龄小于20岁的学生。

19.查询信息系学生与年龄小于20岁学生的交集。

20.查询信息系学生与年龄小于20岁学生的差集。

21.向student增一新生(“20021710146”,“王飞”,“男”,12/22/1985,“is”)

22.删除“李军”同学的所有信息。

23.为信息系所有男生建一视图vs_ism。

24.利用视图vs_ism查询信息系“王强”同学。

25.查询年龄在25-30之间的学生姓名及性别。

SELECTsname,ssexFROMstudentWHEREsbirthBETWEEN25AND30;

26.查询姓“欧阳”的学生。

SELECT*FROMstudentWHEREsnamelike‘欧阳%’;

27.查询信息系is,数学系ma和计算机系cs的学生。

SELECT*FROMstudentWHEREsdeptIN(‘is’,’ma’,’cs’);

28.检索蒋炎焱老师所授课程的课程号和课程名。

29.检索年龄大于23岁的男学生的学号和姓名。

30.检索至少选修蒋炎焱老师所授课程中一门课程的女学生姓名。

31.检索wang同学不学的课程的课程号。

32.检索至少选修两门课程的学生学号。

33.检索全部学生都选修的课程的课程号与课程名。

34.检索选修课程包含蒋炎焱老师所授课程的学生学号。

35.统计有学生选修的课程门数。

36.求选修5号课程的学生的平均年龄。

37.求蒋炎焱老师讲授的每门课程的学生平均成绩。

38.统计每门课程的学生选修人数(超过10人的课程才统计)。

要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

39.检索学号比wang同学大,而年龄比他小的学生姓名。

40.检索姓名以wang打头的所有学生的姓名和年龄。

41.在scg中检索成绩为空值的学生学号和课程号。

42.求年龄大于女同学平均年龄的男学生姓名和年龄。

43.求年龄大于所有女同学年龄的男学生姓名和年龄。

44.在基本表student中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表student2(sno,sname,sex)。

45.在基本表scg中删除尚无成绩的选课元组。

46.把wang同学的选课和成绩全部删去。

47.把选修maths课不及格的成绩全改为空值。

48.把低于总平均成绩的女同学成绩提高5%。

49.在基本表scg中修改3号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。

50.将修改成绩的权限授用户“JYY”。

3.10设有两个基木表R(a,b,c)和S(d,e,f),试用SQL查询语句表达下列关系代数表达式:

(1)Пa(R)

(2)δb=‘17’(R)

(3)R×S

(4)Пa,f(δc=d(R×S))

3.11设有两个基本表R(a,b,c)和S(a,b,c),试用SQL查询语句表达下列关系代数表达式:

(1)R∪S

(2)R∩S

(3)R一S

(4)Пa,f(R)Пb,c(S)

3.12试叙述SQL语言的关系代数特点和元组演算特点。

3.13假设工程一零件数据库中有五个基本表:

供应商supplier(供应商号,姓名,所在城市,联系电话)

工程project(工程号,工程名,负责人,预算,日期)

零件part(零件号,零件名,规格,产地,颜色);

工程零件p_p(工程号,零件号,数量)

采购p_s(零件号,供应商号,数量)

试用SQL语句完成下列操作:

1.试用SQLDDL语句定义上述五个基本表,并说明主键和外键。

2.查找预算在5000-10000元之间的工程的信息,并将结果按预算降序排列。

3.找出使用供应商si所供零件的工程号。

4.找出工程项目j2使用的各种零件名称及其数量。

5.找出上海厂商供应的所有零件号。

6.找出使用上海产的零件的工程名称。

7.找出没有使用天津产零件的工程号。

8.把全部红色零件的颜色改成蓝色。

9.将由供应商s5供给工程号为j4的零件p6改为由s3供应,并作其他必要的修改。

10.从供应商关系中删除s2的记录,并从工程零件关系中删除相应的记录。

11.找出天津市供应商的姓名和电话。

12.试将project、p_p、part三个基本表的自然联接定义为一个视图VIEW1,将part、p_s、supplier三个基本表的自然联接定义为一个视图VIEW2。

13.在上述两个视图的基础上,检索上海的供应商所供应的零件的编号和名字。

14.在上述两个视图的基础上,检索项目所用零件的供应商编号和名字。

3.14对于教学数据库中基本表scg,已建立下列视图:

CREATEVIEWs_grade(s,c_num,AVG_grade)

AS

SELECTsno,COUNT(cno),AVG(grade)

FROMsc

GROUPBYsno;

试判断下列查询和更新是否允许执行。

若允许,写出转换到基本表scg上的相应操作:

1.SELECT*FROMs_grade

2.SELECTsno,c_num

FROMs_grade

whhereAVG_grade>80;

3.SELECTsno,AVG_grade

FROMs_grade

WHEREc_num>(SELECTc_num

FROMs_grade

sno='s4')

4.UPDATEs.grade

setc_num=c_num+1

WHEREsno='s4';

5.DELETEFROMs_grade

WHEREc_num>4;

3.16预处理方式对于嵌入式SQL的实现有什么重要意义?

3.17在宿主语言的程序中使用SQL语句有哪些规定?

3.18SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?

3.19嵌人式SQL的DML语句何时不必涉及到游标?

何时必须涉及到游标?

3.20设职工一社团数据库有三个基本表:

职工(职工号,姓名,年龄,性别);

社会团体(社团号,名称,负责人,活动地点)

参加(职工号,社团号,参加日期)

其中:

(1)职工表的主码为职工号。

(2)社会团体表的主码为社团号;外码为负责人,被参照表为职工表,对应属性为职工号。

(3)参加表的职工号和社团号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;社团号为外码,其被参照表为社会团体表,对应属性为社团号。

试用SQL语句表达下列操作:

1.定义职工表、社会团体表和参加表,并说明其主码和参照关系。

2.建立下列两个视图:

社团负责人(社团号,名称,负责人职工号,负责人姓名,负责人性别);

参加人情况(职工号,姓名,社团社团号,社团名称,参加日期)。

3.查找参加唱歌队或篮球队的职工号和姓名。

4.查找没有参加任何社会团体的职工情况。

5.查找参加了全部社会团体的职工情况。

6.查找参加了职工号为“101”的职工所参加的全部社会团体的职工号。

7.求每个社会团体的参加人数。

8.求参加人数最多的社会团体的名称和参加人数。

9.求参加人数超过1的社会团体的名称和负责人。

10.把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。

第4章关系数据库设计理论

4.1名词解释

数据依赖、函数依赖、平凡函数依赖、非平凡函数依赖、传递函数依赖、多值依赖、连接依赖、1NF、2NF、3NF、BCNF、4NF、5NF、码、无损联接性、无损联接性

4.2关系模式R(U,F)

U={Sno,SnameDname,Dmanager,Cname,Grade}

各属性分别表示学号、系名、系主任名、课程名和分数,

请分析存在的数据依赖。

F={Sno→Sname,Sno→Dname,Dname→Dmanager,(Sno,Cname)→Grade}

4.3分析下面关系模式中的函数依赖

Student(Sno,Sname,Grade,Class,Bh,Bplace,Sex)

XY

Sno→(Grade,Class,Bh)(Grade,Class,Bh)→Sno

Sno→Grade

BplaceSex

Class→Grade

4.4设计一个求关键字算法。

4.5判断F≡G的算法如何实现?

4.6如何判定函数依赖集F是否是冗余的?

如何计算出非冗余覆盖?

4.7思考:

如何判定函数依赖集F是否是规约函数依赖集?

如何计算?

4.8已知关系模式R(U,F),

U={SNO,CNO,GRADE,TNAME,TAGE,OFFICE},

F={(SNO,CNO)→GRADE,CNO→TNAME,TNAME→(TAGE,OFFICE)},

以及R上的两个分解ρ1={SC,CT,TO},ρ2={SC,GTO},

其中SC={SNO,CNO,GRADE},CT={CNO,TNAME},TO={TNAME,TAGE,OFFICE},

    GTO={GRADE,TNAME,TAGE,OFFICE}。

试检验ρ1,ρ2的无损联接性。

答案:

ρ1是无损分解,ρ2不是无损分解。

4.9已知关系模式R(CITY,ST,ZIP),F={(CITY,ST)→ZIP,ZIP→CITY},以及R上的一个分解ρ={R1,R2},R1={ST,ZIP},R2={CITY,ZIP},求R1,R2,并检验分解的无损联接性和分解的函数依赖保持性。

答案:

R1=({ST,ZIP},{Φ})R2=(CITY,ZIP,{ZIP→CITY})

ρ是无损分解,但不具有函数依赖保持性

4.10判断下列结论对错。

1.任何一个二目关系都是3NF的。

2.任何一个二目关系都是BCNF的。

3.任何一个二目关系都是4NF的。

4.若R.A→R.B,R.B→R.C,则R.A→R.C。

5.若R.A→R.B,R.A→R.C,则R.A→R.(B,C)。

6.若R.B→R.A,R.C→R.A,则R.(B,C)→R.A。

4.11学生管理的情况:

一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可以选修多门课程,一门课程可由多名学生选修,每个学生学了每门课程有一个成绩,请设计一个数据库模式。

4.12分析SCT(SNO,CNO,CNAME,GRADE,TNAME,BDATE,SALARY)存在的问题,如何进行规范化?

F={SNO,CNO→GRADE

CNO→CNAME,CNO→TNAME

TNAME→BDATE,TNAME→SALARY}非2NF

存在问题:

1.数据冗余;2.插入,删除异常3.修改麻烦。

原因:

非主属性部分依赖于侯选关键字,

关键字是一个元组区别其它元组的依赖,同时也是一个元组赖以存在的依据。

分解为:

SC(SNO,CNO,GRADE),CT(CNO,CN,TNAME,BDATE,SALARY)

第5章数据库保护

5.1什么是数据库的安全性?

数据库安全性和计算机系统的安全性有什么关系?

5.2试述实现数据库安全性控制的常用方法和技术。

5.3什么是数据库的完整性?

完整性和安全性两者之间有什么联系和区别?

5.4什么是数据库的完整性约束条件?

可分为哪几类?

DBMS的完整性控制机制应具有哪些功能?

5.5RDBMS在实现参照完整性时需要考虑哪些方面?

5.6设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;

部门(部门号,名称,经理名,电话),其中部门号为主码;

用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:

(1)定义每个模式的主码;

(2)定义参照完整性;

(3)定义职工年龄不得超过60岁。

5.7对职工-部门关系模式,请用SQL的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。

(1)用户王勇对两个表有SELECT权力。

(2)用户李明对两个表有INSERT和DELETE权力。

(3)用户刘平对职工表有SELECT权利,对工资字段具有更新权力。

(4)用户张兰具有修改这两个表的结构的权力。

(5)用户周昆具有对两个表的所有权力(读、插、改、删数据),并具有给其他用户授权的权利。

(6)用户杨新具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。

5.8把6.7中

(1)-(6)的每个用户所授予的权力予以撤消。

5.9SQL语言中提供了哪些数据控制(自主存取控制)的语句?

请试举几例说明它们的使用方法。

5.10什么是事务?

它有哪些属性?

5.11在数据库中为什么要并发控制?

5.12并发操作可能会产生哪几类数据不一致?

用什么方法能避免这些不一致的情况?

5.13什么是封锁?

基本的封锁类型有几种?

试述它们的含义。

5.14SQLServer为什么要引进意向锁?

意向锁的含义是什么?

5.15如何用封锁机制保证数据的一致性?

5.16什么样的并发调度是正确的调度?

5.17如何保证并行操作的可串行性?

5.18什么是封锁协议?

不同级别的封锁协议的主要区别是什么?

5.19不同封锁协议与系统一致性级别的关系是什么?

5.20试述两段锁协议的概念。

5.21试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。

5.22举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。

5.23理解并解释下列术语的含义:

封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。

5.24什么是活锁?

什么是死锁?

试述死锁和活锁的产生原因和解决方法。

5.25设A的初值为1,T1、T2和T3是如下的三个事:

T1:

A=A+3;

T2:

A=A*3;

T3:

A=A**3;

(1)若这三个事务允许并行执行,则有多少可能的正确结束,请一一列举出来;

(2)请给出一个可串行化的调度,并给出执行结果;

(3)请给出一个非串行化的调度,并给如执行结果;

(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度;

(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度。

5.26什么是数据库的备份与恢复?

5.27数据库转储的意义是什么?

试比较各种数据转储方法。

5.28什么是日志文件?

为什么要设立日志文件?

登记日志文件时为什么必须先写日志文件,后写数据库?

5.29数据库运行过程中常见的故障有哪几类?

各类故障如何恢复?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1