华南农业大学期末考试试卷(A卷)2005年度第2学期考试科目:数据库原理及应用考试类型:闭卷考试时间:120分钟班级学号姓名题号一二三四五总分得分评阅人一.判断题(每题2分,共20分,对的打“√”,错的打“×”)(×)1.数据是反映客观事物存在方式和运动状态的记录,是信息的载体。(√)2.数据模型是面向数据库全局逻辑结构的描述,它包含以下几个方面的内容:数据表示、数据操作和数据约束条件。(√)3.对于数据库系统中的网状模型,其结构的基本特征包括:允许一个以上的结点无父结点;一个结点可以有多于一个的父结点。(×)4.数据库系统的三级模式结构中,内模式又称为逻辑模式,是数据库中全体数据的逻辑表示。(×)5.在E-R模型中,用E-R图描述实体集、属性和实体集之间的联系。E-R图中用椭圆形框来表示实体集之间的联系。(√)6.在一个关系中,每一横行称为一个元组。(√)7.关系模式对应的是概念模型中的实体型。(×)8.一个关系模式中,可以有多个候选码,由于主码是在候选码中产生的,所以主码也可以有多个。(×)9.关系模型的实体完整性是指关系中的外键必须是另一个关系的主键有效值,或者是Null。(×)10.关系模型的参照完整性是指关系中的主键不能是空值且不能有相同值。(×)11.函数依赖可以根据某一时刻特定的实际值来确定。(√)12.关系模式的分解应该符合“无损连接”和“保持依赖”的原则。(√)13.概念模型到关系模型的转换过程中,一个1:n的联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。(√)14.关系的集合运算中,R∩S=S-(S-R)。(√)15.关系的集合运算中,R∩S=R-(R-S)。(×)16.Access数据库中,用%表示任意一个字符,用_表示任意多个字符。(√)17.建立数据库中的表间关联,要保证建立关联关系的表具有相同的字段,并且每个表都要以该字段建立索引。(×)18.Access数据库中,默认的数字型字段的数据类型为整型。(×)19.由于Access和Excel都是MicrosoftWord的组件,所以任何表格形式的Excel文件都可以导入到Access数据库中作为数据源。(√)20.数据库应用系统的开发过程可以描述为以下几个阶段:系统分析、系统设计、系统实施以及系统维护。二.简答题(每题10分,共40分)1.试描述数据处理过程中,数据管理技术发展的各个阶段的特点。2.常用的支持数据库系统的数据模型有几种,分别叙述每种模型的主要特征。3.简述数据库系统的三级模式结构。4.设有关系R与S:R:ABC234456789S:DE7548计算π3,2(R),σA=D(R×S)答案:π3,2(R):σA=D(R×S):CBABCDE43789756545648985.用实例描述实体集之间的三种联系类型。6.什么是关系模型的完整性约束,关系模型中提供了哪几种完整性约束,分别描述之。7.简述关系模型的主要特点。8.描述概念模型转换为关系模型的规则。三.设计题(每小题10分,共20分)1.请用E-R图描述某个工厂的物资管理的概念模型。物资管理涉及的实体有:仓库,属性有仓库号、仓库面积、电话号码。零件,属性有零件号.名称、规格、单价、描述。供应商,属性有供应商号、姓名、地址、电话号、账号。项目,属性有项目号、预算、开工日期。职工,属性有职工号、姓名、年龄、职称。这些实体之间的联系如下:(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.SELECTDNO,AVG(SALARY)(1分)FROMEMP(1分)WHERESALARY>=600(1分)GROUPBYDNO(2分)(说明:WHERE子句与GROUPBY子句顺序颠倒的,扣1分。)37.38.UPDATEEMPSETSALARY=SALARY*1.1WHEREENOIN(2分)(SELECTENOFROMEMP,DEPTWHEREEMP.DNO=DEPT.DNOANDDNAME=‘销售部’ANDSALARY<600=(3分)39.SELECTENOFROMEMP,DEPT(2分)WHEREEMP.DNO=DEPT.DNOANDDEPT.MANAGER=‘001’(3分)(4)建立一个教职工关系表TEACHER,表中有6个字段:教职工编号NO(字符型),姓名NAME(字符型),性别SEX(字符型),出生日期BIRTHDAY(日期型),职称PROF(字符型),所在系DEPART(字符型),其中NO是关系的码;用SQL语言完成下列功能:①建立教职工关系表TEACHER。②查询计算机系所有教职工的姓名。③添加一个教职工记录,编号为20020003,姓名为吴珊,性别为女,出生日期为1976年10月20号,职称为助教,所在系为计算机系。④逻辑删除王珊老师的记录。①CREATETABLETEACHER(NOCHAR(8)NOTNULLUNIQUE,NAMECHAR(20),SEXCHAR(2),BIRTHDAYDATE,PROFCHAR(8),DEPARTCHAR(20));②SELECTNAMEFROMTEACHERWHEREDEPART=’计算机系’;③INSERTINTOTEACHERVALUES(‘20020003’,‘吴珊’,’女’,1976-10-20,’助教’,’计算机系’);④DELETEFROMTEACHERWHERENAME=’王珊’;5.假定使用的“图书”、“读者”、“借阅”和ZGJK库的定义如下:图书(总编号,分类号,书名,作者,出版单位,单价)读者(借书证号,单位,姓名,性别,职称,地址)借阅(借书证号,总编号,借书日期)ZGJK(职工号,姓名,性别,出生日期,职称,基本工资)(1).求出“图书”数据库中所有图书的最高价、最低价和平均价。(2).统计出“图书”库中10至20元之间的图书数量。(3).分组统计出97年底以前借阅不低于3本图书的借书证号及数量。(4).按单位分组统计出被惜阅图书的数量。1.selectMAX(单价)as最高价,MIN(单价)AS最低价,AVG(单价)AS平均价;from图书2.Selectcount(*);from图书;where单价between10and203.select借书证号,count(*);from借阅;where借书日期{98/01/01};groupby借书证号;havingcount(*)=34.select单位,count(*);from读者,借阅;where读者借书证号=借阅借书证号;groupby单位6.设有商店和顾客两个实体,商店有属性商店编号、商店名、地址、电话,顾客有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出ER图,并注明属性和联系类型。7。学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)、收费(学年,学号,学费,书费,总金额)。假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)CREATETABLE学生(学号char(20)primarykeyclustered,姓名varchar(12)notnull,专业varchar(64),入学日起datetime)CREATETABLE收费(学年char(12)notnull,学号char(20)notnullforeignkeyREFERENCES学生(学号),学费numeric(10,2),书费numeric(10,2),总经费numeric(10,2),primarykey(学年,学号))四.综合题(20分)7.设有关系R如下表所示:学号姓名年龄院系98001张三20计算机系98005李四21数学系关系S如下表所示:学号课程名成绩98001数据库6298001数据结构7398005微积分80试计算:(1)R×S,(2)RS(3)RSR.学号=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).按单位分组统计出被借阅图书的数量。