华南农业大学数据库基础期末考试试卷答案.pdf
华南农业大学期末考试试卷(华南农业大学期末考试试卷(A 卷)卷)2005 年度第年度第 2 学期学期 考试科目:数据库原理及应用考试科目:数据库原理及应用 考试类型:闭卷考试类型:闭卷 考试时间:考试时间:120 分钟分钟 班级班级 学号学号 姓名姓名 题号题号 一一 二二 三三 四四 五五 总分总分 得分得分 评阅人评阅人 一一.判断题(每题判断题(每题 2 分,共分,共 20 分,对的打“”,错的打“”)分,对的打“”,错的打“”)()1.数据是反映客观事物存在方式和运动状态的记录,是信息的载体。()2.数据模型是面向数据库全局逻辑结构的描述,它包含以下几个方面的内容:数据表示、数据操作和数据约束条件。()3.对于数据库系统中的网状模型,其结构的基本特征包括:允许一个以上的结点无父结点;一个结点可以有多于一个的父结点。()4.数据库系统的三级模式结构中,内模式又称为逻辑模式,是数据库中全体数据的逻辑表示。()5.在 ER 模型中,用 ER 图描述实体集、属性和实体集之间的联系。ER 图中用椭圆形框来表示实体集之间的联系。()6.在一个关系中,每一横行称为一个元组。()7.关系模式对应的是概念模型中的实体型。()8.一个关系模式中,可以有多个候选码,由于主码是在候选码中产生的,所以主码也可以有多个。()9.关系模型的实体完整性是指关系中的外键必须是另一个关系的主键有效值,或者是 Null。()10.关系模型的参照完整性是指关系中的主键不能是空值且不能有相同值。()11.函数依赖可以根据某一时刻特定的实际值来确定。()12.关系模式的分解应该符合“无损连接”和“保持依赖”的原则。()13.概念模型到关系模型的转换过程中,一个 1:n 的联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。()14.关系的集合运算中,RSS(SR)。()15.关系的集合运算中,RSR(RS)。()16.Access 数据库中,用表示任意一个字符,用_表示任意多个字符。()17.建立数据库中的表间关联,要保证建立关联关系的表具有相同的字段,并且每个表都要以该字段建立索引。()18.Access 数据库中,默认的数字型字段的数据类型为整型。()19.由于 Access 和 Excel 都是 Microsoft Word 的组件,所以任何表格形式的 Excel 文件都可以导入到 Access 数据库中作为数据源。()20.数据库应用系统的开发过程可以描述为以下几个阶段:系统分析、系统设计、系统实施以及系统维护。二二.简答题(每题简答题(每题 10 分,共分,共 40 分)分)1.试描述数据处理过程中,数据管理技术发展的各个阶段的特点。2.常用的支持数据库系统的数据模型有几种,分别叙述每种模型的主要特征。3.简述数据库系统的三级模式结构。4.设有关系 R 与 S:R:A B C 2 3 4 4 5 6 7 8 9 S:D E 7 5 4 8 计算 3,2(R),A=D(RS)答案:3,2(R):A=D(RS):C B A B C D E 4 3 7 8 9 7 5 6 5 4 5 6 4 8 9 8 5.用实例描述实体集之间的三种联系类型。6.什么是关系模型的完整性约束,关系模型中提供了哪几种完整性约束,分别描述之。7.简述关系模型的主要特点。8.描述概念模型转换为关系模型的规则。三三.设计题(每小题设计题(每小题 10 分,共分,共 20 分)分)1.请用 ER 图描述某个工厂的物资管理的概念模型。物资管理涉及的实体有:仓库,属性有仓库号、仓库面积、电话号码。零件,属性有零件号名称、规格、单价、描述。供应商,属性有供应商号、姓名、地址、电话号、账号。项目,属性有项目号、预算、开工日期。职工,属性有职工号、姓名、年龄、职称。这些实体之间的联系如下:(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来描述某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在个仓库作保管员。(3)职工之间具有领导被领导关系,即仓库主任领导若干保管员。(4)供应商可以给多个项目供应多个不同的零件。2.学生运动会的模型如下所描述,画出每个实体及其属性关系、实体间实体联系的 E-R 图。(1)有若干班级,每个班级包括:班级号,班级名,专业,人数。(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄。(3)有若干比赛项目,包括:项目号,名称,比赛地点。(4)每名运动员可参加多项比赛,每个项目可有多人参加。3.设有关系 EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系 DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。36试用 SQL 语句完成以下查询:列出各部门中工资不低于 600 元的职工的平均工资。37写出“查询 001 号职工所在部门名称”的关系代数表达式。38 请用 SQL 语句将“销售部”的那些工资数额低于 600 的职工的工资上调 10%。39。有如下关系代数表达式 请将其转化成相应的 SQL 语句。答案:36 SELECT DNO,AVG(SALARY)(1 分)FROM EMP(1 分)WHERE SALARY=600(1 分)GROUP BY DNO(2 分)(说明:WHERE 子句与 GROUP BY 子句顺序颠倒的,扣 1 分。)37 38UPDATE EMP SET SALARY=SALARY*1.1 WHERE ENO IN (2 分)(SELECT ENO FROM EMP,DEPT WHERE EMP.DNO=DEPT.DNO AND DNAME=销售部 AND SALARY600(3 分)39SELECT ENO FROM EMP,DEPT(2 分)WHERE EMP.DNO=DEPT.DNO AND DEPT.MANAGER=001(3 分)(4)建立一个教职工关系表 TEACHER,表中有 6 个字段:教职工编号 NO(字符型),姓名 NAME(字符型),性别 SEX(字符型),出生日期 BIRTHDAY(日期型),职称 PROF(字符型),所在系 DEPART(字符型),其中 NO 是关系的码;用 SQL 语言完成下列功能:建立教职工关系表 TEACHER。查询计算机系所有教职工的姓名。添加一个教职工记录,编号为 20020003,姓名为吴珊,性别为女,出生日期为 1976 年 10 月 20 号,职称为助教,所在系为计算机系。逻辑删除王珊老师的记录。CREATE TABLE TEACHER(NO CHAR(8)NOT NULL UNIQUE,NAME CHAR(20),SEX CHAR(2),BIRTHDAY DATE,PROF CHAR(8),DEPART CHAR(20);SELECT NAME FROM TEACHER WHERE DEPART=计算机系;INSERT INTO TEACHER VALUES(20020003,吴珊,女,1976-10-20,助教,计算机系);DELETE FROM TEACHER WHERE NAME=王珊;5.假定使用的“图书”、“读者”、“借阅”和 ZGJK 库的定义如下:图书(总编号,分类号,书名,作者,出版单位,单价)读者(借书证号,单位,姓名,性别,职称,地址)借阅(借书证号,总编号,借书日期)ZGJK(职工号,姓名,性别,出生日期,职称,基本工资)(1)求出“图书”数据库中所有图书的最高价、最低价和平均价。(2)统计出“图书”库中 10 至 20 元之间的图书数量。(3)分组统计出 97 年底以前借阅不低于 3 本图书的借书证号及数量。(4)按单位分组统计出被惜阅图书的数量。1 select MAX(单价)as 最高价,MIN(单价)AS 最低价,AVG(单价)AS 平均价;from 图书 2 Select count(*);from 图书;where 单价 between 10 and 20 3 select 借书证号,count(*);from 借阅;where 借书日期=3 4 select 单位,count(*);from 读者,借阅;where 读者 借书证号=借阅 借书证号;group by 单位 6.设有商店和顾客两个实体,商店有属性商店编号、商店名、地址、电话,顾客有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出 ER 图,并注明属性和联系类型。7。学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)、收费(学年,学号,学费,书费,总金额)。假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用 SQL 语句定义上述表的结构。(定义中应包括主键子句和外键子句)CREATE TABLE 学生(学号 char(20)primary key clustered,姓名 varchar(12)not null,专业 varchar(64),入学日起 datetime)CREATE TABLE 收费(学年 char(12)not null,学号 char(20)not null foreign key REFERENCES 学生(学号),学费 numeric(10,2),书费 numeric(10,2),总经费 numeric(10,2),primary key(学年,学号)四四.综合题(综合题(20 分)分)7.设有关系 R 如下表所示:学号 姓名 年龄 院系 98001 张三 20 计算机系 98005 李四 21 数学系 关系 S 如下表所示:学号 课程名 成绩 98001 数据库 62 98001 数据结构 73 98005 微积分 80 试计算:(1)RS,(2)R S (3)R S R.学号=S.学号 8.已知某大学“学生信息管理系统”数据库有如下关系模式(带下划线的为主键):(1)学院(学院编号,学院名称,院长名称,电话,住址)(2)系(系编号,系名称,系主任,电话,教研室个数,班级个数,学院编号)(3)教研室(教研室编号,教研室名称,教师人数,系编号)(4)教师(教师编号,姓名,性别,职务,教研室编号)(5)班级(班级编号,班级名称,班级人数,班长姓名,专业,系编号)(6)学生(学号,姓名,性别,出生年月,籍贯,班级编号)(7)课程(课程编号,课程名,学时,学分,学期,教师编号,教室)(8)成绩(学号,课程编号,成绩)设计 SQL 语句实现以下功能:(1)修改“学生”表的结构,给“学生”表增加一个“身高”属性。(2)将(“1010501”,“0501”,35,“王冬”,“软件工程”,“101”)记录插入到“班级”表中。(3)将“学生”表中“050501”学号改为“050111”。(4)查看在 10101 教室上课的课程名。(5)查看 0401 班学生数据库原理课程的成绩。2.设有关系 EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系 DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。(1)试用 SQL 语句完成以下查询:列出各部门中工资不低于 600 元的职工的平均工资。(2)写出“查询 001 号职工所在部门名称”的关系代数表达式。(3)请用 SQL 语句将“销售部”的那些工资数额低于 600 的职工的工资上调10%。(4)写出“查询属于财务部的工资在 1000 到 3000 范围内的职工的职工号和姓名”的 SQL 语句。3.假定使用的“图书”、“读者”、“借阅”和 ZGJK 库的定义如下:图书(总编号,分类号,书名,作者,出版单位,单价)读者(借书证号,单位,姓名,性别,职称,地址)借阅(借书证号,总编号,借书日期)ZGJK(职工号,姓名,性别,出生日期,职称,基本工资)(1)求出“图书”数据库中所有图书的最高价、最低价和平均价。(2)统计出“图书”库中 10 至 20 元之间的图书数量。(3)分组统计出 97 年底以前借阅不低于 3 本图书的借书证号及数量。(4)按单位分组统计出被借阅图书的数量。