文档库 最新最全的文档下载
当前位置:文档库 › 数据库原理与应用试题--含答案.

数据库原理与应用试题--含答案.

一、判断题

[数据库系统概论]2

(F)与用文件系统来管理数据相比,用数据库管理数据增加了数据冗余度。

(F)一个信息只能用一种数据形式来表示。

(F)数据库系统是数据库管理系统的重要组成部分。

(F)数据库的三级模式是概念模型、逻辑模型和物理模型。

(F)E-R模型只能转换为关系模型,不能转换为层次模型和网状模型。

(F)如果一个实体A对应多个实体B,则A与B之间必然是一对多的联系。

[关系型数据库基本原理]2

(F)一个关系的主键只能包含一个属性。

(F)在实体-联系模型中,实体具有属性,联系不能具有属性。

(F)关系运算中,选择运算是从列的角度进行的运算,投影运算是从行的角度进行的运算。

(F)在一个关系模式中,如果A->B,B->C,则称C部分依赖于A。

(F)E-R图转换为关系模型时,实体可转换为关系模式,联系不能转换为关系模式。

(F)E-R图转换为关系模式时,所有的联系都必须转换为独立的关系模式。

[数据库的管理]1

(F)数据库的文件包括数据文件、事务日志文件和索引文件。

(F)数据库的一个数据文件可以属于多个文件组。

(F)在SQL Server中,数据库的主数据文件的扩展名是ldf。

[表的管理]2

(F)创建一个表时,对于表的每一列,必须指明数据类型和长度,例如“生日datetime(8)”。(T)在SQL Server中,nchar数据类型与nvarchar数据类型的区别是,前者是固定长度的,后者是可变长度的。

(T)在SQL Server中,存储逻辑型数据值的数据类型是bit.

(F)SQL中的数据定义语言(DDL)用于实现数据增、删、改、查等数据操作。

(F)对于逻辑型的属性,赋值是只能写“YES”或“NO”。

(T)在SQL语句中,对一个字符型的属性赋值,应该两边用单引号将值包括起来。

[数据查询]1

(F)关系型数据库的连接查询有内连接和外连接之分,内连接只能实现两个表的查询,外连接可以实现多个表的查询。

(F)在SELECT语句的WHERE子句部分,不能再使用SELECT语句。

(T)在进行分组统计时,如果需要对分组进行筛选,应使用HAVING语句而不是WHERE语句。[索引与视图]2

(F)为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。

(F)聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。

(T)主键索引必然是唯一索引。

(F)视图一旦创建,就存储了数据。

(F)视图只能用来查看数据,不能在视图上进行数据更新。

(F)视图只能用来查看一个基本表的数据,相当于在一个基本表上的投影与选择。

[数据完整性]1

(F)数据完整性有3种类型:实体完整性、参照完整性、更新完整性。

(F)外键约束定义了表与表之间的关系,用于保证实体完整性。

(F)检查约束和默认约束都用于保证数据的实体完整性。

[存储过程和触发器]2

(T)存储过程可以带参数,从而增加调用灵活性。

(F)SQL SERVER中的所有存储过程都必须由用户自定义,系统本身没有定义好的存储过程。

(F)存储过程一旦创建,其脚本就被加密,不能再次编辑修改。

(F)触发器被定义以后,只有当用户调用它时才触发,用户不调用时触发器不起作用。(F)可以根据完整性的需要,对某一个表定义SELECT触发器。

(F)事务的原子性是指事务中的每一个操作彼此是独立的。

[数据的安全管理]1

(T)SQL Server身份验证有两种模式:Windows身份验证模式和混合身份验证模式。

(F)凡可以登录到SQL Server上的用户,都可以打开任意数据库,并读取数据库中的表。

(F)如果一个用户能读取某数据库的某表的数据,则该用户必然能对该表的数据进行修改。[数据库的备份与还原]1

(T)SQL Server数据库中的数据,可以导入到一个Excel文件中。

(T)SQL Server支持完全备份、事务日志备份、差异备份。

