数据库原理
要求:
一、 独立完成,下面已将五组题目列出,任选一组进行作答,每人只答一组题目,多答无效,100分;
二、答题步骤:
1. 使用A4纸打印学院指定答题纸(答题纸请详见附件);
2. 在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;
三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word
文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
1. 完成的作业应另存为保存类型是“Word97-2003”提交;
2. 上传文件命名为“中心-学号-姓名-科目.doc”;
3. 文件容量大小:不得超过20MB。
提示:未按要求作答题目的作业及雷同作业,成绩以0分记! 题目如下:
第一组:
一、SQL语句编写题(25分,共50分)
(一) 编写SQL语句
设有关系模式:Employees(ssn, name, sex, age, department)
其中:ssn为员工号,name为姓名,sex为性别,age为年龄,department为工作部门。
①用SQL语句的数据定义语句,建立Employees表。其中员工号不能为空且其值是唯一的。
②用SQL语句的插入语句,将一名新员工的员工信息进行记录
(员工号:07216008,姓名:笑笑,性别:女,年龄:24,所在部门:奥鹏天大答案请进:opzy.net或请联系微信:1095258436CS)。
③用SQL语句的修改语句,将员工笑笑的年龄改为26。
④用SQL语句的查询语句,查询全体员工的姓名、性别和所在的部门。
⑤用SQL语句的控制语句,把对Employees表的查询权限授予用户simon。
(二) 编写SQL语句
表1部门表
表2 职员表
1、根据表1和表2,用SQL语句创建雇员表和部门表
假设有雇员关系表格,它的结构如下:
雇员(雇员编号,雇员姓名,年龄,受雇时间,薪水,电话号码,部门编号)。雇员编号为主键,部门编号为外键。
部门(部门编号,部门名称,部门所在地)主键是部门编号
2、请写出下列查询和操作SQL语句。
1)以递增的方式列出职工的部门号码(不重复);
2)查找AGE年龄为35岁的职工全部信息;
3)查询在部门20或者30工作的,工资大于1600,年龄大于35岁的职工信息。
4)计算最高,最低和平均工资;
5)找处职工不足3人的部门及其相应的职工数;
6)将部门号为10部门所有人员工资提高20%;
7)从雇员中找出工资大于平均工资的职工信息;
8)删除在部门10的,工资大于2500的职工信息;
9)从雇员表雇员中选取工资大于150元职工的雇员编号,雇员姓名,工资和部门编号,构成一个雇员工资视图;
10) 查询马克所在部门名称;
二、解答题(25分,共50分)
(一) 解答题
1、设有关系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(R×S)
2、设有两个基本表R(A,B,C)和S(A,B,C)
试用SQL查询语句表达下列关系代数表达式:
(1) R-S(2)πA,B(R) πB,C(S)
(二) 解答题
数据模型分析,关系模型R(U,F)
U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}
(1) 求此模型的最小函数依赖集。
(2) 求出关系模式的候选码。
(3) 此关系模型最高属于哪级范式。
(4) 将此模型按照模式分解的要求分解为3NF。 第二组:
一、SQL语句编写题(25分,共50分)
(一) 编写SQL语句
1. 设有学生选课关系SC(学号,课程号,成绩),试用SQL语句检索
每门课程的最高分。
2. 关系模式如下:
商品P(PNO,PN,COLOR,PRICE) 商店S(SNO;SN,CITY) 销售SP(PNO,SNO,QTY)
分别用关系代数和SQL写出查询语句:查询销售商品”TV”的商店名SN。
SP必须书写在S、P之间
3. 设有关系R和S如下图所示。
试用SQL语句实现:
(1)查询属性C>50时,R中与相关联的属性B之值。
(2)当属性C=40时,将R中与之相关联的属性B值修改为b4。
4. 设有关系R和函数依赖F:
R(W,X,Y,Z),F = { X→Z,WX→Y }。 试求下列问题:
(1)关系R属于第几范式?
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
(二) 编写SQL语句
对于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
试用SQL语句表示:检索Liu同学学的课程号。
二、解答题(25分,共50分)
(一) 解答题
设有如下信息:下列E-R图是反映产品与仓库两实体间联系的信息模型,要求
(1)给出该E-R图的关系数据库模式,并指出相应的关键字。
(2)若仓库号、仓库名及仓库地均为字符型且长度均为10,用SQL语言为仓库关系建立相应的基表并说明实体完整性规则。
(3)将仓库基表的查询权限授予所有用户,收回User3对仓库的查询权限。 (二) 解答题
学生运动会模型:
(1)有若干班级,每个班级包括: 班级号,班级名,专业,人数
(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄
(3)有若干比赛项目,包括:项目号,名称,比赛地点
(4)每名运动员可参加多项比赛,每个项目可有多人参加
(5)要求能够公布每个比赛项目的运动员名次与成绩
(6)要求能够公布各个班级团体总分的名次和成绩
解题要求:
(1)画出每个实体及其属性关系、实体间实体联系的E-R图.
(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。 第三组:
一、 SQL语句编写题(25分,共50分) (一)编写SQL语句
以下各小题题基于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于23岁的男同学的姓名和学号。
2. 试用SQL的查询语句表达下列查询: 检索”王兰”同学不学的课程的课程号。
3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与课程名。
4. 试用SQL更新语句表达以下更新操作: 把低于总平均成绩的女同学成绩提5%。 (二)编写SQL语句
设有如下4个关系模式:
S(SN,SNAME,CITY)
P(PN,PNAME,COLOR,WEIGHT)
J(JN,JNAME,CITY)
SPJ(SN,PN,JN,QTY)
其中:S表示供应商,SN为供应商编码,SNAME为供应商名字,CITY为供应商所在城市;P表示零件,PN为零件编码,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量;J表示工程,JN为工程编码,JNAME为工程名字,CITY为工程所在城市;SPJ表示供应关系,QTY表示提供的零件数量。
写出实现以下各题功能的SQL语句:
(1) 取出所有工程的全部细节。
(2) 取出所在城市为南京的所有工程的全部细节。
(3) 取出为所在城市为上海的工程提供零件的供应商编码。
(4) 取出为所在城市为上海或北京的工程提供红色零件的供应商编码。
(5) 取出供应商与工程所在城市相同的供应商提供的零件编码。
(6) 取出至少由一个和工程不在同一城市的供应商提供零件的工程编码。
(7) 取出上海供应商不提供任何零件的工程编码。
(8) 取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件。
二、 解答题(25分,共50分)
(一)解答题
东方货运公司数据库的样本数据如下。
表名称:卡车
车号 货运站编号 类型 总行程 购入日期
1001 501 1 59002.7 11/06/90
1002 502 2 54523.8 11/08/90
1003 501 2 32116.6 09/29/91
1004 502 2 3256.9 01/14/92
表名称:货运站
货运编号 地址 电话 经理
501 北京市东城区花市大街111号 010—67301234 何东海
502 北京市海淀花园路101号 010—64248892 吴明君
表名称:型号
类型 汽车型号
1 DJS130
2 DLS121
根据数据库的表结构和内容:
a. 指出每个表的主码和外码。如果没有外码,则写“无”。
b. 卡车表存在实体完整性和参照完整性吗?请详细说明。
c 具体说明卡车表与运货站表之间存在着什么关系?
d.卡车表中包含多少个实体? (二)解答题
1.设有关系模型R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE,BC→D,D→E}, 试问R达到第几范式,并说明理由。
2.设有关系R与S
R: A B C
2 3 4
4 5 6
7 8 9 S: D E
7 5
4 8
计算T
3. 设销售数据模型如下:
厂家 S (SNO,SNAME,CITY )
产品 P (PNO,PNAME,COLOR,WEIGHT)
工程 J (JNO,JNAME,CITY)
销售 SPJ (SNO,PNO,JNO,QTY)
用SQL完成查询:与“长风”在同一城市的厂家名。
第四组:
一、 SQL语句编写题(25分,共50分)
(一)编写SQL语句
1.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),
其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。
2. 设某工厂数据库中有两个基本表:
车间基本表:DEPT(DNO,DNAME,MGR_ENO),其属性分别表示车间编号、车间名和车间主任的职工号。
职工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。
建立一个有关女车间主任的职工号和姓名的视图,其结构如下: VIEW6(ENO,ENAME)。试写出创建该视图VIEW6的SQL语句。
3. 设有一个工程供应数据库系统,包括如下四个关系模式:
S(SNO,SNAME, STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商号、供应商名、状态、城市组成; 零件表P 由零件号、零件名、颜色、重量组成; 工程项目表J由项目号、项目名、城市组成;
供应情况表SPJ由供应商号、零件号、项目号、供应数量组成;
(1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;
(2) 用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO;
(3)用SQL查询供应工程J1零件为红色的工程号JNO;
(4)用SQL查询没有使用天津供应商生产的零件的工程号;
(5)用SQL语句将全部红色零件改为蓝色;
(6) 用SQL语句将(S2,P4,J6,400)插入供应情况关系。 (二)编写SQL语句
1. 设有学生选课关系SC(学号,课程号,成绩),试用SQL语句检索
每门课程的最高分。
2. 关系模式如下:
商品P(PNO,PN,COLOR,PRICE) 商店S(SNO;SN,CITY) 销售SP(PNO,SNO,QTY)
分别用关系代数和SQL写出查询语句:查询销售商品”TV”的商店名SN。
SP必须书写在S、P之间
3. 设有关系R和S如下图所示。
试用SQL语句实现:
(1)查询属性C>50时,R中与相关联的属性B之值。
(2)当属性C=40时,将R中与之相关联的属性B值修改为b4。
4. 设有关系R和函数依赖F:
R(W,X,Y,Z),F = { X→Z,WX→Y }。 试求下列问题:
(1)关系R属于第几范式?
(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
二、 解答题(25分,共50分)
(一)解答题
1. 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0。
T1: R:=R+5
T2: R:=R*3
T3: R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
2. 在关系模式R(U,F)中,U=ABCDEF={A→C,AC→B,B→D,C→E,EC→B} 计算(AB)+ 。
3.简述数据库概念模型的主要特点。
4. 简述在SQL中,DELETE语句与DROP TABLE的区别。
DELETE的作用是删除表中的元组,表的模式依然存在,而DROP TABLE 是将表的结构和元组全部删除,表被删除(DROP)后就不再存在了。
(二)解答题
设有如下信息:下列E-R图是反映产品与仓库两实体间联系的信息模型,要求
(1)给出该E-R图的关系数据库模式,并指出相应的关键字。
(2)若仓库号、仓库名及仓库地均为字符型且长度均为10,用SQL语言为仓库关系建立相应的基表并说明实体完整性规则。
(3)将仓库基表的查询权限授予所有用户,收回User3对仓库的查询权限。
第五组:
一、 SQL语句编写题(25分,共50分)
(一)编写SQL语句
对于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
试用SQL语句表示:检索Liu同学学的课程号。
(二)编写SQL语句
设有关系模式:Employees(ssn, name, sex, age, department)
其中:ssn为员工号,name为姓名,sex为性别,age为年龄,department为工作部门。
①用SQL语句的数据定义语句,建立Employees表。其中员工号不能为空且其值是唯一的。
②用SQL语句的插入语句,将一名新员工的员工信息进行记录
(员工号:07216008,姓名:笑笑,性别:女,年龄:24,所在部门:CS)。
③用SQL语句的修改语句,将员工笑笑的年龄改为26。
④用SQL语句的查询语句,查询全体员工的姓名、性别和所在的部门。
⑤用SQL语句的控制语句,把对Employees表的查询权限授予用户simon。
二、 解答题(25分,共50分)
(一)解答题
学生运动会模型:
(1)有若干班级,每个班级包括: 班级号,班级名,专业,人数
(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄
(3)有若干比赛项目,包括:项目号,名称,比赛地点
(4)每名运动员可参加多项比赛,每个项目可有多人参加
(5)要求能够公布每个比赛项目的运动员名次与成绩
(6)要求能够公布各个班级团体总分的名次和成绩
解题要求:
(1)画出每个实体及其属性关系、实体间实体联系的E-R图.
(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每个表的主键和外键。
(二)解答题
1、设有关系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(R×S)
2、设有两个基本表R(A,B,C)和S(A,B,C)
试用SQL查询语句表达下列关系代数表达式:
(2) R-S(2)πA,B(R) πB,C(S