1、数据库原理要求:一、 独立完成,下面已将五组题目列出,请按照学院平台指定的做题组数作答,每人只答一组题目,多答无效,满分100分; 平台查看做题组数操作:学生登录学院平台系统登录学生登录课程考试离线考核离线考核课程查看做题组数,显示的数字为此次离线考核所应做哪一组题的标识;例如:“做题组数”标为1,代表学生应作答“第一组”试题; 二、答题步骤:1. 使用A4纸打印学院指定答题纸(答题纸请详见附件);2. 在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Wor
2、d 文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;1. 上传文件命名为“中心-学号-姓名-科目.doc” 2. 文件容量大小:不得超过20MB。提示:未按要求作答题目的作业及雷同作业,成绩以0分记!题目如下:第一组:一、 SQL语句编写题(每小题25分,共50分)(一)编写SQL语句1.在数据表上机记录中创建一个名为insert_sjkh的insert触发器其作用是:当用户在“上机记录”表中插入记录时,若“上机卡”表中没有该上机号,则提示用户不能插入,否则,提示记录插入成功。(附:上机记录表结构:(上机号char(13),上机日期datetime,开始时间datetime,结
3、束时间datetime,上机状态bit)。上机卡表结构:(上机号char(13),姓名)2.在student数据库中的学生、课程注册、课程表中创建一个带参的存储过程cjcx。其功能是:当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名和课程成绩。然后使用存储过程,查询学生“陈斌”的学号、选修的课程名和课程成绩。(二)编写SQL语句以下给出三个基本表:Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;SC(选课表)的字段按顺序为学号、课程号、成绩。各表的记录如下:1 查询与“刘晨”在同一个系学
4、习的学生的学号、学生姓名。2 将一个新学生记录(03020;陈冬;男;18;IS)插入Student表中。3. 将计算机科学系(CS)全体学生的成绩置零。4. 创建信息系(IS)选修了1号课程的学生的视图IS_S1,字段包括Sno、Sname、Grade。二、 解答题(每小题25分,共50分)(一)解答题学生与教师教学模型1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年龄3)有若干教师,教师包括:编号、姓名、性别、年龄、职称4)开设若干课程,课程包括:课程号、课程名、课时、学分5)一门课程可由多名教师任教,
5、一名教师可任多门课程。6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能选其中一名教师。解题要求:(1)画出每个实体及其属性关系、实体间实体联系的(E-R)图。(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性。(二)解答题有一个应用,包括三个实体集。 实体类型“商店”的属性有:商店编号,店名,店址,店经理。 实体类型“会员”的属性有:会员编号,会员名,地址。 实体类型“职工”的属性有:职工编号,职工名,性别,工资 。 每家商店有若干职工,但每个职工只能服务于一家商店。 每家商店有若干会员,每个会员可以属于多家商店。在联系中应反映出职工参加某商店工作的开始
6、时间,会员的加入时间。 (1)试画出反映商店、职工、会员实体类型及联系类型的ER图; (2)将ER图转换成关系模式,并指出每个表的主键和外键; (3)指出以上关系模式所达到的范式。第二组:一、 SQL语句编写题(每小题25分,共50分)(一)编写SQL语句1.设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。2.设某工厂数据库中有两个基本表:车间基本表:DEPT(DNO,DNAME,MGR_ENO),其属性分别表示车间编号、车间名和车间主任的职工号。
7、职工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。建立一个有关女车间主任的职工号和姓名的视图,其结构如下:VIEW6(ENO,ENAME)。试写出创建该视图VIEW6的SQL语句。3. 设有一个工程供应数据库系统,包括如下四个关系模式:lS(SNO,SNAME,STATUS,CITY);lP(PNO,PNAME,COLOR,WEIGHT);lJ(JNO,JNAME,CITY);lSPJ(SNO,PNO,JNO,QTY);供应商表S由供应商号、供应商名、状态、城市组成;零件表P由零件号、零件名、颜色、重量
8、组成;工程项目表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
9、,PN,COLOR,PRICE)商店S(SNO;SN,CITY)销售SP(PNO,SNO,QTY)分别用关系代数和SQL写出查询语句:查询销售商品TV”的商店名SN。SP必须书写在S、P之间3. 设有关系R和S如下图所示。试用SQL语句实现:(1)查询属性C50时,R中与相关联的属性B之值。(2)当属性C=40时,将R中与之相关联的属性B值修改为b4。4. 设有关系R和函数依赖F:R(W,X,Y,Z),F=XZ,WXY。试求下列问题:(1)关系R属于第几范式?(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。二、 解
10、答题(每小题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=AC,ACB,BD,CE,ECB 计算(AB)+ 。 3.简述数据库概念模型的主要特点。4. 简述在SQL中,DELETE语句与DROP TABLE的区别。 DELETE的作用是删除表中的元组,表的模式依然存在,而DROP TABLE 是将表的结构和元组全部删除,
11、表被删除(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) 试用
12、SQL语句表示:检索Liu同学学的课程号。(二) 编写SQL语句建立一个学生关系表Student,表中有5个字段:学号Sno(字符型)、姓名Sname(字符型)、性别Sex(字符型)、年龄Age(整型)、系别Dept(字符型),其中Sno是关系的码;建立一个学生选课关系表SC,表中有3个字段:学号Sno(字符型)、课程号Cno(字符型)、成绩Grade(数值型),其中Sno、Cno是关系的码,用SQL语言完成下列功能: 建立学生关系表Student和学生选课关系表SC。 查询计算机系(CS)所有同学的姓名和各科成绩。 添加一个学生记录,学号为20020003,姓名为吴刚,性别为男,年龄为19岁
13、,所在系为计算机系。 逻辑删除李江同学的相关记录。二、 解答题(每小题25分,共50分)(一) 解答题学生运动会模型: (1)有若干班级,每个班级包括: 班级号,班级名,专业,人数 (2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年龄 (3)有若干比赛项目,包括:项目号,名称,比赛地点 (4)每名运动员可参加多项比赛,每个项目可有多人参加 (5)要求能够公布每个比赛项目的运动员名次与成绩 (6)要求能够公布各个班级团体总分的名次和成绩 解题要求: (1)画出每个实体及其属性关系、实体间实体联系的E-R图. (2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表
14、的名称和属性.并指出每个表的主键和外键。(二) 解答题根据3NF的定义及规范化方法,对关系模式R(U,F)U=学号,姓名,所在系,系主任,课程号,成绩F=学号姓名,学号所在系,所在系系主任(学号,课程号)成绩进行分解。使其满足3NF。第四组:一、SQL语句编写题(每小题25分,共50分)(一) 编写SQL语句设有关系模式:Employees(ssn, name, sex, age, department)其中:ssn为员工号,name为姓名,sex为性别,age为年龄,department为工作部门。用SQL语句的数据定义语句,建立Employees表。其中员工号不能为空且其值是唯一的。用SQ
15、L语句的插入语句,将一名新员工的员工信息进行记录(员工号:07216008,姓名:笑笑,性别:女,年龄:24,所在部门:CS)。用SQL语句的修改语句,将员工笑笑的年龄改为26。用SQL语句的查询语句,查询全体员工的姓名、性别和所在的部门。用SQL语句的控制语句,把对Employees表的查询权限授予用户simon。(二) 编写SQL语句表1部门表表2 职员表1、根据表1和表2,用SQL语句创建雇员表和部门表假设有雇员关系表格,它的结构如下:雇员(雇员编号,雇员姓名,年龄,受雇时间,薪水,电话号码,部门编号)。雇员编号为主键,部门编号为外键。部门(部门编号,部门名称,部门所在地)主键是部门编号
16、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
17、、设有关系R与S R: A B C2 3 44 5 67 8 9 S: D E7 54 8计算 3,2(R), A=D(RS) 2、设有两个基本表R(A,B,C)和S(A,B,C) 试用SQL查询语句表达下列关系代数表达式:(1) RS(2)A,B(R)B,C(S) (二) 解答题数据模型分析,关系模型R(U,F)U=ABCDEG,F=ADE,ACE,CBG,BCDAG,BDA,ABG,AC(1) 求此模型的最小函数依赖集。(2) 求出关系模式的候选码。(3) 此关系模型最高属于哪级范式。(4) 将此模型按照模式分解的要求分解为3NF。 第五组:一、SQL语句编写题(每小题25分,共50分)(
18、一) 编写SQL语句以下各小题题基于教学数据库的三个基本表 学生 S(S#,SNAME,AGE,SEX) 学习 SC(S#,C#,GRADE) 课程 C(C#,CNAME,TEACHER) 1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于23岁的男2. 试用SQL的查询语句表达下列查询: 检索王兰同学不学的课程的课程号。 3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与课程名。4. 试用SQL更新语句表达以下更新操作: 把低于总平均成绩的女同学成绩提5%。(二) 编写SQL语句1.在数据表上机记录中创建一个名为insert_sjkh的insert触
19、发器其作用是:当用户在“上机记录”表中插入记录时,若“上机卡”表中没有该上机号,则提示用户不能插入,否则,提示记录插入成功。(附:上机记录表结构:(上机号char(13),上机日期datetime,开始时间datetime,结束时间datetime,上机状态bit)。上机卡表结构:(上机号char(13),姓名)2.在student数据库中的学生、课程注册、课程表中创建一个带参的存储过程cjcx。其功能是:当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名和课程成绩。然后使用存储过程,查询学生“陈斌”的学号、选修的课程名和课程成绩。二、解答题(每小题25分,共50分)(一) 解答题东方
20、货运公司数据库的样本数据如下。表名称:卡车车号货运站编号类型总行程购入日期1001 501 1 59002.7 11/06/901002 502 2 54523.8 11/08/901003 503 2 32116.6 09/29/911004 504 2 3256.9 01/14/92表名称:货运站货运编号地址电话经理 501北京市东城区花市大街111号01067301234何东海 502北京市海淀花园路101号01064248892吴明君表名称:型号类型汽车型号1DJS1302DLS121根据数据库的表结构和内容:a. 指出每个表的主码和外码。如果没有外码,则写“无”。b. 卡车表存在实体
21、完整性和参照完整性吗?请详细说明。c 具体说明卡车表与运货站表之间存在着什么关系?d.卡车表中包含多少个实体?(二) 解答题学生与教师教学模型1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年龄3)有若干教师,教师包括:编号、姓名、性别、年龄、职称4)开设若干课程,课程包括:课程号、课程名、课时、学分5)一门课程可由多名教师任教,一名教师可任多门课程。6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能选其中一名教师。解题要求:(1)画出每个实体及其属性关系、实体间实体联系的(E-R)图。(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性。