(F)在SQL Server上进行数据库分离,意味着删除数据文件。

二、选择题(30分,单项选择,共15题,每题2分)

[数据库系统概论]2

E-R图用于描述数据库的(A)。

A.概念模型 B. 物理模型

C.存储模型 D. 逻辑模型

ER图中的主要元素是(B)。

A.结点、记录和文件 B. 实体、联系和属性

C.记录、文件和表 D. 记录、表、属性

以下(A)组术语属于概念模型的范畴。

A. 实体和联系

B. 文件和文件组

C. 索引和视图

D. 存储过程与触发器

数据库物理存储方式的描述称为(B)。

A.外模式

B.内模式

C.概念模式

D.逻辑模式

数据库三级模式间引入二级映射的主要作用是(A)。

A. 提高数据与程序的独立性

B. 提高数据与程序的安全性

C. 保持数据与程序的一致性

D. 提高数据与程序的可移植性

在DBS、DBMS、DB三者的关系是(A)。

A. DBS包括DBMS和DB

B. DBMS包括DBS和DB

C. DB包括DBS和DBMS

D. 三者的包含关系在不同的场合下会发生改变

[关系型数据库基本原理]2

A∩B可等价替换为(A)。

A. A-(A-B)

B. AU(A-B)

C. A-(B-A)

D. B-(A-B)

有关系:教师(编号,姓名,生日,职称),从关系中查询所有教授的情况应使用(B)关系运算。

A.投影 B. 选择

C. 连接

D. 笛卡儿积

有关系:教师(编号,姓名,生日,职称),从关系中查询所有教师的姓名和生日应使用(A)关系运算。

A.投影 B. 选择

C. 连接

D. 笛卡儿积

有关系:销售(商品号,推销员编号,销售日期,客户名),那么,该关系的主键是(D)。

A.商品号 B. 商品号,推销员编号

C. (商品号,推销员编号,销售日期)

D. (商品号,推销员编号,销售日期,客户名) 有关系:教学(学号、教工号、课程号),每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程可以由多个老师来讲授,那么该关系的主键是(C)。

A. 课程号

B. 教工号

C. (学号,教工号,课程号)

D. (学号,教工号)

有关系:教学(学号、班级号、班主任,班主任联系电话),一个学生只能属于一个班级,一个班级只有一个班主任,一个班主任只有一个联系电话,那么该关系的主键是﹝A﹞。

A. 学号

B. 班级号

C. (学号,班级号)

D. (学号,班级号,班主任)

[数据库管理]1

下面(A)不是SQL Server 2005的数据库对象。

A. SQL语句

B. 存储过程

C. 索引

D. 触发器

SQL Server的物理存储主要包括两类文件,它们是(B)。

A. 图片文件和文本文件

B. 数据文件和事务日志文件

C. 函数文件和数据文件

D. 源文件和可执行文件

SQL Server事务日志文件的扩展名为(C)。

A. mdf

B. ndf

C. ldf

D. idx

[表的管理]1

如果表S(A,B,C)中,设置A为主键,当向S表插入一行新数据时,该行(D)。

A. A,B,C属性的值都可以与已有的行相同

B. A,B,C属性的值都不能与已有的行相同

C. A属性的值不能与已有的行相同,但允许为空

D. A属性的值不能与已有的行相同,也不能为空

在SQL Server的以下数据类型中,最适合表示一个人的体重(公斤,保留一位小数)的是(D)。

A. char

B. float

C. tinyint

D. decimal

对于数据库中的表A,如果想要清空A中的数据且不留下事务日志,应使用(D)。

A. DELETE TABLE A

B. DROP TABLE A

C. ALTER TABLE A

D. TRUNCATE TABLE A

[数据查询]3

对R和S进行连接查询时,如果想在显示中保留R的所有行应该使用(C)。

A.R全外连接S B. R内连接S

C.R左外连接S D. 右外连接S

对R和S进行连接查询时,如果想在显示中保留S的所有行应该使用(D)。

