数据库系统原理及应用各章习题 第1章习题 1.1什么是信息?什么是数据?数据和信息有何联系与区别? 1.2数据处理和数据管理有何不同?各包括哪些内容? 1.3什么是数据库和数据库系统?数据库系统在计算机系统中处于哪个层次? 1.4随着计算机技术的发展,你认为未来数据库系统还应具备什么功能? 1.5数据库系统和文件系统有何区别?数据库系统有什么优点? 1.6数据库系统的模式结构如何构成?数据独立性如何保证? 1.7试述客户机/服务器结构的工作原理,客户机/服务器结构有何优缺点? 1.8试述浏览器/服务器结构的工作原理,浏览器/服务器结构有何优缺点? 19数据库管理系统由哪几部分构成,有哪些基本功能? 1.10DBA的主要职责有哪些? 1.11简述数据库系统的工作过程 1.12实现数据库管理系统有哪些方案?各方案有何优缺点? 第2章习题 2.1名词解释 实体、属性、码、实体集、实体型、域、主码、元组、关系模式、概念模型、数据模型、 类、对象、实例、继承 22一种产品由多种零件组成,画出产品零件的概念模型 23递归联系和多元联系如何处理 24学校有若干系,每个系有若干班级和教职室,每个教职室有若干教员,其中有的教 授和副教授各带若干研究生,每个班级有若干学生,每个学生选修若干课程,每门课程可由 若干学生选修,试用ER图画出该校的概念模型。 2.5在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓 库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理画出 该物资管理系统的ER图 2.6在活期存款业务中,设一个储户可在多个储蓄所存取款,画出该ER图 27在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个 教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的概念 模型 2.8简述数据模型的构成。 29简述层次数据模型的结构特点及优缺点 2.10简述网状数据模型的结构特点及优缺点 211简述关系数据模型的结构特点及优缺点。 212简述如何将ER模型转化为关系模式
数据库系统原理及应用各章习题 第 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简述关系数据模型的完整性规则 214简述面向对象数据模型的结构特点及优缺点。 2.15用 Bachman表示图231所示学生选修课程所得成绩情况。 成绩 学生 课程 850676 03 Cl 85 50652 90 C2 850027 88 C4 88 图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
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
267 5265 3635 634 计算RUS,R-S,R∩S,R×S,II3,2(R),8B4(R),RS 3.15有三个关系,试用关系代数表达式表示下列查询语句 S(sno, sname, age, sex, sdept) C(cno, cname, cdept, tname) tname表示授课老师名 sho, cno, gra (1)检索年龄小于22岁的男学生的学号与姓名。 索学号为S3学生所学课程的课程名与任课教师名 索 JIANG老师所授课程的课程号、课程名 (4)检索至少选修 JIANG老师所授课程中一门课的男学生姓名。 (5)检索 ZHNAG同学不学的课程的课程号。 (6)检索全部学生都选修的课程的课程号、课程名 (⑦)检索选修课程包含JANG老师所授课程的学生学号。 (8)检索至少选修两门课程的学生学号 3.16试用元组表达式表示题3.15的各个查询语句。 3.17试用域表达式表示题3.15的各个查询语句。 3.18为什么要对关系代数表达式进行优化 3.19设有下列四个关系模式 S(SNO, SNAME, CITY) P(PNO, PNAME, COLOR, WEIGHT) J CNO, JNAME, CITY SPJ(SNO, PNO, JNO, QTY) 其中,供应商关系S由供应商号(SNO)、供应商姓名( SNAME)、供应商所在城市(CITY) 组成。零件关系P由零件号(PNO)、零件名称(PNAM)、零件颜色( COLOR)、零件重量( WEIGHT) 组成,用于记录各种零件的情况。项目关系J由项目号(N0)、项目名称( NAME)、项目所在 城市(CITY)组成。供应情况关系SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应 数量(QTY)组成。完成以下操作 (1)检索供应项目J2零件的供应商号(SNO)。 (2)检索供应项目J2零件P2的供应商号(SNO) (3)检索供应项目J2黑色零件的供应商姓名( SNAME)
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),R S。 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供应所供应的全部零件的项目名称( UNAME)。 3.20对 student, course,scg三个关系,完成以下查询: (1)查询至少选修了2号课程和8号课程的学生姓名。 (2)查询张红的年龄。 (3)查询李明同学不及格的课程名称。 (4)查询选修了“计算机网络”的学生姓名 (5)查询“计算机网络”成绩在90分以上的学生姓名 第4章习题 4.1名词解释 SαL模式基本表视图实表虚表相关子查询联接查询嵌套查询交 互式SQL嵌人式SQL共享变量游标滚动游标 42什么是数据库语言? 数据库语言是DBMS提供的用户界面(接口),是用户和数据库管理员用以完成数据的 定义、查询、更新和控制的主要工具。不同的数据模型对应不同的数据库语言。 43SQL语言分为哪几类?有哪些主要功能?有何特点? 44视图有什么作用?哪些视图是不能更新的? 45如何在嵌入式SQL与主语言的通信? 46什么是游标?有何作用?如何使有游标? 47什么是授权粒度?不同的数据对象有哪些权限? 48对 student、 course、scg三个表用SQL完成以下操作: tudent( sno, sname, age, sex, sdept) course(cno, cname, pco, ccredit, cdept, tname no,grade 1.创建关系表stul(sno, sname,sex, birth, sdept) 2.对 student按姓名建立索引 3.查询信息系所有年龄不大于21岁的女生 4.查询1982年出生的男生的姓名。 5.查询信息系、金融系所有姓“王”的同学的姓名和年龄。 6.查询姓“王”的男同学的人数 7.查询2号课程的最低分。 8.查询总分最高的学生的学号。 9.查询每个同学的平均分。 10.查询每个同学所选修的课程门数。 11.查询“计算机网络”90分以上的同学的姓名。 12.査询每门课程的课程名及选修人数
(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.查询每一个同学的学号、姓名、选修的课程名及分数 8.查询信息系学生或年龄小于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 6.查询姓“欧阳”的学生。 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.检索全部学生都选修的课程的课程号与课程名。 4.检索选修课程包含蒋炎焱老师所授课程的学生学号。 35.统计有学生选修的课程门数。 6.求选修5号课程的学生的平均年龄 37.求蒋炎焱老师讲授的每门课程的学生平均成绩。 38.统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修 人数,査询结果按人数降序排列,若人数相同,按课程号升序排列。 39.检索学号比wang同学大,而年龄比他小的学生姓名 40.检索姓名以wang打头的所有学生的姓名和年龄 41.在seg中检索成绩为空值的学生学号和课程号 42.求年龄大于女同学平均年龄的男学生姓名和年龄 43.求年龄大于所有女同学年龄的男学生姓名和年龄。 44.在基本表 student中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别, 并把检索到的值送往另一个己存在的基本表 student2(sno, sname,sex) 45.在基本表seg中删除尚无成绩的选课元组
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 中删除尚无成绩的选课元组