第1章数据库系统概述一、填空题1.并发控制,数据库的恢复,数据的完整性,数据安全性。2.关系数据二、选择题1.C2.C3.B4.C5.C6.B.三、名词解释1.数据库(DB)包见书2.数据库管理系统(DBMS)3.数据库系统(DBS)DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。DBMS——是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBS——是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。四、简答题1.什么是数据管理?其主要是目的是什么?见P2;目的:主要目的是提高数据处理效率。2.简述DBS中数据由DBMS统一管理和控制包括哪几个方面?见P8.第2章数据模型一、填空题1.关系型数据模型。2.概念数据模型,逻辑数据模型3.域完整性约束_,实体完整性,参照完整性4.树,图,表,对象二、选择题1.D2.B3.C4.A5.A6.D7.D三、名词解释1.关系(见书)2.键四、简答题1.什么叫数据与程序的物理独立性和逻辑独立性,为什么数据库系统具有数据与程序的独立性。见P72.关系的性质有哪些?见P25答:①、关系中每一个属性值都是不可分解的;②、关系中不允许出现重复元组;③、由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;④、元组的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。五、应用题1.学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,并参加多项项目,一个项目有多人合作,且责任轻重有个排名,项目有项目号、名称和负责人;学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。要求:设计此学校的教学管理的E-R模型。第3章数据库系统的体系结构一、填空题1.维护数据库程序组2.DBA3.DBMS4.数据5.模式(概念模式)6.内模式(存储模式)7.外模式(子模式)8.外模式/模式,模式/内模式二、选择题1.A2.B3.B4.B5.A6.D三、简答题1.试述DBS的三级模式结构,这种结构的优点是什么。答:外模式:是模式的子集,用户观念下局部数据结构的逻辑和特征的描述。模式:对数据库中全体数据的逻辑结构和特征的描述。内模式:是对数据物理结构和存储方式的描述。三层模式结合两级映象实现了数据库系统中的数据具有较高的逻辑独立性和物理独立性。2.简述数据库系统的组成答人员,硬件,软件和数据库。人员包括DBA,系统分析员和数据库设计员,应用程序员,终端用户。硬件主要包括大容量磁盘、足够大内存,系统运行能力较强的计算机。软件主要包括DBMS,OS,具有与数据库接口的高级语言及其编译系统,应用系统,DBMS应用开发工具3.简述DBMS的主要功能。(见书)第4章关系数据库方法一、填空题1.笛卡尔积,投影,选择2.实体3.域4.参照表,依赖表(被参照表)5.参照二、选择题1.A2.B3.B4.B5.C6.B7.C三、简答题1.什么是候选键?什么是主键?什么是外键?答:能唯一标识实体的属性或属性组称为超键,其任意真子集都不能成为超键的最小超键称为候选键;从所有候选键中选定一个用来区别同一实体集中的不同实体,称作主键。外键是若一个关系R中包含有另一个关系S的主键所对应的属性集F,则称F为R的外键。2.简述关系模型的完整性规则,在参照完整性规则中,为什么外键属性也可以为空?什么情况下才可以为空?外键并非是参照关系的键,因而可以为空,表示该值还没有确定。当外键是参照关系的非主属性时,则可以为空。3.解释自然连接的具体过程(P66)四、应用题1.对于学生选课关系式,其关系模式为:学生(学号,姓名,年龄,所在系)课程(课程号,课程名,先行课)选课(学号,课程号,成绩)用关系代数完成如下查询:1)求学过数据库课程的学生的姓名和学号Π学号,姓名(σ课程名=“数据库”(课程∞选课∞学生))2)求学过数据库和数据结构的学生姓名和学号Π学号,姓名(σ课程名=“数据库”Λ课程名=“数据结构”(课程∞选课∞学生))3)求没学过数据库课程的学生学号Π学号(选课)-Π学号(σ课程名=“数据库”(课程∞选课))4)求学过数据库先行课的学生学号Π学号(σ课程名=“数据库”(课程)∞选课)3=22.设有一个设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);//供应数量(QTY)试用关系代数,元组关系演算完成如下查询:(1)求供应工程J1零件P1的供应商号码SNO;(2)求供应工程J1零件为红色的供应商号码SNO;(3)求至少用了供应商S1所供应的全部零件的工程号JNO。附:写出相应的SQL语句。答:(1)关系代数:'1'SNOJNOJSPJ(2)关系代数:PSPJCOLORPNOJJNOSNO'''1'红(3)关系代数:SPJSPJSSNOPNOPNOJNO'1',)(第5章关系数据库的结构化查询语言一、填空题1.StructuredQueryLanguage,DBMS2.关系(比较)二、选择题1.C2.C3.B4.C.5.A.6.B7.B三、简答题1.什么是视图?它的作用是什么?2.Having条件和Where条件的应用范围有什么不同?(1)Having条件是对分组(Groupby)的结果的选择,而Where条件是对整个关系的元组选择。(2)Having条件在分组后执行,而Where条件在分组前执行。(3)Having的条件中可以使用聚合函数,而Where的条件中不能使用。3.设有关系R和S,其中R为参照关系,S为信赖关系。为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?Restrict:不允许删除Cascade:连带删除Setnull:设为空值四、应用题1.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列1—4小题:(1).检索“国际贸易”专业获得奖学金的学生信息,包括学号、姓名、课程名和分数;Π学号,姓名,课程名,分数(σ专业=“国际贸易”Λ奖学金0(学生)∞课程∞学习)(2).检索学生成绩得过满分(100分)的课程的课程号、名称和学分;Π课程号,课程名,学分(σ分数=100(学习)∞课程)(3).检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;Π学号,姓名,专业(σ分数=95Λ奖学金=0(学生)∞学习)(4).检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;Π学号,姓名,专业(学生)-Π学号,姓名,专业(σ分数80(学生)∞学习)用SQL语言实现下列5—8小题:(5).检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;Select学生.学号,姓名,专业from学生,学习where学生.学号=学习.学号and学生.奖学金=0and学习.分数95(6).检索没有任何一门课程在80分以下的所有学生的信息,包括学号、姓名和专业;Select学生.学号,姓名,专业from学生where学生.学号notin(selectdistinct学号from学习where分数80)Select学生.学号,姓名,专业from学生where学生.学号in(selectdistinct学号from学习groupby学号havingmin(分数)=80)(7).对成绩得过满分的学生,如果没有获得奖学金的,将其奖学金设为1000元;UpdateSset奖学金=1000where奖学金=0and学号in(selectdistinct学号from学习where分数=100)(8).定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;CreateViewAAAasselectdistinct课程号,名称,学分from课程,学习where课程.课程号=学习.课程号and分数=1002.设有关系数据库:职工关系EMPLOYEE(职工号,职工名,街道,城市)工作关系WORKS(职工号,公司号,工资)公司关系COMPANY(公司号,公司名,城市)SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5﹪。UpdateWorksset工资=工资+工资*5/100where公司号in(select公司号fromCompanywhere公司名=“联华公司”)3.图书出版管理数据库中有两个基本表:图书(书号,书名,作者编号,出版社,出版日期)作者(作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。Select图书.作者名,书名,出版社from图书,作者where图书.作者编号=作者.作者编号Groupby年龄having年龄Avg(年龄)4.设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。试画出ER图,并注明属性和联系类型。5.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)收费(学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)6.设有两个关系R(A,B,C)和S(C,D,E),试用SQL查询语句表达下列关系代数表达式πA,E(σB=D(R∞S))。SelectA,EfromR,SwhereR.B=S.DandR.C=S.C第6章关系模式的规范化理论一、填空题1.更新复杂2.3NF3.自反。4.完全函数5.主属性集6.主属性,非主属性7.F+=G+二、选择题1.B2.B3.C.4.A5.B6.B7.C8.C三、选择题1.D2.C3.D4.B5.D6.A7.B8.B9.D10.B11.D12.B13.C14.B15.D16.B17.B18.B19.D20.D21.A22.D四、名词释义,简要说明它们满足的FD条件。1.2NF2.3NF3.BCNF1NF——关系模式的每一个关系的属性值都是不可分的原子值。2NF——关系模式是1NF,且每一个非主属性都完全函数依赖于候选键。3NF——关系模式是2NF,且每一个非主属性都不传递依赖于候选键。BCNF——关系模式是3NF,且每一个属性都不传递依赖于候选键。五、应用题1.现有如下关系模式:R(A#,B#,C,D,E)其中:A#B#组合为码R上存在的函数依赖有A#B#→E,B#→C,C→D(1).该关系模式满足2NF吗?为什么?不满足,因为存在非主属性对关键字(A#,B#)的部分函数依赖:B#→C(2).如果将关系模式R分解为:R1(A#,B#,E)R2(B#,C,D)指出关系模式R2的码,说明其最高满足第几范式?(在1NF~BCNF之内)。2NF,但不是3NF,因为存在非主属性对关键字(A#,B#)的传递函数依赖:B#→D(3).将关系模式R分解到BCNF。R1(A#,B#,E)R2(B#,C)R2(C,D)(