A. R全外连接S

B. R内连接S

C.R左外连接S

D. R右外连接S

对R和S进行连接查询时,如果想在显示中保留R和S的所有行应该使用(A)。

A. R全外连接S

B. R内连接S

C. R左外连接S

D. 右外连接S

已知关系:学生﹝学号,姓名,年龄﹞,如果按年龄降序列出所有学生,并且相同年龄的学生按姓名升序排列。则排序子句应该是﹝B﹞。

A. Order By 年龄,姓名

B. Order By 年龄 Desc,姓名

C. Order By 姓名,年龄 Desc

D. B项与C项都正确

已知关系:员工﹝工号,入职日期,部门﹞,如果按部门降序列出所有员工,并且相同部门的员工按入职日期升序排列,则排序子句应该是﹝C﹞。

A. Order By 部门,入职日期

B. Order By 入职日期,部门 DESC

C. Order By 部门 DESC,入职日期

D. B项与C项都正确

已知关系:课程﹝编号,学分,开课学期,如果按开课学期升序排列,同一学期的按学分降序排列,则排序子句应该是﹝C﹞。

A. Order By 学分,开课学期

B. Order By 开课学期,学分

C. Order By 开课学期,学分 DESC

D. Order By 开课学期,学分 ASC

对工资表(员工号,姓名,部门号,月薪)进行查询,列出属于D01号部门,且工资高于所有D02号部门员工工资的员工信息,查询语句的WHERE子句应使用(B)。

A.部门号=‘D01’ AND 月薪>ANY (SELECT 月薪 FROM 员工表WHERE 部门号='D02')

B.部门号=‘D01’ AND 月薪>ALL (SELECT 月薪 FROM 员工表WHERE 部门号='D02')

C.部门号=‘D01’ AND 月薪>(SELECT 月薪 FROM 员工表WHERE 部门号='D02')

D.部门号=‘D01’ or 月薪>ALL(SELECT 月薪 FROM 员工表WHERE 部门号='D02') 对工资表(员工号,姓名,部门号,月薪)进行查询,分部门统计人数和平均工资,查询语句应使用( D)。

A. SELECT 部门号,Count(*),AVG(月薪) FROM 工资表 GROUP BY 月薪

B. SELECT 姓名,Count(*),AVG(月薪) FROM 工资表 GROUP BY 部门号

C. SELECT 部门号,Count(月薪),AVG(*) FROM 工资表 GROUP BY 部门号

D. SELECT 部门号,Count(月薪),AVG(月薪) FROM 工资表 GROUP BY 部门号

对学生表(学号,姓名,性别,身高)进行统计,分性别统计人数和平均身高,查询语句应使用(D)。

A.SELECT 性别,Count(*),AVG(身高) FROM 学生表 GROUP BY 身高

B.SELECT 姓名,Count(*),AVG(身高) FROM 学生表 GROUP BY 性别

C.SELECT 性别,Count(身高),AVG(*) FROM 学生表 GROUP BY 性别

D.SELECT 性别,Count(*),AVG(身高) FROM 学生表 GROUP BY 性别

[索引与视图]2

建立索引的主要目的是(B)。

A. 节省存储空间

B. 提高检索速度

C.提高检索和更新速度 C. 增强数据安全性

对于索引,以下说法正确的是(C)。

A. 一个数据表只能有一个索引

B.一个数据表只能有一个唯一索引

C.一个数据表只能有一个聚集索引 D.一个数据标只能有一个非聚集索引

Create Unique Nonclustered Index writer_index On 作者信息(作者编号)语句执行后,在作者信息表上创建了一个﹝D﹞索引。

A.惟一聚集索引

B.聚集索引

C.主键索引

D.惟一非聚集索引

对于视图,以下正确的说法是(A)。

A.视图显示的数据可以取自于多个基础表。

B.视图并不存储数据,每次查看视图时,视图中的数据来源于基础表

C.可以基于一个视图,一次性地更改多个基础表的数据

D.视图存在于内存中,每次重新启动DBMS时,视图便会自动消失。

