ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库原理

2020-12-08 18:33:32  阅读:440  来源: 互联网

标签:语句 关系 零件 数据库 课程 姓名 SQL 原理


第一组:

一、 SQL 语句编写题

(一)  编写 SQL 语句

对于教学数据库的三个基本表

学生 S(S#,SNAME,AGE,SEX)

学习 SC(S#,C#,GRADE)

课程 C(C#,CNAME,TEACHER)

试用 SQL 语句表示:检索 Liu 同学学的课程号。

(二)  编写 SQL 语句

建立一个学生关系表 Student,表中有 5 个字段:学号 Sno(字符型)、姓名 Sname(字符型)、

性别 Sex(字符型)、年龄 Age(整型)、系别 Dept(字符型),其中 Sno 是关系的码;建立

一个学生选课关系表 SC,表中有 3 个字段:学号 Sno(字符型)、课程号 Cno(字符型)、成

绩 Grade(数值型),其中 Sno、Cno 是关系的码,用 SQL 语言完成下列功能:

① 建立学生关系表 Student 和学生选课关系表 SC。

② 查询计算机系(’CS’)所有同学的姓名和各科成绩。

③ 添加一个学生记录,学号为 20020003,姓名为吴刚,性别为男,年龄为 19 岁,所

在系为计算机系。

④ 逻辑删除李江同学的相关记录。

二、 解答题

(一) 解答题

学生运动会模型:

(1)有若干班级,每个班级包括: 班级号,班级名,专业,人数

(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号,姓名,性别,年

(3)有若干比赛项目,包括:项目号,名称,比赛地点

(4)每名运动员可参加多项比赛,每个项目可有多人参加

(5)要求能够公布每个比赛项目的运动员名次与成绩

(6)要求能够公布各个班级团体总分的名次和成绩

解题要求:

(1)画出每个实体及其属性关系、实体间实体联系的 E-R 图.

(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性.并指出每

个表的主键和外键。

(二) 解答题

根据 3NF 的定义及规范化方法,对关系模式

U={学号,姓名,所在系,系主任,课程号,成绩

F={学号→姓名,学号→所在系,所在系→系主任(学号,课程号)→成绩

使其满足 3NF。

第二组:

一、 SQL 语句编写题

(一)编写 SQL 语句

1.设有职工基本表:EMP(ENO

其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于

200 元,试写出这个操作的

2. 设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME

的职工号。

人数) 主键:班级号

,年龄,班级号) 主键:运动员号外键:班级号

比赛地点) 主键:项目号

,名次,得分) 主键:运动员号,项目号外键:运动员号;项目号

的定义及规范化方法,对关系模式 R(U,F)

学号,姓名,所在系,系主任,课程号,成绩}

学号→姓名,学号→所在系,所在系→系主任(学号,课程号)→成绩

的关系模式,要求不存在非码属性对码的部分依赖和传递依赖。

)中存在姓名、学号对码(学号,课程号)的部分依赖,存在系主

)分解为如下三个关系模式: {学号,姓名,所在系} {所在系,系主任

三个关系模式中,不存在非码属性对码的部分依赖和传递依赖。

ENO,ENAME,AGE,SEX,SALARY),

其属性分别表示职工号、姓名、年龄、性别、工资。为每个工资低于 1000

元,试写出这个操作的 SQL 语句。

WHERE SALARY<1000 AND SEX='女';

设某工厂数据库中有两个基本表:

DNAME,MGR_ENO),其属性分别表示车间编号、车间名和车间主任

项目号外键:运动员号;项目号

学号→姓名,学号→所在系,所在系→系主任(学号,课程号)→成绩}进行分解。

)中存在姓名、学号对码(学号,课程号)的部分依赖,存在系主

所在系,系主任} {学

1000 元的女职工加薪

),其属性分别表示车间编号、车间名和车间主任

职工基本表: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。

要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。

二、 解答题

(一)解答题

1. 设 T 1 ,T 2 ,T 3 是如下三个事务,其中 R 为数据库中某个数据项,设 R 的初值为 0。

T 1 : R:=R+5

T 2 : R:=R*3

T 3 : R:=2

若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行

调度的不一致问题?

3. 在关系模式 R(U,F)中,U=ABCDEF={A→C,AC→B,B→D,C→E,EC→B} 计算(AB)

+ 。

4. 简述数据库概念模型的主要特点。

5. 简述在 SQL 中,DELETE 语句与 DROP TABLE 的区别。

(二)解答题

设有如下信息:下列 E-R 图是反映产品与仓库两实体间联系的信息模型,要求

(1)给出该 E-R 图的关系数据库模式,并指出相应的关键字。

(2)若仓库号、仓库名及仓库地均为字符型且长度均为 10,用 SQL 语言为仓库关系建立相

应的基表并说明实体完整性规则。

(3)将仓库基表的查询权限授予所有用户,收回 User3 对仓库的查询权限。

第三组:

一、 SQL 语句编写题

(一)编写 SQL 语句

1.在数据表上机记录中创建一个名为 insert_sjkh 的 insert 触发器其作用是:当用户在“上

机记录”表中插入记录时,若“上机卡”表中没有该上机号,则提示用户不能插入,否则,

