数据库系统原理及应用各章习题
第1章 习题
1.1 什么是信息?什么是数据?数据和信息有何联系与区别?
1.2数据处理和数据管理有何不同?各包括哪些内容?
1.3 什么是数据库和数据库系统?数据库系统在计算机系统中处于哪个层次?
1.4 随着计算机技术的发展,你认为未来数据库系统还应具备什么功能?
1.5 数据库系统和文件系统有何区别?数据库系统有什么优点?
1.6 数据库系统的模式结构如何构成?数据独立性如何保证?
1.7 试述客户机/服务器结构的工作原理,客户机/服务器结构有何优缺点?
1.8 试述浏览器/服务器结构的工作原理,浏览器/服务器结构有何优缺点?
1.9 数据库管理系统由哪几部分构成,有哪些基本功能?
1.10 DBA的主要职责有哪些?
1.11 简述数据库系统的工作过程。
1.12 实现数据库管理系统有哪些方案?各方案有何优缺点?
第2章 习题
2.1 名词解释
实体、属性、码、实体集、实体型、域、主码、元组、关系模式、概念模型、数据模型、类、对象、实例、继承。
2.2 一种产品由多种零件组成,画出产品零件的概念模型。
2.3 递归联系和多元联系如何处理?
2.4 学校有若干系,每个系有若干班级和教职室,每个教职室有若干教员,其中有的教授和副教授各带若干研究生,每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修,试用ER图画出该校的概念模型。
2.5 在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的ER图。
2.6 在活期存款业务中,设一个储户可在多个储蓄所存取款,画出该ER图。
2.7 在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的概念模型。
2.8 简述数据模型的构成。
2.9 简述层次数据模型的结构特点及优缺点。
2.10 简述网状数据模型的结构特点及优缺点。
2.11 简述关系数据模型的结构特点及优缺点。
2.12 简述如何将ER模型转化为关系模式。
2.13 简述关系数据模型的完整性规则。
2.14 简述面向对象数据模型的结构特点及优缺点。。
2.15 用Bachman表示图2.31所示学生选修课程所得成绩情况。
图2.31 学生选修课程成绩
第3章 习题
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分以上的学生姓名。
第4章 习题
4.1名词解释
SQL 模式 基本表 视图 实表 虚表 相关子查询 联接查询 嵌套查询 交互式SQL 嵌人式SQL 共享变量 游标 滚动游标
4.2什么是数据库语言?
数据库语言是DBMS提供的用户界面(接口),是用户和数据库管理员用以完成数据的定义、查询、更新和控制的主要工具。不同的数据模型对应不同的数据库语言。
4.3 SQL语言分为哪几类?有哪些主要功能?有何特点?
4.4视图有什么作用?哪些视图是不能更新的?
4.5如何在嵌入式SQL与主语言的通信?
4.6什么是游标?有何作用?如何使有游标?
4.7什么是授权粒度?不同的数据对象有哪些权限?
4.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之间的学生姓名及性别。
SELECT sname,ssex FROM student WHERE sbirth BETWEEN 25 AND 30;
26.查询姓“欧阳”的学生 。
SELECT * FROM student WHERE sname like ‘欧阳%’;
27.查询信息系is,数学系ma和计算机系cs的学生。
SELECT * FROM student WHERE sdept IN (‘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”。
4.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))
4.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)
4.12 试叙述SQL语言的关系代数特点和元组演算特点。
4.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.在上述两个视图的基础上,检索项目所用零件的供应商编号和名字。
4.14 对于教学数据库中基本表scg,已建立下列视图:
CREATE VIEW s_grade(s,c_num,AVG_grade)
AS
SELECT sno,COUNT(cno),AVG(grade)
FROM sc
GROUP BY sno;
试判断下列查询和更新是否允许执行。若允许,写出转换到基本表scg上的相应操作:
1. SELECT * FROM s_grade
2. SELECT sno,c_num
FROM s_grade
whhere AVG_grade>80;
3. SELECT sno,AVG_grade
FROM s_grade
WHERE c_num >(SELECT c_num
FROM s_grade
sno='s4')
4. UPDATE s.grade
set c_num=c_num+1
WHERE sno='s4';
5. DELETE FROM s_grade
WHERE c_num>4;
4.16 预处理方式对于嵌入式SQL的实现有什么重要意义?
4.17 在宿主语言的程序中使用SQL语句有哪些规定?
4.18 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?
4.19 嵌人式SQL的DML语句何时不必涉及到游标?何时必须涉及到游标?
4.20 设职工一社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(社团号,名称,负责人,活动地点)
参加(职工号,社团号,参加日期)
其中:
(1)职工表的主码为职工号。
(2)社会团体表的主码为社团号;外码为负责人,被参照表为职工表,对应属性为职工号。
(3)参加表的职工号和社团号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;社团号为外码,其被参照表为社会团体表,对应属性为社团号。
试用SQL语句表达下列操作:
1.定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2.建立下列两个视图:
社团负责人(社团号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团社团号,社团名称,参加日期)。
3.查找参加唱歌队或篮球队的职工号和姓名。
4.查找没有参加任何社会团体的职工情况。
5.查找参加了全部社会团体的职工情况。
6.查找参加了职工号为“101”的职工所参加的全部社会团体的职工号。
7.求每个社会团体的参加人数。
8.求参加人数最多的社会团体的名称和参加人数。
9.求参加人数超过1的社会团体的名称和负责人。
10.把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他再将此权力授予其他用户。
第5章 习题
5.1名词解释
数据依赖、函数依赖、平凡函数依赖、非平凡函数依赖、传递函数依赖、多值依赖、连接依赖、1NF、2NF、3NF、BCNF、4NF、5NF、码、无损联接性、无损联接性
5.2 关系模式R(U,F)
U={Sno,Sname Dname,Dmanager,Cname,Grade}
各属性分别表示学号、系名、系主任名、课程名和分数,
请分析存在的数据依赖。F={Sno→Sname,Sno→Dname,Dname→Dmanager,(Sno,Cname)→Grade}
5.3分析下面关系模式中的函数依赖
Student(Sno,Sname,Grade,Class,Bh,Bplace,Sex)
X Y
Sno → (Grade,Class,Bh)(Grade,Class,Bh)→Sno
Sno → Grade
Bplace Sex
Class → Grade
5.4 设计一个求关键字算法。
5.5 判断F≡G的算法如何实现?
5.6 如何判定函数依赖集F是否是冗余的?如何计算出非冗余覆盖?
5.7思考:如何判定函数依赖集F是否是规约函数依赖集?如何计算?
5.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不是无损分解。
5.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})
ρ是无损分解,但不具有函数依赖保持性
5.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。
5.11 学生管理的情况:一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可以选修多门课程,一门课程可由多名学生选修,每个学生学了每门课程有一个成绩,请设计一个数据库模式。
5.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)
第6章 习题
6.1 什么是数据库的安全性? 数据库安全性和计算机系统的安全性有什么关系?
6.2 试述实现数据库安全性控制的常用方法和技术。
6.3 什么是数据库的完整性? 完整性和安全性两者之间有什么联系和区别?
6.4什么是数据库的完整性约束条件?可分为哪几类?DBMS的完整性控制机制应具有哪些功能?
6.5 RDBMS在实现参照完整性时需要考虑哪些方面?
6.6设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码;
用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
(1)定义每个模式的主码;
(2)定义参照完整性;
(3)定义职工年龄不得超过60岁。
6.7 对职工-部门关系模式,请用SQL的GRANT和REVOKE语句(加上视图机制),完成以下授权定义或存取控制功能。
(1) 用户王勇对两个表有SELECT权力。
(2) 用户李明对两个表有INSERT和DELETE权力。
(3) 用户刘平对职工表有SELECT权利,对工资字段具有更新权力。
(4) 用户张兰具有修改这两个表的结构的权力。
(5) 用户周昆具有对两个表的所有权力(读、插、改、删数据),并具有给其他用户授权的权利。
(6) 用户杨新具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力, 他不能查看每个人的工资。
6.8 把6.7中(1)-(6)的每个用户所授予的权力予以撤消。
6.9 SQL语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。
6.10 什么是事务?它有哪些属性?
6.11 在数据库中为什么要并发控制?
6.12 并发操作可能会产生哪几类数据不一致?用什么方法能避免这些不一致的情况?
6.13 什么是封锁? 基本的封锁类型有几种?试述它们的含义。
6.14 SQL Server为什么要引进意向锁?意向锁的含义是什么?
6.15 如何用封锁机制保证数据的一致性?
6.16 什么样的并发调度是正确的调度?
6.17如何保证并行操作的可串行性?
6.18 什么是封锁协议?不同级别的封锁协议的主要区别是什么?
6.19 不同封锁协议与系统一致性级别的关系是什么?
6.20 试述两段锁协议的概念。
6.21 试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
6.22 举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。
6.23 理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。
6.24 什么是活锁?什么是死锁?试述死锁和活锁的产生原因和解决方法。
6.25 设A的初值为1,T1、T2和T3是如下的三个事:
T1:A=A+3;
T2:A=A*3;
T3:A=A**3;
(1) 若这三个事务允许并行执行,则有多少可能的正确结束,请一一列举出来;
(2) 请给出一个可串行化的调度,并给出执行结果;
(3) 请给出一个非串行化的调度,并给如执行结果;
(4) 若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度;
(5) 若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度。
6.26 什么是数据库的备份与恢复?
6.27 数据库转储的意义是什么?试比较各种数据转储方法。
6.28什么是日志文件?为什么要设立日志文件?登记日志文件时为什么必须先写日志文件,后写数据库?
6.29数据库运行过程中常见的故障有哪几类?各类故障如何恢复?
6.30什么是数据库复制?它有什么用途?常用的复制手段有哪些?
6.31什么是数据库镜象?它有什么用途?
6.32上机实习,深入了解SQL SERVER 2000在数据库安全性、完整性、并发性、备份恢复以及复制方面的措施。
第7章 习题
7.1 数据库设计意义何在?
7.2 数据库设计的核心是什么?
7.3 简述数据库设计的步骤。
7.4 画出销售管理的数据流图和ER图。
7.5 对学校科研管理进行分析设计。
7.6 将ER图转化为关系模式有哪些原则?
7.7 以学生管理系统为例,编写系统分析设计报告(包括需求分析、概念和逻辑结构设计、物理设计报告)。
7.8 以进销存系统为例,编写系统分析设计报告。
7.9 以股票交易系统为例,编写系统分析设计报告。
第8章 习题
8.1 数据库技术当前主要向哪些方向发展?
8.2 什么是面向对象数据库?有何特点?
8.3 什么是数据仓库?数据仓库有何特点?
8.4 什么是分布式数据库?它的体系结构如何?
8.5 什么是并行数据库?与分布式数据有何不同?
第9章 习题
9.1 名词解释
复合对象模型、ODMG组织、对象、类、单重继承性、多重继承性、对象包含、类继承层次图、类包含层次图、持久数据、持久指针、持久化C++系统、对象标识、持久对象
9.2 ODMG93标准有哪五个核心概念?
9.3 OODBS应满足哪两个准则?
9.4 继承性表现了数据间的什么联系?试举例说明。
9.5 持久化语言和嵌入式SQL语言有什么区别?
9.6 持久化语言中有哪三个基本概念?
9.7 试用ODMG C++ ODL定义一个数据库。
9.8 为银行设计一个数据库,包括顾客及其帐户的信息。顾客的信息包括姓名、地址、电话和社会保险号。帐户包括编号、类型(例如,存款,支票)和结余。还要记录拥有帐户的顾客。对这个数据库用ODL进行描述。为所有的属性和联系选择适当的类型。
9.9 用ODL设计的数据库,记录球队、队员和球迷的信息,包括:
(1)球队的名字、队员、队长(队员之一)以及队服的颜色。
(2)队员的姓名。
(3)球迷的姓名,喜爱的球队,喜爱的队员以及喜爱的颜色。
9.10 设计一个适合大学选课的数据库。这个数据库应当包括学生、系、教授、课程、哪个学生选了哪门课、哪个教授教哪门课、学生的分数、课程的助教(由学生兼任)、一个系提供哪些课程以及你认为适当的任何其他信息。注意,和以上练习相比,该练习形式上更加自由。
9.11 根据类Ship和类TG(TaskGroup,特遣舰队,是舰艇的聚集)的ODL定义。对这个定义作一些修改。可以通过指出要修改的行,并给出替代的内容,或者通过在已编号的某一行之后插入一行或几行来对每个修改进行描述。描述下列修改:
(1) 将属性commander(指挥官)的数据类型变成两个字符串,其中第一个是军衔,第二个是姓名。
(2) 一艘舰艇可以分配给多个特遣舰队。
(3) 姊妹舰是按相同的计划建造的相同的舰艇。我们希望对每艘舰艇都表示出姊妹舰的集合(除了它本身)。你可以假定每艘舰艇的姊妹舰都是Ship的对象。
interface Ship {
attribute string name;
attribute integer yearLaunched;
relationship TG assignedTo inverse TG::unitsof
};
interface TG {
attribute real number;
attribute string commander;
relationship Set <Ship> unitsOf
inverse Ship ::assignedTo
};
9.12 一个类型在任何时候都可以同时是合法的ODL的属性类型和联系类型吗?解释为什么可以或为什么不可以。
第10章 习题
10.1 名词解释
平面关系模型、嵌套关系模型、复合对象模型、数据的泛化/细化、对象关系模型
10.2 什么是对象联系图?图中椭圆、小圆圈、单箭头、双箭头、双线箭头、双向箭头各表示什么含义?
10.3 在ORDB中有哪些基本数据类型?有哪些复合数据类型?
10.4 在ORDB中,子表和超表应满足哪两个一致性要求?
10.5 图是有关教师(Faculty)、系(Deptment)和系主任(Director)信息的对象联系图。
1.试用ORDB的定义语言,定义这个数据库。
2.试用ORDB的查询语言,分别写出下列查询的SELECT语句:
(1)检索精通俄语(Russian)的教师号和姓名。
(2)检索复且大学出访过瑞士(Switzerland)并且精通日语(Japanese)的系主任。
10.6学生(student)和学习(study)信息的对象联系图。
1.试解释这个对象联系图。
2.试用ORDB的定义语言,定义这个数据库。
3.试用ORDB的查询语言,分别写出下列查询的SELECT语句:
(1)检索每个学生的学习课程和成绩。
(2)检索至少有一间课程的求学地与籍贯在同一城市的学生学号和姓名。
10.7 OODBS和0RDBS各有什么样的市场目标?
10.8 关系DBS、基于持久化语言的OODBS,0RDBS三者各有什么长处和劣势?
10.9 OODB与0RDB之间有什么主要区别?
l0.10 试写一篇5000字短文,对OODB与0RDB作一论述。
l0.11在什么条件下,一个联系就是它本身的反向联系?(提示:把联系想象成一个对的集合。)
第11章 习题
11.1名词解释
处理分布 数据分布 功能分布 服务器位置透明性
集中式DBS 分布式DBS DDB DDBMS 分布透明性
数据分片 水平分片 垂直分片 数据分配 分片透明性
位置透明性 局部数据模型透明性
11.2 试叙述数据从集中存储、分散存储到分布存储的演变过程。
11.3 与集中式DBS、分散式DBS相比,DDBS的区别在哪里?
11.4 DDBS有哪些基本特点?还可以导出哪些特点?
11.5 在DDBS中为什么需要适当增加数据冗余度?
11.6 DDBS有哪些优点和缺点?
11.7 试解释下列术语:同构同质型DDBS,同构异质型DDBS,异构型DDBS?
11.8 在DDB中,数据分片有哪些策略?定义分片时必须遵守哪些规则?
11.9 在DDB中,数据分配有哪些策略?分配策略的评估因素有哪些?
11.10 试叙述DDB的六层模式结构的主要成分。
11.11 DDB的六层模式结构是一种通用的概念结构,它有哪些显著的特征?
11.12 DDB的六层模式结构之间的五级映像,各体现什么独立性(或透明性)?
11.13 DDBMS主要有哪些功能?DDBMS应包括哪些基本功能模块?
11.14 分布式系统中影响查询的主要因素是什么?
11.15 基于半联接的优化策略的基本原理是什么?
11.16 在C/S系统的发展中,有哪两类DBMS产品?
11.17 C/S结构的基本原则是什么?客户机和服务器的任务各是什么?
11.18 一个典型的应用程序有哪四部分组成?在C/S结构的DBS中是如何实现的?
11.19 C/S系统有哪些主要的技术特征?
11.20 C/S系统的体系结构由几部分组成?
11.21 对C/S结构的两层模型、三层模型、多层模型作详细的解释。
11.22 网络服务器有哪几类?
11.23 C/S系统如何解决并发性问题和数据一致性问题?
第12章 习题
12.1 什么是中间件?有什么作用?
12.2 ODBC技术与传统的数据库编程方式有什么区别?
12.3 ODBC技术有什么作用?其卓越贡献是什么?
12.4 ODBC的体系结构有哪几层?试叙述各层之间的联系。
12.5 ODBC数据库应用程序的主要功能是什么?
12.6 什么是驱动程序管理器?驱动程序管理器的主要功能是什么?
l2.7 什么是DBMS驱动程序?主要任务是什么?
12.8 DBMS驱动程序有哪两种类型?主要区别是什么?
12.9 ODBC数据源有哪三类?
12.10 试叙述ODBC应用程序的基本流程。
12.11 什么是ODBC句柄?有哪几种?这几种何柄之间有什么联系?
12.12 ODBC技术提供哪两种不同的执行SQL语句的方式?试作详细的解释。
12.13 ODBC技术中有哪两个主要的光标函数?起什么作用?
12.14 ODBC技术中有哪两个符合性级别?为什么要设置这两个符合性级别?
12.15 ODBC API与SQL CLI间有什么联系?
12.16 JDBC API有何作用?由哪几部分构成?
12.17 JDBC驱动程序有哪几种?各有何特点?
12.l8当前有哪些典型的数据库应用系统开发工具?这些工具有什么共同点?
第13章 习题
13.1解析下列名词:数据仓库、粒度、数据分割、星形模型、雪片模型、维、度量、多维数据库、事实表、维表、OLTP、OLAP、DSS、DM。
13.2 操作型处理与分析型处理有何不同?操作型数据与分析型数据有何不同?
13.3 数据仓库有何特点?
13.4 数据仓库设计与数据库设计有何不同?数据仓库设计要考虑哪些因素?如何进行数据仓库设计?简述数据仓库设计的步骤。
13.5数据仓库需要哪些技术的支持?
13.6 以销售主题为例设计一个数据仓库。
13.7 OLAP与OLTP有何不同?如何将OLTP数据转换为OLAP数据?
13.8数据挖掘有何作用?与OLAP、DSS有何区别?
13.9简述数据挖掘的一般过程?有何作用?与OLAP有和区别?
13.10传统DSS存在什么问题?数据仓库与DSS有何联系?
13.11简述SQL Server 2000在数据仓库、数据挖掘和OLAP方面的支持。
第14章 练习
14.1 在Access中练习建立学生成绩管理数据库、数据表、查询、窗体和报表。
14.2 Access支持哪些数据类型?
14.3 练习对数据表中的数据进行增、删、改、查。
14.4 什么是宏?宏有何作用?
14.5 如何在Access中建立模块?
14.6 通过ODBC建立一个访问Access数据库的数据源?
第15章 习题
15.1 在VFP中建立xsgl数据库及student、course、sc三个表,并输入一些实验数据。
15.2 对xsgl数据库的student、course、sc三个表完成一些查询更新操作,要求使用VFP命令和SQL语句分别完成。
15.3 如何保证xsgl数据库student、course、sc三个表的数据完整性?
15.4 分别用向导和设计器创建student表单和报表。
15.5 用VFP开发一个小型的数据库应用系统,题目自定。
第16章 习题
16.1 什么是数据库实例?
16.2 SQL Server提供哪几种用户模式?
16.3 SQL Server系统数据库有哪些?
16.4 在企业管理器中练习对数据库的基本操作。包括:建立一个数据库,在库中建立表,在表中插入、修改、删除数据行,查询等等。
16.5 练习数据库备份与恢复。
16.6 SQL Server如何保证数据的安全性、完整性?
16.7 在SQL Server中建立一个触发器,理解触发器的作用。
16.8 在SQL Server中练习SQL语句的用法。