删除视图用下面哪条语句(A)。

A.DROP VIEW B. DELETE VIEW

C. REMOVE VIEW

D. RM VIEW

对所有的视图都可以进行(B)操作。

A.插入数据 B. 选择数据

C. 更新数据

D. 删除数据

[数据完整性]1

在关系型数据库中,用于实现参照完整性的办法是(D)。

A.设置默认值 B. 设置检查约束

C. 设置外键约束

D. 设置主键约束

设属性A是关系R的唯一主属性,则属性A不能取空值(NULL),这是﹝D﹞规则。

A. 域完整性

B. 参照完整性

C. 用户自定义完整性

D. 实体完整性

以下方法中,用于实现用户自定义完整性的办法是(B)。

A.为字段设置数据类型 B.设置检查约束

C. 设置外键约束

D.设置主键约束

[存储过程与触发器]3

关于存储过程的描述正确的一项是(C)。

A.存储过程存在于内存中,每次重新启动DBMS时,便会自动消失

B.存储过程在每次调用时都会被编译一次

C.存储过程可以包含输入和输出函数,增加了调用时的灵活性

D.执行一次存储过程所花的时间,比执行相同的SQL批处理要长

如果有两个事务同时对数据库中同一数据进行操作,不会引起冲突的是(D)。

A. 一个DELETE和一个SELECT

B.一个SELECT和一个DELETE

C. 两个UPDATE

D.两个SELECT

当触发器执行时,系统会创建临时表保存用户操作更改的行的新值和旧值, UPDATE操作所涉及的值会被临时保存在(C)。

A. updated表

B. inserted 表

C. deleted表

D. inserted表和updated表

[数据库的安全管理]1

一组具有相同权限的用户被称为(A)。

A. 角色

B. 数据

C. 视图

D. 结构

系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况属于﹝A﹞。

A.事务故障

B.系统故障

C.介质故障

D.运行故障

SQL Server 的安全性是基于(A)。

A.用户

B.角色

C.对象和权限

D.以上都对

[数据库备份与恢复]1

下列(C)操作可以实现数据库之间的数据的转换和转移。

A.对数据库进行备份操作

B.对数据库进行还原操作

C.对数据库的导入与导出操作

D.更改数据库文件的后辍

以下关于数据库分离与附加的描述,错误的是(A)。

A.进行数据库分离操作时,可以同时进行更新操作

B.移动数据库前,最好为数据库做一个完整备份

C.要确保数据库移动的目标有足够的空间,满足数据库的增长

D.分离数据库并没有将数据库文件从磁盘上删除

三、填空题

[关系型数据库基本原理]1

设关系模式R(A,B,C,D),(A,B)->C,A->D是R的属性依赖函数,则由于R中存在_____依赖,故关系模式不满足2NF,为使R满足2NF,应将R分解为______和__________。(部分依赖,R1(A,B,C),R2(A,D))

设关系模式R(A,B,C,D),(A,B)->C,C->D是R的属性依赖函数,则由于R中存在_____依赖,故不满足3NF,为使R满足3NF,应将R分解为______和__________。(传递依赖,R1(A,B,C),R2(C,D))

对关系模式的规范化要求分为不同的层次,如果关系R的函数依赖集中不存在传递依赖,则称R满足_______,如果不存在部分依赖,则称R满足______________,如果R中的属性不能分解为更基本的成员,则称R满足____________。(3NF,2NF,1NF)

[数据库管理]1

SQL Server数据库的文件分为三类,分别是___________,____________,_____________.(主数据文件,次数据文件,事务日志文件)

SQL包括三个部分,数据定义语言简写作_______,数据操纵语言简写作__________,数据控制语言简写作________________。(DDL,DML,DCL)

[数据完整性]1

关系型数据的数据完整性包括_______________,____________________和___________________。(实体完整性,参照完整性,用户自定义完整性)