提示记录插入成功。(附:上机记录表结构:(上机号 char(13),上机日期 datetime,开始时

间 datetime,结束时间 datetime,上机状态 bit)。上机卡表结构:(上机号 char(13),姓名)

2.在 student 数据库中的学生、课程注册、课程表中创建一个带参的存储过程 cjcx。其功

能是:当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名和课程成绩。然后

使用存储过程,查询学生“陈斌”的学号、选修的课程名和课程成绩。

(二)编写 SQL 语句

以下给出三个基本表:

Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;

Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;

SC(选课表)的字段按顺序为学号、课程号、成绩。

各表的记录如下:

1. 查询与“刘晨”在同一个系学习的学生的学号、学生姓名。

2. 将一个新学生记录(03020;陈冬;男;18;IS)插入 Student 表中。

3. 将计算机科学系(CS)全体学生的成绩置零。

4. 创建信息系(IS)选修了 1 号课程的学生的视图 IS_S1,字段包括 Sno、Sname、Grade。

二、 解答题

(一)解答题

学生与教师教学模型

1)有若干班级,每个班级包括:班级号、班级名、专业、人数、教室

2)每个班级有若干学生,学生只能属于一个班,学生包括:学号、姓名、性别、年

3)有若干教师,教师包括:编号、姓名、性别、年龄、职称

4)开设若干课程,课程包括:课程号、课程名、课时、学分

5)一门课程可由多名教师任教,一名教师可任多门课程。

6)一门课程有多名学生选修,每名学生可选多门课,但选同一门课时,只能选其中

一名教师。

解题要求:

(1)画出每个实体及其属性关系、实体间实体联系的(E-R)图。

(2)根据试题中的处理要求:完成数据库逻辑模型,包括各个表的名称和属性。

(二)解答题

有一个应用,包括三个实体集。

址,店经理。 实体类型

工”的属性有:职工编号,职工名,性别,工资

工只能服务于一家商店。

系中应反映出职工参加某商店工作的开始时间,会员的加入时间。

(1)试画出反映商店、职工、会员实体类型及联系类型的

(2)将 ER 图转换成关系模式,并指出每个表的主键和外键;

(3)指出以上关系模式所达到的范式。

第四组:

一、 SQL 语句编写题

(一)编写 SQL 语句

以下各小题题基于教学数据库的三个基本表

学生 S(S#,SNAME,AGE,SEX)

学习 SC(S#,C#,GRADE)

课程 C(C#,CNAME,TEACHER)

1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于

2. 试用 SQL 的查询语句表达下列查询

3. 试用 SQL 的查询语句表达下列查询

4. 试用 SQL 更新语句表达以下更新操作:

(二)编写 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 个城市的

工程提供零件。

二、 解答题

(一)解答题

东方货运公司数据库的样本数据如下。

表名称:卡车

车号  货运站编号 类型  总行程  购入日期

1001  501  1  59002.7  11/06/90

1002  502  2  54523.8  11/08/90

1003  503  2  32116.6  09/29/91

1004  504  2  3256.9  01/14/92

表名称:货运站

货运编号  地址  电话  经理

501  北京市东城区花市大街

111 号

010—67301234  何东海

502  北京市海淀花园路 101

010—64248892  吴明君

表名称:型号

类型  汽车型号

1  DJS130

2  DLS121

根据数据库的表结构和内容:

a. 指出每个表的主码和外码。如果没有外码,则写“无”。

b. 卡车表存在实体完整性和参照完整性吗?请详细说明。

c 具体说明卡车表与运货站表之间存在着什么关系?

d.卡车表中包含多少个实体?

2.设有关系 R 与 S

R: A B C

2 3 4

4 5 6

7 8 9

S:

D E

7 5

4 8

计算 T

第五组:

一、 SQL 语句编写题

(一)编写 SQL 语句

建立一个学生关系表 Student,表中有 5 个字段:学号 Sno(字符型)、姓名 Sname(字符型)、

性别 Sex(字符型)、年龄 Age(整型)、系别 Dept(字符型),其中 Sno 是关系的码;建立

一个学生选课关系表 SC,表中有 3 个字段:学号 Sno(字符型)、课程号 Cno(字符型)、成

绩 Grade(数值型),其中 Sno、Cno 是关系的码,用 SQL 语言完成下列功能:

① 建立学生关系表 Student 和学生选课关系表 SC。

② 查询计算机系(’CS’)所有同学的姓名和各科成绩。

③ 添加一个学生记录,学号为 20020003,姓名为吴刚,性别为男,年龄为 19 岁,所

在系为计算机系。

④ 逻辑删除李江同学的相关记录。

(二)编写 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)  查询马克所在部门名称;

二、 解答题

(一)解答题

根据 3NF 的定义及规范化方法,对关系模式 R(U,F)

U={学号,姓名,所在系,系主任,课程号,成绩}

F={学号→姓名,学号→所在系,所在系→系主任(学号,课程号)→成绩}进行分解。

使其满足 3NF。

(二)解答题

数据模型分析,关系模型 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,原理
来源: https://www.cnblogs.com/xnjy/p/14104849.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有