关系型数据库的数据完整性包括实体完整性,参照完整性,用户自定义完整性,DBMS中用约束来保证外整性,其中,主键约束用于保证__________,外键约束用于保证_____________,检查约束用于实现__________。(实体完整性,参照完整性,用户自定义完整性)。

写出约束的中文名,PRIMARY KEY约束被称为_______约束,UNIQUE约束被称为______________约束,CHECK约束被称为____________约束。(主键,唯一,检查)

[存储过程与触发器]1

事务具有四项基本属性,分别是原子性、________________,____________和___________.(一致性,隔离性,持久性)

在存储过程中可以定义事务,开始事务的关键词是_____________,提交事务的关键词是________,回退事务的关键词是______________。(BEGIN TRANS,COMMIT TRANS,ROLLBACK

TRANS)

[数据库安全管理]1

SQL Server中的权限包括3种类型:________________,_____________和_____________。(对象权限,语句权限,隐含权限)

在SQL Server 2005中,数据库的安全机制包括_______________管理、数据库用户管理、_____________________管理和_____________管理。(登录账号管理,角色管理,权限管理)

四、简答题(18分,SQL语法考查,共6小题)

1、(共5分)有关系模式R(U,F),属性集U={A,B,C,D,E},函数

依赖集合F={C->A, BC->D, D->E},请回答如下的问题:

(1) R最高属于第几范式? 说明理由;

(2) 请分解R为符合第三范式的关系模式集合,并给出每个关系的主码:

2、(共13分)根据以下员工表,写SQL语句完成以下任务:

(1)向员工表增加一条数据,(004,魏策,D01,25000)(2分)

(2) 对员工表,列出月工资在2000~3000元之间的员工名单。(2分)

(3) 创建视图V1,用于显示各部门的平均工资,(即显示(部门号,平均工资)。) (3分)(4)创建存储过程,取名为Proc_1 ,用于修改某员工工资的存储过程,其员工号,工资要求以参数输入(员工号类型为:char(10);工资类型为:@score int)。(3分)(5)为员工表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

答案:

1、(共5分)

(共2分)R最高属于1NF范式。理由:关系模式R(U,F)的主码是(B,C),属性之间存在部分函数依赖C->A,同时存在传递函数依赖BC->D, D->E。

符合第三范式的关系模式集合:

(共1分)R1(C,A),主码:C

(共1分)R2(BC ,D),主码:BC

(共1分)R3(D,E),主码:D

2、(共13分)根据以下员工表,写SQL语句完成以下任务:

1. 向员工表增加一条数据,(004,张三,D01,2500)(2分)

INSERT INTO 员工表 ----------- 0.5分

(工号,姓名,部门号,工资) -------------0.5’

VALUES (‘004’,’魏策’,’D01’,25000) -----------1 分

2.. 对员工表,列出月工资在2000~3000元之间的员工名单。(2分)

SELECT * FROM 员工表 ----------- 1分

WHERE 工资BETWEEN 2000 AND 3000 ----------- 1分

(语句中的WHERE子句还有等价的形式,或为以下:

WHERE工资>=2000 AND工资<=3000)

3. 创建视图V1,用于显示各部门的平均工资,【即显示(部门号,平均工资)。) (3分)

CREATE VIEW V1 AS ----------- 0.5分

SELECT 部门号,avg(工资) as 平均工资 -----------1分

FROM 员工表 ----------- 0.5分

GROUP by 部门号 -----------1分

4. 创建存储过程,取名为Proc_1 ,用于修改某员工工资的存储过程,其员工号,工资要求以参数输入(员工号类型为:char(10);工资类型为:@score int)。(3分)CREATE PROCEDURE Proc_1 -----------0.5 分

@sid char(10), @score int ----------- 1分

AS ----------0.5 分

UPDATE 员工表

SET 工资=@score ----------- 0.5分

WHERE 工号=@sid ----------- 0.5分

5. 为员工表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

CREATE TRIGGER test_tr ----------- 0.5分

ON 员工表 FOR INSERT,UPDATE,DELETE ----------1 分

AS ----------0.5 分

SELECT * FROM inserted ----------- 0.5分

SELECT * FROM deleted ----------- 0.5分

1、(共5分)有关系模式R(U,F),属性集合U ={A,B,C,D,E},函数依赖集合F = {A->BC, B->D, CD->E, E->B},

请回答如下的问题:

(1) R的候选码是:

(2) R最高属于第几范式? 说明理由;

(3) 请分解R为符合第三范式的关系模式集合,并给出每个关系模式的主码。

2、(共13分)根据以下学生表,写SQL语句完成以下任务:

(1). 向学生表增加一条数据,(004,张三丰,D01,16)(2分)

(2). 对学生表,列出年龄在15~17岁之间的学生名单。(2分)

(3). 创建视图V1,用于显示各系的平均年龄,【即显示(系号,平均年龄)。】(3分)

(4). 创建存储过程,取名为Proc_1 ,用于修改某学生年龄的存储过程,其学号,年龄要求以参数输入(员学号类型为:char(10);年龄类型为:@score int)。(3分)(5). 为学生表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

答案:

1.(共5分)

答案

(1)(共1分)R的候选码是:A

(2)(共2分)

R最高属于第2(2NF)范式。

理由:关系模式R(U,F)中不存在非主属性对码的部分函数依赖。

(3)(共2分)

分解如下:

R1(A,B,C),主码:A

R2(B,D), 主码:B

R3(C,D,E), 主码:(C,D)

R4(E,B), 主码:E

2、(共13分)

根据以下学生表,写SQL语句完成以下任务:

1. 向学生表增加一条数据,(004,张三丰,D01,16)(2分)

INSERT INTO 学生表 ----------- 0.5分

(学号,姓名,系号,年龄) -------------0.5’

VALUES (‘004’,’张三丰’,’D01’,16) -----------1 分

2.. 对学生表,列出年龄在15~17岁之间的学生名单。(2分)

SELECT * FROM 学生表 ----------- 1分

WHERE 年龄BETWEEN 15 AND 17 ----------- 1分

(语句中的WHERE子句还有等价的形式,或为以下:

WHERE年龄>=15 AND年龄<=17)

3. 创建视图V1,用于显示各系的平均年龄,【即显示(系号,平均年龄)。) (3分)

CREATE VIEW V1 AS ----------- 0.5分

SELECT 系号,avg(年龄) as 平均年龄 ----------- 1分

FROM 学生表 ----------- 0.5分

GROUP by 系号 -----------1分

4. 创建存储过程,取名为Proc_1 ,用于修改某学生年龄的存储过程,其学号,年龄要求以参数输入(员学号类型为:char(10);年龄类型为:@score int)。(3分)

CREATE PROCEDURE Proc_1 -----------0.5 分

@sid char(10), @score int ----------- 1分

AS --------- 0.5分

UPDATE 学生表

SET 年龄=@score ----------- 0.5分

WHERE 学号=@sid ----------- 0.5分

5. 为学生表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

CREATE TRIGGER test_tr ----------- 0.5分

ON 学生表 FOR INSERT,UPDATE,DELETE -----------1 分

AS --------- 0.5分

SELECT * FROM inserted ----------- 0.5分

SELECT * FROM deleted ----------- 0.5分

1、(共5分)分析如下的问题:有关系模式R(U,F),属性集U={A,B,C,D,E},函数依赖集合F={AB->C, C ->D, D->E },请回答如下的问题:

(1) R最高属于第几范式? 说明理由;

(2) R属于第三范式?说明理由,若是第三范式就不用分解,否则分解成符合第三范式的模式。

2、(共13分)“教学”数据库中有三个表:学生表(学号,姓名,性别,生日),课程表(课程号,课程名,学分),成绩表(学号,课程号,成绩),写SQL语句完成以下任务:

(1)向学生表增加一条数据,(0930200001,张三,男,1990-3-5)。(2分)

(2)在课程表中,查询课程号为‘NN1008’的课程名和学分。(2分)

(3)创建视图V1,用于显示各学生的平均成绩,【即显示(学号,平均成绩)。)。(3分)

(4)创建存储过程,取名为Proc_1 ,用于修改某课程名的存储过程,其课程号,课程名

要求以参数输入(员课程号类型为:@sid char(10);课程名类型为:@score char(10))。

(3分)

答案:

1、

答案(共5分)

(1) (共2分)、

R最高属于2NF范式。

理由:关系模式R(U,F)的主码是(A,B),非主属性存在对码的传递函数依赖AB->C, C ->D, D->E。

(2) (共3分)、

R不属于第三范式,

理由:关系模式R(U,F)的主码是(A,B),非主属性存在对码的传递函数依赖AB->C, C ->D, D->E。

分解为符合第三范式的关系模式集合如下: R1(A,B,C) R2(C,D) R3(D,E)

2、(共13分)

(1)(2分)向学生表增加一条数据,(0930200001,张三,男,1990-3-5)。

INSERT INTO 学生表---------------0.5分

(学号,姓名,性别,生日)-------------0.5分

VALUES (‘0930200001’,’张三’,’男’,’1990-3-5’)--------1分

(2)(2分)在课程表中,查询课程号为‘NN1008’的课程名和学分。

SELECT 课程名,学分 FROM 课程表 ----1分

WHERE 课程号=’NN1008’-----1分

(3)(3分) 创建视图V1,用于显示各学生的平均成绩,【即显示(学号,平均成绩)。)。

CREATE VIEW V1 AS ----------- 0.5分

SELECT 学号,avg(成绩) as 平均年龄 ----------- 1分

FROM 成绩表 ----------- 0.5分

GROUP by 学号 ----------- 1分

(4)(3分)创建存储过程,取名为Proc_1 ,用于修改某课程名的存储过程,其课程号,课程名要求以参数输入(员课程号类型为:@sid char(10);课程名类型为:@score char(10))。

CREATE PROCEDURE Proc_1 -----------0.5 分

@sid char(10), @score char(10)----------- 1分

AS ---- 0.5分

UPDATE 课程表

SET 课程名=@score ----------- 0.5分

WHERE 课程号=@sid ----------- 0.5分

五、设计题(共14.5分)

例如,某工厂的物资库存管理

该系统涉及的实体有:

仓库属性有仓库号、面积、位置、电话号码。

零件属性有零件号、名称、规格、单价、描述。

产品属性有产品号、名称、生产日期、单价、描述。

职工属性有职工号、姓名、性别、年龄、职称。

这些实体之间存在如下联系:

一个仓库可以存放多种零件,一种零件也可以存放在多个仓库中,某个仓库存放某种零件会有一个库存量。

一个仓库可以存放多种产品,一种产品也可以存放在多个仓库中,某个仓库存放某种产品会有一个存放量。

一种零件可以用在多种产品上,一种产品也由多种零件制造而成,某种产品使用某种零件会有一个使用量。

一个仓库有多名职工,但一名职工只能在一个仓库工作。

在这些职工中,除仓库主任外,其他职工都被自己所在仓库的仓库主任直接领导。

根据上述关系:

(1)请设计E-R模型,要求标注几对几的联系,可省略属性。

(2)写出关系数据库的逻辑模型(要求标注主码和外码,主码用实下划线_____,外码用波浪线。

答案

(1)

(2)

仓库表(仓库号、面积、位置、电话号码)

主键:仓库号

库存表(仓库号、零件号、库存量)

主键:仓库号、零件号

外键:仓库号;零件号

零件表(零件号、名称、规格、单价、描述)

主键:零件号

存放表(仓库号、产品号、存放量)

主键:仓库号、产品号

外键:仓库号;产品号

产品表(产品号、名称、生产日期、单价、描述)

主键:产品号

使用表(零件号,产品号,使用量)

主键:零件号,产品号

外键:零件号;产品号

职工表(职工号、仓库号、姓名、性别、年龄、职称)

主键:职工号、仓库号

相关文档
相关文档 最新文档