数据库应用期末复习题及答案1 下载本文

数据库应用

1.第2题

WHERE子句的条件表达式中.可以匹配0个到多个字符的通配符是( )。 A.* B.% C.一 D.?

标准答案:B 2.第3题

下列命令不属于DBMS的数据定义语言的是:( )。 A.CREATE B.DROP C.INSERT D.ALTER 标准答案:C 3.第4题

概念结构设计阶段得到的结果是( )。 A.数据字典描述的数据需求 B.E-R图表示的概念模型

C.某个DBMS所支持的数据模型 D.存储结构和方法的物理结构 标准答案:B 4.第5题

在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建( )。 A.另一个表(table) B.游标(cursor) C.视图(view) D.索引(index) 标准答案:C 5.第6题

下面关于B/S模式描述错误的是:( )。 A.B/S 建立在广域网之上的。

B.B/S一般面向相对固定的用户群, 对信息安全的控制能力很强。

C.B/S一般采用多重结构,要求构件相对独立的功能,能够相对较好的重用。 D.B/S 建立在浏览器上。 标准答案:B 6.第7题

在数据库中,可以有( )个主键。

A.一个

1

B.二个 C.三个

D.任意多个 标准答案:A 8.第15题

当两个子查询的结果( )时,可以执行并、交、差操作。 A.结构完全不一致 B.结构完全一致 C.结构部分一致 D.主键一致 标准答案:B 9.第16题

一个m:n联系转换为一个关系模式。关系的码为( )。 A.某个实体的码 B.各实体码的组合 C.n端实体的码

D.任意一个实体的码 标准答案:B 10.第17题

在数据库的三级模式结构中,内模式有( )。 A.1个 B.2个 C.3个

D.任意多个 标准答案:A 11.第18题

SQL Server 2000的文件包括: 主数据文件、辅助数据文件和( )。 A.索引文件 B.日志文件 C.备份文件 D.程序文件 标准答案:B

13.第22题

在SQL Server 2000中,一个数据库可最多创建( )个表。 A.1024 B.20亿 C.8092 D.256

标准答案:B 14.第32题

SQL中创建基本表应使用( )语句。

A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW

D.CREATE DATEBASE 标准答案:B 15.第33题

Visual Basic6.0不能使用下面哪一种数据访问技术( )。 A.ADO B.DAO C.ODBC D.ADO.NET 标准答案:C 16.第34题

一个用户试图用查询分析器连接到一个SQL Server上。服务器使用Windows验证模式,用户需要如何填写登录名和口令框中的内容才能被验证成功,获得访问权:( )。 A.他的Windows 2000帐号和口令 B.什么也不用填。

C.他的Windows 2000帐号和一个空口令。 D.以上的选项都行。 标准答案:B 17.第35题

用二维表结构表示实体以及实体间联系的数据模型称为( )。 A.网状模型 B.层次模型 C.关系模型

D.面向对象模型 标准答案:C 18.第36题

表达式SUBSTRING (‘SHANGHAI’,6,3)的值是( )。 A.’SHANGH’ B.’SHA’ C.’ANGH’ D.’HAI’ 标准答案:D 19.第37题

下面函数不能进行数据类型转换的是: 。 A.CONVERT B.STR C.CAST D.LTRIM 标准答案:D 20.第38题

SELECT s_no=学号,s_name=姓名FROM information WHERE 班级名=’软件021’ 表示( )。 A.查询INFORMATION表中’软件021’班学生的学号、

2

姓名

B.查询INFORMATION表中’软件021’班学生的所有信息

C.查询INFORMATION表中学生的学号、姓名 D.查询INFORMATION表中计算机系学生的记录 标准答案:A 21.第39题

某数据表已经将列F定义为主关键字,则以下说法中错误的是( )。

A.列F的数据是有序排列的

B.列F的数据在整个数据表中是惟一存在的 C.不能再给此数据表建立聚集索引

D.当为其他列建立非聚集索引时,将导致此数据表的记录重新排列 标准答案:D 22.第41题

下面关于存储过程的描述不正确的是( )。 A.存储过程实际上是一组T-SQL语句

B.存储过程预先被编译存放在服务器的系统表中 C.存储过程独立于数据库而存在

D.存储过程可以完成某一特定的业务逻辑 标准答案:C 23.第42题

下列( )不属于SQL Server 2000在安装时创建的系统数据库。 A.master B.model C.msdb D.userdb

标准答案:D 25.第47题

将多个查询结果返回一个结果集合的运算符是( )。 A.JOIN B.UNION C.INTO D.LIKE

标准答案:B 26.第48题

数据库逻辑结构设计阶段的主要功能是:( )。 A.明确用户需求,确定新系统的功能 B.建立数据库的E-R模型

C.将数据库的E-R模型转换为关系模型 D.选择合适的存储结构和存储路径 标准答案:C 27.第49题

联接有内联接、外联接和交叉联接,其中外联接只能对( )表进行。

A.两个 B.三个 C.四个 D.任意个 标准答案:A

27. 索引项的顺序与表中记录的物理顺序一致的索引,称之为( )。 A.复合索引 B.唯一性索引 C.聚簇索引

D. 非聚簇索引 标准答案:B 28.第51题

下面关于默认值的描述,正确的是:( )。

A.表中添加新列时,如果没有指明值,可以使用默认值 B.可以绑定到表列,也可以绑定到数据类型 C.可以响应特定事件的操作 D.以上描述都正确 标准答案:A 29.第8题

数据库中如果不建立相应的索引文件,在查询时会经常出错。 答案:错误

30.第9题 在导入数据时,如果SQL Server数据库中不存在对应的表,可以自动创建。 答案:正确

31.第10题

SQL Server有数据导入功能但没有数据导出功能。 答案:错误

32.第19题

数据的安全性主要防范的对象是合法用户。 答案:正确

33.第20题

视图一旦创建后,其中的内容不能被修改。 答案:错误

34.第23题

SQL Server的数据库可以导出为Access数据库。 答案:正确

35.第24题

在视图中可以添加和修改数据,在表中可以查看到数据的变化。 答案:正确

3

36.第25题

视图具有与表相同的功能,在视图上也可以创建触发器。

答案:错误

37.第26题

每个存储过程向调用方返回一个整数返回代码。如果存储过程没有显式设置返回代码的值,则返回代码为 0,表示成功。 答案:正确

38.第27题

数据库设计前只需选择数据库分析设计人员。 答案:错误

39.第28题

因为通过视图可以插入.修改或删除数据,因此视图也是一个实在表,SQL SERVER将它保存在syscommens系统表中。 答案:错误

40.第1题

HAVING子句与WHERE子句很相似,其区别在于:WHERE子句作用的对象是( ),HAVING子句作用的对象是( )。

标准答案:表和视图,分组 42.第12题

★☆0005题☆★:检索姓名字段中含有'文'的表达式为: select 姓名 like ( )。 标准答案: '%文%'

44.第29题

MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve服务的图形化工具称为( )。 标准答案:服务管理器 45.第30题

目前最常用的数据库有层次数据库、( )数据库和( )数据库,其中( )数据库是目前应用最广泛的一种数据库。

标准答案:网状、关系、关系 46.第31题

SQL Server中数据操作语句包括( )、( )、( )和select语句。

标准答案:insert、update、delete 47.第40题

在安装好的MS SQL Server中,系统提供了两个示例数据库,它们分别是( )、( )。 标准答案: northwind、pubs 50.第46题

SQL Server的数据类型可分为( )数据类型和( )数据类型。

标准答案:系统、用户自定义

2.第3题

命令SELECT s_no,AVG(grade) AS ‘平均成绩’ FROM score GROUP BY s_no HAVING AVG(grade)>=85,表示( )。

A.查找score表中平均成绩在85分以上的学生的学号和平均成绩

B.查找平均成绩在85分以上的学生

C.查找score表中各科成绩在85分以上的学生

D.查找score表中各科成绩在85分以上的学生的学号和平均成绩 标准答案:A 3.第4题

下面关于唯一索引描述不正确的是:( )。 A.某列创建了唯一索引则这一列为主键 B.不允许插入重复的列值

C.某列创建为主键,则该列会自动创建唯一索引 D.一个表中可以有多个唯一索引 标准答案:A 4.第5题

将SQL Server 2000的数据库转换成ACCESS数据库,可以使用( )来实现。 A.订阅/发布 B.数据备份/恢复 C.数据分离/附加 D.DTS导入/导出 标准答案:D 5.第6题

下面( )不属于master数据库所包含的信息。 A.登录账号 B.系统配置 C.调度信息

D.数据库错误信息 标准答案:C 6.第7题

数据库中只存放视图的( )。 A.操作

B.对应的数据 C.定义 D.限制

标准答案:C 7.第8题

使用关键字( )可以把查询结果中的重复行屏蔽。 A.DISTINCT

4

B.UNION C.ALL D.TOP

标准答案:A 8.第13题

一个面向主题的,集成的,不同时间的,稳定的数据集合是:( )。

A.分布式数据库 B.面向对象数据库 C.数据仓库

D.联机事务处理系统 标准答案:C 9.第14题

在SQL中,CREATEVIEW语句用于建立视图。如果要求对视图更新时必须满足于查询中的表达式,应当在该语句中使用( )短语。 A.WITH UPDATE B.WITH INSERT C.WITH DELETE

D.WITH CHECK OPTION 标准答案:D 10.第17题

下面哪种文件无法与SQL Server数据库进行导入和导出操作( )。 A.文本文件 B.EXCEL文件 C.Word文件 D.Access文件 标准答案:C 11.第18题

如果要删除Student数据库中的Information表,则可以使用命令:( )。

A.DELETE TABLE information B.TRUNCATE TABLE information C.DROP TABLE information D.ALTER TABLE information 标准答案:C

13.第20题

删除触发器tri_Sno的正确命令是:( )。 A.DELETE TRIGGER tri_Sno B.TRUNCATE TRIGGER tri_Sno C.DROP TRIGGER tri_Sno D.REMOVE TRIGGER tri_Sno 标准答案:C 14.第21题

一个事务提交后,如果系统出现故障,则事务对数据的

修改将( )。 A.无效 B.有效

C.事务保存点前有效 D.以上都不是 标准答案:C 16.第29题

下面关于唯一索引描述不正确的是:( )。 A.某列创建了唯一索引则这一列为主键 B.允许插入重复的列值

C.某列创建为主键,则该列会自动创建唯一索引 D.一个表中可以有多个唯一索引 标准答案:A

19.第32题

系统存储过程在系统安装时就已创建,这些存储过程存放在( )系统数据库中。 A.master B.tempdb C.model D.msdb

标准答案:A 21.第34题

下列SQL语句中,能够实现参照完整性控制的语句是:( )。

A.FOREIGN KEY B.PRIMARY KEY C.REFERENCES

D.FOREIGNKEY和REFERENCES 标准答案:D 22.第39题

关于FOREIGN KEY约束的描述不正确的是:( )。 A.体现数据库中表之间的关系 B.实现参照完整性

C.以其他表PRIMARY KEY约束和UNIQUE约束为前提

D.每个表中都必须定义 标准答案:D 23.第40题

关于触发器的描述不正确的是:( )。 A.它是一种特殊的存储过程 B.可以实现复杂的商业逻辑

C.对于某类操作,可以创建不同类型的触发器 D.触发器可以用来实现数据完整性 标准答案:B 24.第45题

下列不可能在游标使用过程中使用的关键字是:( )。

5

A.OPEN B.CLOSE

C.DEALLOCATE D.DROP

标准答案:D 26.第49题

使用T-SQL创建视图时,不能使用的关键字是:( )。 A.ORDER BY B.WHERE C.COMPUTE

D.WITH CHECK OPTION 标准答案:C 27.第50题

数据库拥有sysusers表?

A.所有用户定义的数据库都拥有该表 B.所有数据库都拥有该表 C.master数据库

D.该表保存在Windows 2000的注册表中 标准答案:B 29.第9题

11.9 是SQL中的实型常量吗? 答案:正确

31.第11题

创建触发器的时候可以不是表的所有者或数据库的所有者。 答案:错误

32.第12题

存储过程的输出结果可以传递给一个变量。 答案:正确

34.第16题

职称 in ('教授', '副教授'')与 职称 = '教授' and 职称 = '副教授' 等价吗? 答案:错误

37.第35题 在SQL SERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。 答案:错误

38.第36题

删除表时,表中的触发器不被同时删除。 答案:错误

39.第37题

职称 in ('教授', '副教授'')与 职称 = '教授' or 职称 = '副教授' 等价吗? 答案:正确

40.第38题

规则必须使用一次就必须定义一次。 答案:错误

41.第2题

SQL Server 2000四个系统数据库是( )、( )、( )和tempdb。

标准答案:master、model、msdb 45.第28题

( )用于保证数据库中数据表的每一个特定实体的记录都是惟一的。

标准答案:实体完整性 46.第41题

在( )身份验证模式,输入的账号必须是在2000 professional(或NT)已经建立的登录者或组。 标准答案:Windows 49.第44题

数据库管理系统的安全性通常包括两个方面,一是指数据( )的安全性,二是指数据( )的安全性。 标准答案:访问、运行 51.第48题

游标的操作步骤包括声明、( )、处理(提取、删除或修改)、关闭和( )游标。 标准答案:打开、释放 52.第52题

数据库系统的三级模式结构和两级数据映像确保了数据的( )独立性和( )独立性。 标准答案:逻辑、物理 4.第12题

下面关于唯一索引描述不正确的是:( )。 A.某列创建了唯一索引则这一列为主键 B.允许插入重复的列值

C.某列创建为主键,则该列会自动创建唯一索引 D.一个表中可以有多个唯一索引 标准答案:A 6.第14题

SELECT语句中与HAVING子句同时使用的是( )子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 标准答案:C 7.第15题 命令SELECT s_no,AVG(grade) AS ‘平均成绩’ FROM score GROUP BY s_no HAVING AVG(grade)>=85,表示( )。

A.查找score表中平均成绩在85分以上的学生的学号和平均成绩

B.查找平均成绩在85分以上的学生

C.查找score表中各科成绩在85分以上的学生

D.查找score表中各科成绩在85分以上的学生的学号和

6

平均成绩 标准答案:A 8.第16题 在( )子查询中,内层查询只处理一次,得到一个结果集,再依次处理外层查询。 A.IN子查询 B.EXIST子查询

C.NOT EXIST子查询 D.JOIN子查询 标准答案:A 9.第17题

关于导入导出数据,下面说法错误的是( )。 A.可以使用向导导入/导出数据

B.可以将SQL Server数据导出到Access C.可以保存导入/导出任务,以后执行 D.导出数据后,原有数据被删除 标准答案:D 11.第19题

在SQL中,CREATEVIEW语句用于建立视图。如果要求对视图更新时必须满足于查询中的表达式,应当在该语句中使用( )短语。 A.WITH UPDATE B.WITH INSERT C.WITH DELETE

D.WITH CHECK OPTION 标准答案:D 14.第22题

SQL Server 2000是一种( )的数据库管理系统。 A.关系型 B.层次型 C.网状 D.树型

标准答案:A 15.第27题

下面( )不属于master数据库所包含的信息。 A.登录账号 B.系统配置 C.调度信息

D.数据库错误信息 标准答案:C 19.第38题

使用( )身份验证方式需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A.Windows身份验证 B.SQL Server 身份验证 C.以超级用户身份登录时 D.其他方式登录时

标准答案:B 20.第39题

SQL Server 2000 企业版可以安装在( )操作系统上。 A.Microsoft Windows 98 B.Microsoft Windows Me

C.Microsoft Windows 2000 Professional D.Microsoft Windows 2003 标准答案:D 21.第40题

关于FOREIGN KEY约束的描述不正确的是:( )。 A.体现数据库中表之间的关系 B.实现参照完整性

C.以其他表PRIMARY KEY约束和UNIQUE约束为前提

D.每个表中都必须定义 标准答案:D 22.第41题

设R是一个关系模式,如果R中的每个属性都是不可分解的,则称R属于( )。 A.第一范式 B.第二范式 C.第三范式 D.BC范式 标准答案:A 23.第42题

在数据库设计过程使用( )可以很好的描述数据处理系统中信息的变换和传递过程。 A.数据流图 B.数据字典 C.E-R图

D.系统流程图 标准答案:A 25.第44题

以下( )不属于数据库对象(第2章第2节,知识点:SQL server2000数据库组成,难度:中) A.表和视图 B.索引和约束 C.T-SQL脚本 D.触发器 标准答案:C 27.第46题

数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和( )。 A.数据库管理系统 B.数据库应用系统 C.相关的计算机系统 D.各类相关人员

7

标准答案:D 28.第50题

要查询information表中学生姓中含有“张”的学生情况,可用( )命令。

A.SELECT * FROM information WHERE s_name LIKE ‘张%’

B.SELECT * FROM information WHERE s_name LIKE ‘张_’

C.SELECT * FROM information WHERE s_name LIKE ‘%张%’

D.SELECT * FROM information WHERE s_name LIKE \张_\

标准答案:C 29.第23题

缺省情况下,所创建的索引是非聚集索引? 答案:正确

30.第24题

数据库是用来存放表和索引的逻辑实体。 答案:正确

31.第25题

在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统会自动为该行标识列赋值。 答案:正确

33.第31题

可以对视图进行加密处理,使用户无法看到视图的定义。

答案:正确

35.第33题

创建触发器的时候可以不是表的所有者或数据库的所有者。 答案:错误

36.第34题

规则必须使用一次就必须定义一次。 答案:错误

37.第48题

在企业管理器中可以修改表的名称。

答案:正确

39.第51题

因为通过视图可以插入.修改或删除数据,因此视图也是一个实在表,SQL SERVER将它保存在syscommens系统表中。 答案:错误

40.第52题

写程序不属于数据库的模式设计阶段。 答案:正确

41.第1题

事务的ACID属性是指原子性、( )性、( )性和( )性。

标准答案:一致、独立、持久 42.第2题

关系数据模型的逻辑结构是( ),关系中的列称为( ),行称为( )。

标准答案:二维表、属性、元组 43.第4题

ROUND( )函数的是( )函数。 标准答案:四舍五入 44.第5题

在安装MS SQL Server时,必须选择一种安全类型。如果在登录时,不需要记录用户名和登录ID,则该安全模式是( )。

标准答案:Windows认证模式 45.第6题

已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句:SELECT SNO FROM SC WHERE SCORE = (SELECT MAX(SCORE) FROM SC WHERE CNO=’002’) 简述这一语句完成了的查询操作是( )。

标准答案:检索有与课程号为“002”的课程的最高成绩相等的同学的学号 46.第7题

数据定义语言是指用来创建、修改和删除各种对象的语句,是( )、( )和( )。 标准答案:create、alter、drop 47.第8题

关系数据库模型的数据操作主要包括插入、( )、( )和( )数据。

标准答案:删除、更新、查询 48.第9题

SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别( )、( )、( )、avg和count。 标准答案:max、min、sum 49.第35题

( )是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。 标准答案:存储过程 50.第36题

实体之间的联系类型有三种,分别为( )、( )和( )。 标准答案:一对一、一对多、多对多 51.第37题

8

在SQL中,create view、alter view和drop view命令分别为( )、( )和( )视图的命令。 标准答案:建立、修改、删除 52.第47题

语句 SELECT (7+3)*4-17/(4-(8-6))+99%4 的执行结果是( )。

标准答案:35

3.第7题

关于导入导出数据,下面说法错误的是( )。 A.可以使用向导导入/导出数据

B.可以将SQL Server数据导出到Access C.可以保存导入/导出任务,以后执行 D.导出数据后,原有数据被删除 标准答案:D 4.第8题

如果对于实体集A中的每一个实体,实体集B中有可有多个个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有( )。 A.1:1联系 B.1:n联系 C.n:m联系 D.多种联系 标准答案:C 5.第9题

在SQL中,CREATEVIEW语句用于建立视图。如果要求对视图更新时必须满足于查询中的表达式,应当在该语句中使用( )短语。 A.WITH UPDATE B.WITH INSERT C.WITH DELETE

D.WITH CHECK OPTION 标准答案:D 6.第10题

用来表示可变长度的非Unicode数据的类型是:( )。 A.CHAR B.NCHAR C.VARCHAR D.NVARCHAR 标准答案:C

8.第12题

下列不属于数据库设计阶段的是( )。 A.需求分析 B.系统设计 C.概念结构设计

D.物理结构设计 标准答案:B 9.第13题

假设表中某列的数据类型为VARCHAR(100) ,而输入的字符串为“ahng3456”,则存储的是( )。 A.ahng3456,共8字节 B.ahng3456和92个空格 C.ahng3456和12个空格 D.ahng3456和32个空格 标准答案:A 11.第23题

要查询INFORMATION表中姓“王”且单名的学生情况,C.视图 D.表

标准答案:B 30.第15题

视图中存储的是物理的数据。 答案:错误

31.第16题

数据库是用来存放表和索引的逻辑实体。 答案:正确

33.第32题

数据库系统中建立过多的索引会使系统效率降低。 答案:正确

可用( )命令。

A.SELECT * FROM INFORMATION WHERE 姓名 LIKE ‘王%’

B.SELECT * FROM INFORMATION WHERE 姓名 LIKE ‘王_’

C.SELECT * FROM INFORMATION WHERE 姓名 = ‘王%’

D.SELECT * FROM INFORMATION WHERE 姓名 = ‘王_ _’ 标准答案:B 12.第24题

以下与事务控制无关的关键字是:( )。 A.ROLLBACK B.COMMIT C.DECLARE D.BEGIN 标准答案:C 22.第42题

下列不可能在游标使用过程中使用的关键字是:( )。 A.OPEN B.CLOSE

C.DEALLOCATE D.DROP

标准答案:D 25.第45题

删除触发器tri_Sno的正确命令是:( )。 A.DELETE TRIGGER tri_Sno B.TRUNCATE TRIGGER tri_Sno C.DROP TRIGGER tri_Sno D.REMOVE TRIGGER tri_Sno 标准答案:C 27.第47题

Create trigger命令用于创建( )。 A.存储过程 B.触发器

35.第34题

创建触发器的时候可以不是表的所有者或数据库的所有者。 答案:错误

36.第35题

触发器是通过事件进行触发而被执行的。 答案:正确

37.第49题

表中只能有一个聚集索引,但可以有多个非聚集索引。答案:正确

40.第52题

规则必须使用一次就必须定义一次。 答案:错误

42.第2题

( )用于保证数据库中数据表的每一个特定实体的记录都是惟一的。

标准答案:实体完整性 43.第3题

Transact-SQL语言有4部分元素组成,分别是:数据定义语言、( )、( )和一些附加的语言元素。 标准答案:数据操作语言、数据控制语言 44.第4题

SQL Server 2000四个系统数据库是( )、( )、( )和tempdb。

标准答案:master、model、msdb 46.第19题

MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve服务的图形化工具称为( )。 标准答案:服务管理器 48.第21题

数据库系统的三级模式结构和两级数据映像确保了数据的( )独立性和( )独立性。 标准答案:逻辑、物理

9

49.第36题

在( )身份验证模式,输入的账号必须是在2000 professional(或NT)已经建立的登录者或组。 标准答案:Windows 52.第39题

★☆0005题☆★:检索姓名字段中含有'文'的表达式为: select 姓名 like ( )。 标准答案: '%文%'

1.第1题

删除触发器tri_Sno的正确命令是:( )。 A.DELETE TRIGGER tri_Sno B.TRUNCATE TRIGGER tri_Sno C.DROP TRIGGER tri_Sno D.REMOVE TRIGGER tri_Sno 标准答案:C 2.第2题

一个事务提交后,如果系统出现故障,则事务对数据的修改将( )。 A.无效 B.有效

C.事务保存点前有效 D.以上都不是 标准答案:C 3.第7题

关于导入导出数据,下面说法错误的是( )。 A.可以使用向导导入/导出数据

B.可以将SQL Server数据导出到Access C.可以保存导入/导出任务,以后执行 D.导出数据后,原有数据被删除 标准答案:D 5.第9题

带有前缀名为sp的存储过程属于( )。 A.用户自定义存储过程 B.系统存储过程 C.扩展存储过程 D.以上都不是 标准答案:B 6.第10题

以下( )不属于数据库对象(第2章第2节,知识点:SQL server2000数据库组成,难度:中) A.表和视图 B.索引和约束 C.T-SQL脚本 D.触发器

10

标准答案:C

8.第16题

数据库拥有sysusers表?

A.所有用户定义的数据库都拥有该表 B.所有数据库都拥有该表 C.master数据库

D.该表保存在Windows 2000的注册表中 标准答案:B

12.第24题

如果要删除Student数据库中的Information表,则可以使用命令:( )。

A.DELETE TABLE information B.TRUNCATE TABLE information C.DROP TABLE information D.ALTER TABLE information 标准答案:C 13.第25题

设R是一个关系模式,如果R中的每个属性都是不可分解的,则称R属于( )。 A.第一范式 B.第二范式 C.第三范式 D.BC范式 标准答案:A 14.第26题 命令SELECT s_no,AVG(grade) AS ‘平均成绩’ FROM score GROUP BY s_no HAVING AVG(grade)>=85,表示( )。

A.查找score表中平均成绩在85分以上的学生的学号和平均成绩

B.查找平均成绩在85分以上的学生

C.查找score表中各科成绩在85分以上的学生

D.查找score表中各科成绩在85分以上的学生的学号和平均成绩 标准答案:A 15.第27题

T-SQL中返回主机名的函数是( )。 A.DB_NAME() B.HOST_NAME() C.GET_DATE() D.UPPER() 标准答案:B 17.第29题

以下关于视图的描述中,错误的是( )。

A.视图不是真实存在的基础表,而是一张虚表

B.当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化

C.在创建视图时,若其中某个目标列是聚合函数时,必须指明视图的全部列名

D.在一个语句中,一次可以修改一个以上的视图对应的基表

标准答案:D 18.第30题

SQL Server 2000是一种( )的数据库管理系统。 A.关系型 B.层次型 C.网状 D.树型

标准答案:A 19.第31题

使用关键字( )可以把查询结果中的重复行屏蔽。 A.DISTINCT B.UNION C.ALL D.TOP

标准答案:A

23.第39题

SQL Server 2000的数据以页为基本存储单位,页的大小为( )。 A.8KB B.16KB C.32KB D.64KB

标准答案:A 24.第40题

SQL中创建视图应使用( )语句。 A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW

D.CREATE DATEBASE 标准答案:C 25.第41题

Create trigger命令用于创建( )。 A.存储过程 B.触发器 C.视图 D.表

标准答案:B 26.第50题

表达式'123’+'456’的值是( )。

11

A.123456 B.579

C.'123456’ D.'123456” 标准答案:A 27.第51题

支持 SQL Server 2000 中的所有可用功能,可作为企业数据库服务器使用的SQL Server 2000版本是:( )。 A.SQL Server 2000个人版 B.SQL Server 2000企业版 C.SQL Server 2000开发版 D.SQL Server 2000标准版

标准答案:B 28.第52题

以下( )不属于数据库对象。 A.表和视图 B.索引和约束 C.T-SQL脚本 D.触发器 答案:C

29.第3题

创建唯一性索引的列可以有一些重复的值? 答案:错误

32.第6题

规则必须使用一次就必须定义一次。 答案:错误

33.第32题

缺省情况下,所创建的索引是非聚集索引? 答案:正确

34.第33题

在企业管理器中可以修改表的名称。 答案:正确

37.第42题

在SQL SERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。 答案:错误

38.第43题

在导入/导出数据时,可以指定导入/导出数据何时进行。

答案:正确

40.第45题

数据库不允许存在数据冗余。 答案:错误

41.第11题

( )是由一个或多个数据表(基本表)或视图导出的

虚拟表。

标准答案:视图 42.第12题

游标的操作步骤包括声明、( )、处理(提取、删除或修改)、关闭和( )游标。 标准答案:打开、释放 43.第13题

数据库管理系统的安全性通常包括两个方面,一是指数据( )的安全性,二是指数据( )的安全性。 标准答案:访问、运行 44.第14题

用SELECT进行模糊查询时,可以使用like或not like匹配符,但要在条件值中使用( )或( )等通配符来配合查询。并且模糊查询只能针对( )类型字段查询。 标准答案:%、_、字符 46.第19题

MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve服务的图形化工具称为( )。 标准答案:服务管理器 47.第20题

SQL Server的数据类型可分为( )数据类型和( )数据类型。

标准答案:系统、用户自定义 48.第21题

数据库系统的三级模式结构和两级数据映像确保了数据的( )独立性和( )独立性。 标准答案:逻辑、物理 51.第48题

SQL Server中数据操作语句包括( )、( )、( )和select语句。

标准答案:insert、update、delete 52.第49题

触发器定义在一个表中,当在表中执行( )、( )或delete操作时被触发自动执行。 标准答案:insert、update +

8.第8题

只有( )才能作为文件组的成员。 A.日志文件 B.索引文件 C.数据文件 D.备份文件 标准答案:C

16.第16题

12

表达式STUFF(‘HOW ARE YOU’,4,1,’OLD’)的值是( )。

A.’HOWARE YOU’

B.’HOW OLD ARE YOU’ C.’HOWOLDARE YOU’ D.’HOW OLD RE YOU’ 标准答案:B

28.第28题

T-SQL中的全局变量以( )作前缀。 A.@@ B.@ C.# D.##

标准答案:A

31.第29题

DELETE语句只是删除表中的数据,表本身依然存在数据库中。

标准答案:正确

34.第34题

恢复是利用冗余数据来重建数据库。 标准答案:正确

1.在数据库中存储的是 ( C ) A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 2. 存储在计算机内有结构的数据的集合是 ( B ) A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构

3.信息的数据表示形式是 ( D ) A.只能是文字 B.只能是声音 C.只能是图形 D.上述皆可

4.数据管理与数据处理之间的关系是 ( D ) D.数据处理是数据管理的基本环节

5.在数据管理技术的发展过程中,经历了人工管理阶

段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的阶段是 ( A ) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理

6.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是

I.人工管理阶段 II.文件系统阶段 III.数据库阶段( D ) A.I 和 II B.只有 II C.II 和 III D.只有 I

7.DBMS是 ( D )A.数据库 B.数据库系统 C.数据库应用软件 D.数据库管理软件

8.数据库系统是采用了数据库技术的计算机系统,数据同 库系统由数据库、数据库管理系统、应用系统和 29.存取路径对用户透明,从而具有更高的数据独立性、( C )C.数据库管理员 更好的安全保密性,简化程序员和数据库开发建立工作9.下述不是DBA数据库管理员的职责的是( D )A.完的模型是 (B)B.关系模型 整性约束说明 B.定义数据库模式 C.数据库安全 D.30.关系数据库中的投影操作是指从关系中 ( B )数据库管理系统设计 A. 抽出特定记录 B.抽出特定字段 C.建立相应的影10.提供数据库定义、数据操纵、数据控制和数据库维像 D.建立相应的图形 护功能的软件称为 ( C ) A.OS B.DS C.DBMS 31.从一个数据库文件中取出满足某个条件的所有记录D.DBS 形成一个新的数据库文件的操作是 ( C )C.选择操11.下列四项中,不属于数据库系统特点的是( C ) 作 D.复制操作 A.数据共享 B.数据完整性 C.数据冗余度高 D.数32.关系代数中的连接操作是由 ( B ) A.选择和投据独立性高 影操作组合而成 B.选择和笛卡尔积操作12.下面列出的条目中,不属于数据库技术的主要特点组合而成 的是 ( D )D.程序的标准化 33.设关系R和S具有相同的结构,由属于S但不属于R的13.在数据库管理系统中,下面不是数据库存取功能模元组构成的关系,记为( C )C.R∪S D.S∩S 块的是 ( C ) C.交互式程序查询模块 D.查询34.已知关系R和S,R∩S等价于 ( B ) A.(R﹣S)﹣处理程序模块 S B.S﹣(S﹣R) C.(S﹣R)﹣R D.S﹣(R﹣S) 14.在下面所列出的条目中,不属于数据库管理系统的35.当关系R和S做自然联接时,能够保留R中不满足连接基本功能的是 ( D )D.数据库和网络中其他软件条件元组的操作是 ( A )A.左外联接 系统的通信 36.\元数据\是指 ( A ) A.数据结构的描述 B.15.在数据库的三级模式结构中,内模式有 ( A ) 数据项的描述 C.数据的来源 D.基本数据 A.1个 B.2个 C.3个 D.任意多个 37.在数据库系统中,空值是( D ) A.0 B.空16.描述数据库全体数据的全局逻辑结构和特性的是 格 C.空字符串 D.不确定 ( A ) A.模式 B.内模式 C.外模式 D.存38.实体完整性规则约束 ( B ) A.侯选关键字 B.储模式 主关键字 C.外关键字 D.超关键字 17.用户或应用程序看到的那部分局部逻辑结构和特征39.SQl语言是()的语言,易学习 ( B ) A.过程的描述是 ( C ) A.模式 B.物理模式 C.子模化 B.非过程化 C.格式化 D.导航化 式 D.内模式 40.SQl语言是 ( C ) A.层次数据库语言 B.网18.要保证数据库的数据独立性,需要修改的是 络数据库语言 C.关系数据库语言 D.非数据库语( C ) C.三级模式之间的两层映射 D.三层模言 式 41.SQL语言是 ( D ) A.高级语言 B.宿主语言 19.要保证数据库的逻辑数据独立性,需要修改的是 C.汇编语言 D.非过程化语言 ( A ) A.模式与外模式之间的映射 B.模式与内模42.SQL语言具有的功能是 ( B ) A.关系规范化 式之间的映射 B.数据定义、数据操纵、数据控制、数据查询 20.下述那一条不属于概念模型应具备的性质( D ) 43.在SQL语言查询语句中,WHERE子句实现关系代数的 C.易于变动 D.在计算机中实现的效率( B ) A.投影运算 B.选择运算 C.连接运算 高 D.交运算 21.常见的数据模型是 ( A ) A.层次模型、网状模44.在SQL语言的SELECT语句中,能实现投影操作的是 型、关系模型 ( A ) A.SELECT B.FROM C.WHERE D.GROUP 22. 一个结点可以有多个双亲,结点之间可以有多种联BY 系的模型是 ( A ) A.网状模型 B.45.关系规范化中的删除操作异常是指 ( A ) A.关系模型 不该删除的数据被删除 B.不该插入的数据被插入 23.层次型、网状型和关系型数据库划分原则是( D ) 46.关系数据库规范化是为解决关系数据库中 ( A )C.联系的复杂程度 D.数据之间的联系 A.插入、删除和数据冗余问题而引入的 B.提高查询24.层次模型不能直接表示 ( C ) C.m:n关系 速度问题而引入的 D.1:1和1:m关系 47.规范化过程主要为克服数据库逻辑结构中的插入异25.层次数据模型的基本数据结构是 (A ) A.树 常,删除异常以及 ( C )C.冗余度大的缺欠 D.B.图 C.索引 D.关系 数据丢失的缺欠 26.层次模型实现数据之间联系的方法是 ( B ) A.48.关系模式的候选关键字可以有 ( C ) A.0个 连接 B.指针 C.公共属性 D.关系 B.1个 C.1个或多个 D.多个

27.关系数据模型的基本数据结构是( D ) A.树 49.数据库设计可划分为六个阶段,每个阶段都有自己B.图 C.索引 D.关系 的设计内容,“为哪些关系,在哪些属性上建什么28.下面关于关系性质的说法,错误的是 ( D ) C.样的索引”这一设计内容应该属于( C )设计表中的一列称为一个属性 D.表中任意两行可能相阶段。 A.概念设计 B.逻辑设计 C.物理设计

13

D.全局设计

50.在关系数据库设计中,设计关系模式是数据库设计中( A )阶段的任务。 A.逻辑设计阶段 B.概念设计阶段

51.关系模式中各级模式之间的关系为 ( A ) A.3NF?2NF?1NF B.3NF?1NF?2NF

52.下列陈述中,错误的是 ( C ) C.3NF必然属于BCNF D.BCNF必然属于3NF

53.如何构造出一个合适的数据逻辑结构是( C )主要解决的问题 。A. 物理结构设计 B.数据字典 C.逻辑结构设计

54.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的(B)概念模型

55.数据库设计中,确定数据库存储结构,即确定关系、

索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的( D )C. 概念设计阶段 D. 物理设计阶段

56.数据库物理设计完成后,进入数据库实施阶段,下述工作中,( D )一般不属于实施阶段的工作。 D.扩充功能

1. 实体是指现实世界客观存在的事物,概念性的事物不能叫做实体。( × )

2. 事物之间往往存在某种自然联系,这种联系不能叫实体。( × )

3. 属性是指实体具有的某种特性或若干方面的特性。( √ )

4. 实体型是指实体属性的集合,表示实体所固有的若特征。( √ )

5. 实体型中各属性的具体取值称为实体值。( √ )

6. 属性取值的变化范围称为该属性的域。( √ ) 7. 关系模型就是关系数据库。( × )

8. 用二维表结构表示实体型,外键实现实体之间联系的模型称为关系模型。( √ )

9. 关系模型不能表示实体之间多对多联系。 ( × )

10.任何一张二维表格都表示一个关系。( × ) 11.关系是元组的集合。( √ )

12.数据库开发的需求分析阶段必须要有用户参与。( √ )

1. 数据库管理技术的发展是与计算机技术及其应用的

发展联系在一起的,它经历了三个阶段:____人工管理______阶段,___文件系统_______阶段和_____数据库系统_____阶段。

2. 数据库系统是指在计算机系统中引入数据库后的系

统,一般由____数据库______、_____数据库管理系统_____、___应用系统和_数据库管理员______构成。

3.数据库的三级体系结构是指 ____用户数据逻辑结构、数据的物理存储结构______ 和 ___整体逻辑结构______。

4. 模式(Schema)是数据库中全体数据的__逻辑结构__和_特征_的描述,它仅仅涉及到____型______的描

14

述,不涉及到具体的值。

5. 三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的____逻辑独立性______和______物理独立性____。

6.定义用户数据库的语言称为 DLL

7.在数据库系统中,用户对数据的操作只能通过 DML 语言进行。

8. 数据库数据具有____永久存储______、____有组织______和____可共享______三个基本特点。

9. 数据库管理系统是数据库系统的一个重要组成部

分,它的功能包括数据定义功能__、_数据操纵功能___、___数据库的运行管理、 _数据库的建立和维护功能____。

10.数据库具有数据结构化、最小的____冗余度______、较高的___数据独立性_______等特点。

11.DBMS还必须提供_____数据的安全性_____保护、____数据的完整性___检查、___并发控制__、__数据库恢复___等数据控制功能。

12.根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次.第一类是概念模型_第二类是数据模型_。

13.唯一标识实体的属性集称为___关键字_____ 。 14.实体之间的联系有___一对一_____ 、___一对多_____ 、___多对多_____三种。

15 .数据模型的三要素是指____数据结构______,____数据操作______,__完整性约束________。实际数据库系统中所支持的主要数据模型是____关系模型______,____层次模型______,_____网状模型_____。

16.数据模型中的____数据结构______是对数据系统的

静态特征描述,包括数据结构和数据间联系的描述,___数据操作_______是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。

17.用树型结构表示实体类型及实体间联系的数据模型称为__层次_模型,上一层的父结点和下一层的子结点之间的联系是 一对多 的联系。

18.用有向图结构表示实体类型及实体间联系的数据模型称为___网状_______模型,数据之间的联系通常通过____指针______实现。

19.层次模型的上层实体和下层实体之间表现为 1:n 联系。

20 .___关系模型_是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为关系数据库系统。

21.关系的完整性约束条件包括三大类:_____实体完整性_____、_____参照完整性_____和_____用户自定义的完整性_____。

22.关系操作的特点是 ___集合_____操作。

23.关系数据模型中,二维表的列称为___属性_____,二维表的行称为____记录或元组____。

24.用户选作元组标识的一个候选关键字为___主关键字_____,其属性不能取___空值_____。

25.关系代数运算中,传统的集合运算有___笛卡尔积

__,__并___,__交___,___差__。

26.关系代数运算中,基本的运算是___并_____,__差______,____笛卡尔积____,___选择_____,____投影____。

27.关系代数运算中,专门的关系运算有__选择______,___投影_____,__连接______。

28.关系数据库中基于数学上的两类运算是__关系代数______和____关系演算____。

29.关系代数中,从两个关系中找出相同元组的运算称为__交______运算。

30.已知系(系编号,系名称,系主任,电话,地点)

和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是__系编号__,系关系的外关键字是_没有_,学生关系的主关键字是___学号__,学生关系的外关键字是_系编号。 31.在合成E-R图时,要注意消除 冲突 问题,在优化E-R图时,要注意消除 潜在冗余 问题。

32.规范设计法从本质上看仍然是手工设计方法,其基本思想是__ 过程迭代__ 和____逐步求精____。 33.数据库的生命周期可分为两个阶段:一是数据库需求分析和__设计阶段______ ;二是数据库实现和__运行阶段______。

34.数据库设计分为以下六个阶段_需求分析、___概念

结构设计、__逻辑结构设计_、_物理设计阶段__、_数据库实施阶段__和___数据库运行和维护阶段___。

35.数据库实施阶段包括两项重要的工作,一项是____组织数据入库____ ,另一项是应用程序的___编码_____和___调试_____。

36.根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次第一类是概念模型,第二类是数据模型。

37.用___实体-联系方法_____ 方法来设计数据库的概念模型是数据库概念设计阶段广泛采用的方法。

38.概念模型有以下特点:___真实性_____、 ___易理解性_____ 、___易修改性_____ 、__易转换性______。 39.客观存在并可相互区别的事物称为__实体______ ,它可以是具体的人、事、物,也可以是抽象的概念或联系。

40.如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是___3_____ 个关系。 四、名词解释

1.实体:现实世界中客观存在的可以相互区分的事物或概念称为实体。

2.实体集: 同一类型实体的集合。

3.实体型: 具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

4.属性: 描述实体的特性。实体所具有的某一特性,一个实体可由若干个属性来刻画。

5.关键字:如果某个属性或属性组合的值能够唯一地标识出实体集中的每一个实体,可以选作关键字。

6.联系: 实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。

15

7.实体联系图:即E-R图,是用来描述现实世界中概念模型的一种著名方法。它提供了表示实体型、属性和联系的方法:实体型用矩形表示,矩形框内写明实体名;属性用椭圆开示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。

8.DDL: 数据定义语言。用来定义数据库模式、外模式、内模式的语言。

9.DML: 数据操纵语言。用来对数据库中的数据进行查询、插入、删除和修改的语句。

10.数据: 描述事物的符号记录称为数据。数据的各类有文字、图形、图像、声音、正文等。 11.数据库: 数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。每个数据库中的数据都是按照某一种数据模型来组织的。

12.数据库系统: 数据库系统是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

13.数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

14.逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构改变时,用户程序也可以不变。

15.模式: 数据库中有三种模式【☆三级体系结构☆】:外模式、概念模式和内模式。

外模式处于用户级,也称为用户视图(VIEW),它最接近用户,是单个用户看到并获准使用的那部分数据的逻辑结构;概念模式是对数据库所有用户的数据的整体逻辑描述,包括逻辑记录类型和记录之间的关系;内模式处于物理级,又称为存储模式。 五、简答题

1.什么是数据?数据有什么特征?数据和信息有什么关系?

数据是用于载荷信息的物理符号.

数据的特征是:1)数据有\型\和\值\之分;2)数据受数据类型和取值范围的约束;3)数据有定性表示个定量表示之分;4)数据应具有载体和多种表现形式

数据与信息的关系为:数据是信息的一种表现形式,数据能通过书写的信息编码表示信息.信息有多种表现形式,它通过手势、眼神、声音或图形等方式表达,但是数据是信息的最佳表现形式。由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深的信息。但是数据不等于信息,数据只是信息表达方式的一种。正确的数据可以表达信息,而虚假、错误的数据所表达的是缪误,不是信息。

2.什么是数据处理?数据处理的目的是什么?

数据处理是指对数据的收集、组织、整理、加工、

存储和传播等工作。围绕着数据所做的工作均称为数据处理。

数据处理目的为:通过数据管理,收集信息并将信息用数据表示和保存,在需要的时候使用;通过数据加工,对数据进行变换、抽取和运算,从而得到更有用的数据,以指导或控制人的行为或事物的变化趋势;通过数据传播,使更多的人得到并理解信息,从而使信息的作用充分发挥出来。

3.信息管理系统与数据库管理系统有什么关系?

数据库管理系统是提供数据库管理的计算机系统软件,它为信息管理系统的设计提供了方法、手段和工具,利用数据库管理系统设计信息管理系统可以达到事半功倍的效果。信息管理系统是实现某种具体事物管理功能的应用软件。信息管理系统的数据存放在数据库中,利用数据库管理系统,信息管理可以更快、更好的设计和实施。

4.用文件系统管理数据有什么缺陷?

用文件系统管理数据会有三个缺陷:1)由于文件之间缺乏联系,会造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储,所以数据冗余度大。2)由于数据冗余,在进行更新操作时,稍不谨慎,就可能是同样的数据在不同的文件中不一样,从而产生少数局部不一致缺陷。3)由于文件之间相互独立,缺乏联系,会造成数据联系弱的缺陷。

5.数据库系统阶段的数据管理有什么特点?

数据库系统阶段的数据管理有5方面的特点:1)采用复杂的数据模型表示数据结构。2)有较高的数据独立性。3)数据库系统为用户提供了方便的用户接口。4)系统提供有数据库的恢复、并发控制、数据完整和数据安全性的数据控制功能,以保证数据库中的数据是安全的、正确的和可靠的。5)对数据的操作不一定以记录为单位,也可以以数据项为单位,从而增加了系统的灵活性。

6. 数据库系统对计算机硬件有什么要求?

由于数据库系统是建立在计算机硬件的基础之上的,它在必须的硬件资源支持下才能工作。支持数据库系统的计算机硬件资源包括CPU、内存、外存及其他外部设备。外部设备主要包括某个具体的数据库系统所需的数据通信设备和数据输入输出设备。

因为数据库系统数据量大、数据结构复杂、软件内容多,所以要求起硬件设备能够处理并快速处理数据,这需要硬件的数据存储容量大、数据处理速度和数据输入输出速度快。具体要求为:1)计算机内存要尽量大;2)计算机外存也要尽量大;3)计算机的数据传输速度要快。

7.数据库系统的软件由哪些部分组成?它们的作用及关系是什么?

数据库系统的软件中包括操作系统(OS)、数据库管理系统

(DBMS)、主语言系统、应用程序软件和用户数据库。各软件之间的关系如图所示。

应用系统、数据库 应用开发工具软件 DBMS、主语言编译系统 操作系统 计算机硬件 应用开发工具软件 DBMS、主语言编译系统 操作系统 计算机硬件

数据库系统中各种软件的作用如下:

1)操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它

着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。

2)数据库管理系统和主语言系统:数据库系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。

3)应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具,如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。

4)应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。

8. 什么是E-R图?构成E-R图的基本要素是什么

E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1: 1,1 : n或m : n)。

9.为什么数据库系统中具有数据与程序的独立性?

数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。数据库系统之所以具有数据物理独立性高的特点,是因为数据库管理系统能够提供数据的物理与逻辑结构之间的映像或转换功能。这种数据映像功能是得应用程序可以根据数据的逻辑结构进行设计,并且一旦数据的存储结构发生变化,系统可以通过修改其映像来适应变化。所以数据物理结构的变化不会影响到应用程序的正确执行。

数据库系统之所以具有较高的数据逻辑独立性,是由于数据库系统能够提供数据的全局逻辑结构和局部逻辑结构之间的映像和转换功能。这种数据映像功能使得数据库可以按数据全局逻辑结构设计,而应用程序可以按数据

16

局部逻辑结构进行设计。这样,当全局逻辑结构中的部分数据结构改变时,即使那些与变化相关的数据局部逻辑结构受到了影响,也可以通过修改与全局逻辑结构的映像而减小其受影响的程度,使数据局部逻辑结构基本上保持不变。由于数据库系统中的程序中的程序是按局部数据逻辑结构进行设计的,并且当全局数据逻辑结构变换时可以使局部数据逻辑结构基本保持不变,所以数据库系统的数据逻辑独立性高。

10. 试述数据库系统中的二级映像技术及作用。

数据库系统的二级映像技术是指外模式与模式之间的映像、模式与内模式之间的映像技术,这二级映像技术不仅在三级数据模式之间建立了联系,同时也保证了数据的独立性。

外模式/模式之间的映像,定义并保证了外模式与数据模式之间的对应关系。当模式变化时,DBA可以通过修改映像的方法使外模式不变,由于应用程序是根据外模式进行设计的,只要外模式不变化,应用程序就不需要修改,保证了数据的逻辑独立性。

模式/内模式之间的映像,定义并保证了数据的逻辑模式与内模式之间的对应关系。当数据库的存储结构改变时,DBA可以通过修改模式/内模式之间的映像使数据模式不变化。由于用户或程序是按数据的逻辑模式使用数据的,所以只要数据模式不变,用户仍可以按原来的方式使用数据,程序也不需要修改,从而保证了数据的物理独立性。

11. 什么是数据库管理系统?它的主要功能是什么?

数据库管理系统简称DBMS,它是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性进行控制的功能。

数据库管理系统主要功能是① 数据库定义功能;② 数据存取功能; ③ 数据库运行管理;④ 数据库的建立和维护功能。

12. 什么是数据库系统?

数据库系统是指在计算机机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库系统的主要特点有:(1)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。

17

13. 简述使用DBMS管理数据的优点

使用DBMS管理数据有5方面的优点:1)采用复杂的数据模型表示数据结构。2)有较高的数据独立性。3)数据库系统为用户提供了方便的用户接口。4)系统提供有数据库的恢复、并发控制、数据完整和数据安全性的数据控制功能,以保证数据库中的数据是安全的、正确的和可靠的。5)对数据的操作不一定以记录为单位,也可以以数据项为单位,从而增加了系统的灵活性。

14. SQL语言具有什么功能?

SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,是一个综合、通用的功能极强,同时又简单易学的语言。其主要特点如下:

①综合统一。非关系模型的数据语言一般分为模式数据定义语言、外模式数据定义语言、子模式数据定义语言以及数据操纵语言,它们分别完成模式、外模式、内模式的定义和数据存取、处置功能。而SQL语言则集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作的要求,这就为数据应用系统开发提供了良好的环境。

②高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。

③面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

④以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。

⑤语言简捷,易学易用。 六、 应用题

1、设有系、教师、学生、课程等实体,其中每一个系包括系名、系址、系主任姓名、办公电话等属性,教师实体包括工作证号码、教师名、出生日期、党派等属性。学生实体包括学号、姓名、出生日期、性别等属性。课程实体包括课程号、课程名、预修课号等属性。设一个系可以有多名教师,每个教师教多门课程, 一门课程由一个教师教。其中有的教师指导多个研究生。每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。 1.画出E-R图。

SELECT DNO,DNAME FROM EMP, DEPT

WHERE EMP.DNO=DEPT.DNO AND ENO=?001?

3.请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%。 UPDATE EMP

SET SALARY=SALARY*1.1 WHERE ENO IN (SELECT ENO FROM EMP, DEPT

WHERE EMP.DNO=DEPT.DNO AND DNAME=?销售部? AND SALARY<600)

3.某公司的业务规则如下:

(1)每位职工可以参加几个不同的工程,且每个工程有多名职工参与;

(2)每位职工有一个职位,且多名职工可能有相同的职位;

(3)职位决定小时工资率,公司按职工在每一个工程中完成的工时,计算酬金;

(4)职工的属性有职工号、姓名、职位和小时工资率;

(5)工程的属性有工程号和工程名称。

试根据上述业务规则:①设计ER模型;②将ER模型转换成关系模式集,并规范化为3NF。 (1)E-R图

2.将以上的实体及实体集间的联系用关系模型表示出来

系(系名、系址、系主任姓名、办公电话) 教师(工作证号码、教师名、出生日期、党派,系名)

课程(课程号、课程名、预修课号,工作证号码)

学生(学号、姓名、出生日期、性别) 选课(课程号,学号,成绩) 2、设计题

(一)设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号

1.试用SQL语句完成以下查询:

列出各部门中工资不低于600元的职工的

平均工资。

SELECT DNO, AVG (SALARY) FROM EMP

WHERE SALARY>=600 GROUP BY DNO

2.写出“查询001号职工所在部门名称”

(2)转换成关系模式

工程(工程号,工程名称)

职工(职工号,姓名,职位,小时工资率) 酬金(工程号,职工号,工时) (3)3NF

工程(工程号,工程名称) 职工(职工号,姓名,职位) 职别(职位,小时工资率) 酬金(工程号,职工号,工时)

4、学校中有若干系,每个系有若干班级和教研室,每

个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。 答:

18

4.数据库的转储

参考答案:数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。 静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。 动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。 为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。

7.数据库系统的三级模式结构

参考答案:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级抽象模式构成,这是数据库系统的体系结构或总结构。三级抽象模式在数据库系统中都存储于数据库系统的数据字典中,是数据字典最其的内容,数据库管理系统通过数据字典来管理和访问数据模式。

8.关系模式的形式化表示

19

参考答案:外模式(也称子模式或用户模式):用户使用的局部数据的逻辑结构和特征的描述,是用户的局部数据视图。外模式通常是模式的子集,一个数据库可以有多个外模式。模式(逻辑模式):数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 一个数据库只有一个模式。内模式(也称存储模式):数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。外模式 / 模式映象:定义外模式与模式之间的对应关系,每一个外模式都对应一个外模式/模式映象。用于保证数据的逻辑独立性。模式 / 内模式映象:定义数据全局逻辑结构与存储结构之间的对应关系。数据库中模式/内模式映象是唯一的。用于保证数据的物理独立性 9.使用游标的步骤

参考答案:一般地,使用游标都遵循下列的常规步骤: (1) 声明游标。把游标和T-SQL语句的结果集联系起来。

(2) 打开游标。

(3) 使用游标操作数据。 (4) 关闭游标。 10.事务的ACID特性

参考答案:事务的ACID特性是指原子性、一致性、隔离性和持续性。原子性是指一个事务中包括的所有操作要么都做,要么都不做;一致性是指事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;隔离性是指一个事务的执行不能被其他事务干扰;持续

性是指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的 11.介质故障的恢复

参考答案:发生介质故障后,磁盘上的物理数据和日志文件被破坏,这是最严重的-种故障,恢复方法是重装数据库,然后重做己完成的事务。具体地说就是: 1.装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。

对于动态转储的数据库副本,还需同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到-致性状态。

2.装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即首先扫描日志文件,找出故障发生时己提交的事务的标识,将其记入重做队列。然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。

这样就可以将数据库恢复至故障前某一时刻的一致状态了。

介质故障的恢复需要DBA介入。但DBA只需要重装最近转储的数据库副本和有关的各日志文件副本,然后执行系统提供的恢复命令即可,具体的恢复操作仍由DBMS完成。

判断题

1. 数据库是存储在计算机内的一个结构化的相关数据的集合。( 对 )

2. 数据库是存储在计算机内的一个模块化的数据的集合。( 错 ) 3. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库包括数据库系统和数据库管理系统。( 错 ) 4. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库系统包括数据库和数据库管理系统。( 对 ) 5. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库管理系统包括数据库系统和数据库。( 错 ) 6. E-R图在概念上表示了一个数据库的信息组织情况,E-R图包括了实体、属性、联系三种基本图素。( 对 )

7. 在层次模型中两个结点间的关系只能是一对多关系。( 对 )

8. 层次模型是满足有且仅有一个根结点,非根结点有且仅有一个父结点的基本层次联系的集合。( 对 )

9. 网状模型与层次模型的共同之处在于都是用指针来表示实体间的联系。( 对 )

10. 关系模型是通过指针链接来表示两个实体间的联系。( 错 )

11. 关系模型是通过关系中的数据而不是通过指针链接来表示实体间的联系。( 对 )

12. 目前国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、AIM等。( 错 )

13. 我们一般称层次模型、网状模型、关系模型和面向对象数据模型为传统数据模型。( 错 )

14. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。( 对 )

15. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的逻辑独立性。( 错 )

16. 数据模型质量的高低不会影响数据性能的好坏。( 错 )

17. 对应于一个关系数据库模式的所有关系的集合称为关系数据库。所以,关系数据库是由若干个相关的关系组合而成。( 对 )

18. 关系数据库设计中,核心问题是关系模式的设计。( 对 )

19. 在关系数据库设计中,关系模式设计的好坏对数据库系统的性能和质量没有直接的影响。( 错 ) 20. 设X、Y为关系 R中的两个属性集,若Y完全函数依赖X,则是指Y函数依赖于X而并不函数依赖于X中任一真子集。( 对 )

21. 在非规范化的关系中去掉组项和重复数据项就能符合第一范式的条件。( 对 )

20

22. 如果关系模式R满足第一范式,且所有非主关键字属性都完全依赖于主关键字属性,则该模式满足第二范式的条件。( 对 )

23. 如果关系模式R满足第二范式,且每一个非主关键字属性均非传递函数依赖于主关键字属性,则该关系满足第三范式。( 错 )

24. 在关系数据库的设计中,对数据项的分解越细越好,范式越高越好。( 错 )

25. 小型关系数据库系统和大型关系数据库系统是公安信息系统当前和今后的应用主流。( 错 )

26. 关系数据库侧重于联机事务处理系统(OLTP),它是基于应用的。而数据仓库则侧重于联机事务分析(OLAP),它是面向主题和历史的事务分析和处理。( 对 )

27. 由于数据库系统在三级模式之间提供了外模式/模式映象和模式/内模式映象二层映象功能,保证了数据库系统具有较高的数据独立性。( 对 )

28. 关系数据库的规范化理论是数据库概念结构设计的有力工具;E-R模型是数据库的逻辑结构设计的一个有力工具。( 错 )

29. 关系数据库的实体完整性规则规定:基本关系的主属性都不能取空值。( 对 )

30. 关系数据库的参照完整性规则规定:一个基本关系的外码(对应于另一个基本关系的主码)的取值可以取空值,如果不取空则必须等于它所对应基本关系中的主码值。( 对 )

31. SQL是结构化的查询语言。( 对 ) 32. SQL是过程化的查询语言。( 错 ) 33. SQL是关系数据库语言。( 对 )

34. SQL语言具有数据定义、数据操纵、数据控制的功能。( 对 )

35. SQL语言具有数据定义、关系规范化、数据控制的功能。( 错 )

36. SQL语言具有两种使用方式,分别称为交互式SQL和嵌入式SQL。( 对 )

37. SQL语言中,UPDATE语句可以改变表的结构。( 错 )

38. 如果一 个SQL语句中包括两个名字相同的不同表中的列,则必须用合法性列名来排除二义性。( 对 ) 39. 关键字DESC可删除查询结果中的重复值。( 错 ) 40. 关键字DISTINCT可删除查询结果中的重复值。( 对 )

41. 触发器既可以定义于表上,又可以定义于视图上。( 错 )

42. 数据文件一旦加入到表空间中,就不能直接从这个表空间中移走,也不能与其它表空间发生联系。( 对 ) 43. 如果数据库对象存储在多个表空间中,那么可以通

过把它们各自的数据文件存放在不同磁盘上来对其进行物理分割。( 对 )

44. Oracle数据库结构可分为三个范畴:数据库内部的结构、存储区内部的结构和数据库外部结构。( 对 ) 45. 可以在一个表上创建约束条件。当一个约束条件应用于一个表时,表中的每一行都必须满足约束条件所规定的条件。( 对 )

46. 数据库的约束条件有助于确保数据的引用完整性。( 对 )

47. 数据库的约束条件有助于确保数据的安全性。( 错 )

48. Oracle数据库结构可分为三个范畴:数据库内部的结构、存储区内部的结构和存储区外部结构。( 错 ) 49. 触发器可分为语句触发器和行触发器。( 对 ) 50. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色又可以被授予多个用户。( 对 )

51. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色只能被授予某个用户。( 错 )

52. 回滚段随它所支持的事务的增大而增大。( 对 ) 53. 数据仓库系统由数据仓库、仓库管理和分析工作三部分组成。( 对 )

54. 数据仓库是一个新的平台,它不是建立在数据库管理系统基础上的。( 错 )

55. 数据仓库不是一个新的平台,它仍然建立在数据库管理系统基础上,只是一个新的概念。( 对 )

56. 数据仓库的数据来源来于多个数据源,包括企业内部数据,市场调查报告及各种文档之类的外部数据。( 对 )

填空题

1.数据库系统一般由(数据库)、应用系统、(数据库管理系统)、(数据库管理员)和用户构成。 2.数据模型通常由(数据结构)、(数据操作)、(数据的约束条件)三部分组成。

3.实体之间的联系可抽象为三类,它们是(一对一)、(一对多)、(多对多)。 4.在数据库设计中,(数据字典)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。 5.(事务)是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 6.数据库系统在运行过程中,可能会发生故障。故障主要有(事务故障)、系统故障、(介质故障)和计算机病毒四类。

21

7.并发控制的主要方法是采用(封锁)机制,其类型有(共享锁)和(排它锁)两种。

8.数据库的完整性是指数据的(正确性)和(相容性)。 9.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用(GRANT)语句,收回所授的权限使用(REVOKE)语句。 10.( 数据库 )是长期存储在计算机内的、有组织、可共享的数据集合。

11.数据库系统的三级模式结构是指数据库系统是由( 模式)、(外模式)、( 内模式)三级构成的。 12.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于( 第一(1NF))范式。

E-R图一般在数据库设计的( 概念结构设计)阶段使用。 13.( 事务 )是用户定义的一个数据库操作序列,是一个不可分割的工作单位,它具有(原子性)、(一致性)、( 隔离性)、( 持续性 )四个特性。

14.数据库系统中,系统故障通常称为( 软故障 ),介质故障称为( 硬故障 )。

15.关系操作的特点是(集合)操作。 16.若事务T对数据对象A加了S锁,则其他事务只能对数据A再加( S )锁,不能加(X )锁,直到事务T释放A上的锁。

17.信息处理的方式而言,在文件系统阶段,(程序设计)处于主导地位,(数据)只起着服从程序设计需要的作用;而在数据库方式下,(数据)占据了中心位置。 18.现实世界进行第一层抽象的模型,称为(概念)模型;对现实世界进行第二层抽象的模型,称为(数据)模型。

19.数据库的三级模式结构是对(数据)的三个抽象级别。

20.在数据库技术中,编写应用程序的语言仍然是C—类高级语言,这些语言被称为(宿主语言(或主语言,Host Language))语言。

21.层次、网状的DML属于(过程性)语言,而关系型DML属于(非过程性)语言。

22.关系模式的操作异常问题往往是由(数据冗余)引起的。

23.消除了非主属性对侯选键局部依赖的关系模式,称为(2NF)模式。

24.消除了非主属性对侯选键传递依赖的关系模式,称为(3NF)模式。

25.消除了每一属性对侯选键传递依赖的关系模式,称为(BCNF)模式。

26.恢复的基本原则是(冗余)。要使数据库具有可恢复性,在平时要做好两件事:(转储(备份))和(记“日志”)。

27.如果对数据库的并发操作不加以控制,则会带来四类问题:(丢失更新)、(读“脏数据”)和(不可重复读)。 28.事务的执行次序称为(调度)。

29.判断一个并发调度是否正确,可以用(可串行化)概念来解决。

30.封锁能避免错误的发生,但会引起(活锁和死锁)问题。

31.S封锁增加了并发度,但缺点是(容易发生死锁)。 32.两段式封锁是可串行化的(充分)条件。 33.数据库的完整性是指数据的(正确性)和(相容性)。 34.SQL中的安全性机制,主要有两个:(视图)和(授权)。

35.SQL的授权语句中的关键字PUBLIC表示(全体用户)。

36.在数据管理技术的发展过程中,经历了人工管理阶段,文件系统阶段和数据库系统阶段,在这几个阶段中,数据的独立性是(数据库系统)阶段实现的。

37.数据库是在计算机系统中按照数据模型组织、储存和应用的(数据的集合),支持数据库各种操作的软件系统叫(数据库管理系统),由计算机、操作系统、DBMS、数据库应用程序及用户等组成的一个整体叫做(数据库系统)。

38.数据库的基本特点是(数据可以共享(或数据结构化)、数据独立性、数据冗余度小,易扩充、统一管理和控制)。 39.(数据库)是存储在计算机内组织的结构化的相关数据的集合。

40.在数据库中存储的是(数据以及数据之间的联系)。 41.数据库的特点之一是数据的共享。严格的讲,这里的数据共享是指(多种应用,多种语言,多个用户相互覆盖所用的数据集合)。

42.数据库系统的核心是(数据库管理系统)。

43.数据库技术中采取分级方法将数据库的结构划分成多个层次,是为了提高数据库的(逻辑独立性)和(物理独立性)。

44.数据库系统的特点是(数据共享),数据独立,减少数据剩余,避免数据不一致和加强了数据保护。 45.数据库管理系统能实现对数据库中数据的查询,插入,修改和删除等操作,这种功能称为(数据操纵功能) 46.在数据库的三级模式结构中,描述数据库中的全体数据的全局逻辑结构和特征的是(模式)

47.为了使程序员编程时既可以使用数据库语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到(宿主语言)中

48.数据管理技术经历了(人工管理),(文件管理)和(数据库系统)三个阶段

49.数据库是长期存储在计算机内,有(组织)的,可

22

(共享)的数据集合

50.DBMS是指(数据库管理系统)它是位于(用户)和(操作系统)之间的一层管理软件 51.数据库管理系统的主要功能有(数据定义功能),(数据操作功能),数据库的运行管理和数据库的建立以及维护等4个方面。

52.数据独立性又可为(逻辑数据独立性)和(物理数据独立性)。

53.当数据的存储结构改变了,应用程序不变,而由DBMS处理这种改变。这是指数据的(物理独立性) 54.根据数据模型的应用目的不同,数据模型可分为(概念模型)和(数据模型) 55.数据模型是由(数据结构),(数据操作)和(完整性约束) 三部分组成的

56.按照数据结构的类型来命名,数据模型分为(层次模型),(网状模型)和(关系模型)。

57.现实世界的事物反映到人的头脑中经过思维加工是数据,这一过程要经历三个领域,依次是(现实世界),(信息世界)和(计算机世界)。

58.实体之间的联系可抽象为三类它们是(1:1),(1:m)和(m:n)

59.按所使用的数据模型来分,数据库可分为(层次)、(关系)和(网状)三种类型。

60.关系数据库规范化是为解决关系数据库中(插入、删除和数据冗余)问题而引入的。

61.关系规范中的删除操作异常是指(不该删除的数据被删除),插入操作异常是指(应该插入的数据未被插入)。

62.设计性能较优的关系模式称为规范化,规范化主要的理论依据是(关系规范化理论)。

63.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是(不可分解的)。

64.数据模型的三要素是(数据结构),(数据操作)和(数据约束条件)。

65.对于数据库系统,负责定义数据库内容,决定存储结构和存储策略及安全授权等工作的是(数据库管理员)。 66.关系模型是把实体之间的联系用(二维表格)表示。 67.在关系数据库中,当关系的类型改变时,用户程序也可以不变,这是(数据的逻辑独立性)。

68.当数据库的存储结构改变时,可相应修改(模式/内模式映像),从而保持模式不变。

69.在数据库系统的三级模式体系结构中,描述数据在数据库中的物理结构或存储方式的是(内模式)。

70.在数据库系统的三级组织结构中,DBA视图是(概念模式),系统程序员视图是(内模式),用户视图是(外

模式)。

71.表示实体及其联系的方法为(E-R图),基本图素包括(实体)、(属性)和(联系)。习惯上实体用(矩形)表示,实体属性用(椭圆形)表示,联系用(菱形)表示。 72.层次模型是用(树型)结构表示记录类型及其联系,其中上一层记录型和下一层记录型的联系是(1:M),层次模型不能直接支持(M:N)联系。

73.在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/内模式),实现了数据库的(物理)独立性。

71.在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为(实体完整性)规则。

72.描述概念模型常用的方法是(实体--联系方法)。 73.消除了部分函数依赖的1NF的关系模式,必定是( 2NF)。 74.关系模式中R的属性全部是主属性,则R的最高范式必定是( 3NF)。

75.在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在S中称为(外码)。 76.对于非规范化的模式,经过(将每一个分量化分为不可分的数据项)转变为1NF,将1NF经过(消除每一个非主属性对码的部分函数依赖,)转变为2NF,将2NF经过( 消除非主属性对码的传递函数依赖 )转变为3NF。

77.关系模型中的关系模式至少是(1NF)。

78.关系模式中,满足2NF的模式必定是(1NF)。 79.在关系模式R中,若其函数依赖集中所有候选键都是决定因素,则R最高范式是(4NF)。 80.候选关键字中的属性称为( 主属性)。

81.在数据库设计中,将E-R图转换成关系数据模型的过程属于( 逻辑设计阶段 )。

82.在数据库设计的4个阶段中,每个阶段都有自己的设计内容。“在哪些表、在哪些属性上、建什么样的索引”,这一内容应该属于(物理)设计阶段。 83.在数据库设计的需求分析阶段,数据字典通常由(数据项)、(数据结构)、(数据流)、(数据存储)和(处理过程)5部分组成。

84.在关系数据库设计中,使每个关系达到3NF,这是(逻辑设计阶段)阶段完成的。

85.设计概念结构时,常用的数据抽象方法是( 聚集)和(概括 )。

86.在数据抽象中,概括层次表示(是一个(is a))联系,聚集层次表示(是一部分(is part of))联系。 87.就方法的特点而言,需求分析阶段通常采用(自顶向下逐步细化)的分析方法;概念设计阶段通常采用(自

23

底向上逐步总和)的设计方法。

88.在数据库设计中,子类和超类存在着(继承)的联系。

89.由分E-R图生成初步E-R图,其主要任务是(消除属性冲突)、(消除结构冲突)和(消除命名冲突)。 90.由初步E-R图构成基本E-R图,其主要任务是(消除不必要的冗余)。 91.假定一个E-R图包含有A实体和B实体,并且从A到B存在着1:N的联系,则转换成关系模后,右以包含有(1或2 )个关系模式。 92.假定一个E-R图包含有A实体和B实体,并且从A到B存在着M:N的联系,则转换成关系模型后,包含有( 3 )个关系模式。 93.(物理结构设计)阶段与具体的DBMS密切相关。 94.数据流图是数据库系统设计过程中(概念结构设计)阶段完成的。

95.事物的所有操作要么全做,要么全不做,这是事务的(原子)特性。

96.并发操作带来的问题主要有(丢失修改),(不可重复读),(读脏数据)。

97.在登录日志文件时,应该先(登录日志文件),后(更新数据库)。

98.若事物T对数据R已经加了X锁,则其他事物对数据R(不能加任何锁)。 99.对数据对象施加封锁,可能会引起活锁和死锁问题。预防死锁通常有(一次封锁法)和(顺序封锁法)两种方法。

100.多个事物在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是(可串行化的)。 101.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的(安全性)。

102.关系规范化的目的是(控制冗余,避免插入和删除异常,从而增强数据的稳定性和灵活性).

103.在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在A中称为(外码)。 104.在一个关糸R中,若每个数据项都是不在分割的,那么R一定属于(1NF)

105.若关系为1NF,且它的每一个非主属性都(完全函数依赖于或不部分函依赖于)码,则该关糸为2NF。 106.设有如图所示的关糸R,R的候选关键字为(A和DE);R中的函数依赖有(AD→E,DE→A);R属于(BCNF)范式。

R A A1 D D1 E E2 A2 A3 A4 D6 D4 D4 E2 E3 E4

四.简答题

1.什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是实际存储在数据库中的二维表,它是本身独立存在的表,在SQL中一个关系就对应一个表。

视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。

区别:视图是从一个或几个基本表(或视图)中导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

2.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?

答:数据与程序的物理独立性是指当数据库的存储结构改变,将模式/内模式映象作相应改变,使模式保持不变,从而应用程序不必改变。

数据与程序的逻辑独立性是指当模式改变时,将外模式/模式的映象作相应改变,使外模式保持不变,从而应用程序不用修改。

3.简述事务所具有的ACID特性。 答:事务的ACID特性是:

原子性:事务是一个不可分割的单位。

一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。

隔离性:多个事务的并发执行不互相干扰。

持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。

4.登记日志文件时为什么必须先写日志文件,后写数据库?

答:把数据的修改写到数据库和把对数据的修改操作写到日志文件是两个不同的操作,在两个操作之间可能会发生故障如果先写了数据库修改,而在日志文件中没有登记这个修改,在恢复的时候就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志恢复时只是多执行一次撤消操作,并不影响数据库的正确性,为了安全,一定要先写日志文件。

5.DBMS的完整性控制机制应具有哪些功能? 答:应具有三方面的功能:

(1)定义功能,提供定义完整性条件的机制

(2)检查功能,检查用户发出的操作请求是否违

24

背了完整性约束条件。

(3)如果发现用户的操作请求违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 6.什么是数据字典?数据字典的作用是什么? 答:数据字典是系统中各类数据描述的集合

作用:供DBMS在处理数据存取时快速查找有关对象的信息,供DBA查询掌握系统的运行情况,支持数据库设计和系统分析。

7.什么样的并发调度是正确的调度?

答:多个事务的并发执行的结果与按某一次序串行的执行它们时的结果相同,我们说这样的并发调度是可串行化的调度,如果一个调度是可串行化的,那么认为它是正确的调度。 8.试叙述事务的4个性质,并指出每一个性质由DBMS的哪个子系统实现?每一个性质对DBS有什么益处? 答:1)事务的原子性是指一个事务对DB的所以操作,是一个不可分割的工作单位。原子性是由DBMS的事务管理子系统实现的。事务的原子性保证了DBS的完整性。

2)事务的一致性是指数据不会因事务的执行而遭受破坏。事务的一致性是由DBMS的完整性子系统实现的。事务的一致性保证数据库的完整性。

3)事务的隔离性是指事务的并发执行与这些事务单独执行时结果一样。事务的隔离性是由DBMS的并发控制子系统实现的。隔离性使并发执行的事务不必关心其他事务,如同在单用户环境下执行一样。

4)事务的持久性,是指事务对DB的更新应永久地反映在DB中。持久性是由DBMS的恢复管理子系统实现的。持久性能保证DB具有可恢复性。

9.事务的COMMIT语句和ROLLBACK语句的功能是什么? 答:COMMIT语句表示事务执行成功地接结束(提交),此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施(写入磁盘)。

ROLLBACK语句表示事务执行不成功地结束(应该“回退”)此时告诉系统,已发生错误,DB可能处在不正确的状态,该事务对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。 10.日志文件中记载了哪些内容?

答:日志文件中记载了事务开始标记、事务结束标记以及事务对DB的插入、删除和修改的每一次操作前后的值。 11.并发操作会产生几种不一致情况?用什么方法避免各种不一致的情况? 答:并发操作可能会产生丢失修改,不能重复读和读”脏”数据这三种不一致情况,采用封锁机制来进行并发控制,可避各种不一致情况。一级封锁协议可以避免丢失修

改,二级封锁协议可以避免丢失修改和读”脏”数据,三级封锁协议可以避免丢失修改、不能重复读和读”脏”数据。

12.X封锁与S封锁有什么区别? 答:X锁与S锁的区别如图所示。 X锁 只允许一个事务独锁数据 获准X锁的事务可以修改数据 事务的并发度低 X锁必须保留到事务终点 解决“丢失更新”问题 13.为什么要设立日志文件?

答:设立日志文件的目的,是为了记录对数库中数据的每一次更新操作,从而DBMS可以根据日志文件进行事务故障的恢复和糸统故障的恢复,并可结合后授副本进去介质故障的恢复。

14.怎样进行糸统故障的恢复?

答:系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤消故障发生时未完成的事务,重做已完成的事务。

⑴ 正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标识记入撤消(UNDO)队列。

⑵ 对撤消队列中的各个事务进行撤消(UNDO)处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。

⑶ 对重做队列中的各个事务进行重做(REDO)处理。

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”写入数据库。 15.怎样进行介质故障的恢复?

答:发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是:

⑴ 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。

对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。

⑵ 装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:

首先扫描日志文件,找出故障发生时已提交的事务S锁 的标识,将其记入重做队列。 允许多个事务并发S锁某一数据 然后正向扫描日志文件,对重做队列中的所有事务获准S锁的事务只能读取数据,但不能修改数据 进行重做处理。即将日志记录中“更新后的值”写入数据事务的并发度高,但增加了死锁的可能性 库。S 锁 根据需要,可随时解除16.数据库在运行过程中可能产生的故障有哪几类? 解决“读不一致性”问题 答:1)事务故障 事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为“事务故障”。

2)系统故障

系统故障是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事物。特定类型的硬件错误(CPU故障),突然停电等造成系统停止运行,致使事物在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。

3)介质故障

系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误。瞬间强磁场干扰,使存储在外存的数据部分损失或全部损失,称之为“介质故障”。

4)计算机病毒

计算机病毒是一种人为的故障和破坏,它是一种计算机程序,通过读写染有病毒的计算机系统中的程序和数据这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。

17.怎样进行事务故障的恢复

答:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是:

⑴ 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

⑵ 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。

⑶ 继续反向扫描日志文件,查找该事务的其他更

25

新操作,并做同样处理。

⑷ 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。

18.试述文件系统与数据库系统的区别和联系。 答:文件系统与数据库系统的区别是:

文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。

数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。

文件系统与数据库系统的联系:文件系统与数据库系统都是计算机系统中管理数据中管理数据的软件。

19.DBA的职责是什么?

答:1)决定数据库中的信息内容和结构

2)决定数据库的存储结构和存取策略

3)定义数据的安全性要求和完整性约束条件 4)监控数据库的使用和运行 5)数据库的改进和重组重构 20.试述查询优化的一般步骤。 答:1)把查询转换成某种内部表示

2) 把语法树转换成标准(优化)形式 3) 择低层的存取路径

4) 生成查询计划,选择代价最小的

21.数据库中为什么要有恢复子系统?它的功能是什么?

答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。

功能:是把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态),这就是数据库的恢复。

22.数据库转储的意义是什么?常用的有几种方法? 答:数据转储是数据库恢复中采用的基本技术,所谓转储即DBA定期将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新载入,将数据库恢复到转储时的状态。

转储可分为静态转储和动态转储。静态转储是在系统中无运行事务时进行的转储操作。动态转储是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。

转储还可分为海量转储和增量转储两种方式。

26

23.什么是日志文件?为什么要设立日志文件?

答:日志文件是用来记录事务对数据库的更新操作的文件。

目的是进行事物故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

24.试述使用检查点方法进行恢复的步骤。

答:1)从重新开始文件中找到追后一个检查点记录在日志文件中的地址,由该地址在体制文件中找到最后一个检查点记录。

2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。

这里建立两个事务队列: ①UNDO-LIST:需要执行undo操作的事务集合; ②REDO-LIST需要执行redo操作的事务集合。 把ACTIVE-LIST暂时放入UNDO-LIST队列,

REDO队列暂时为空。

3) 检查点开始正向扫描日志文件:

①如果有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;

②如有提交的事务T j,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;

4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。 25.什么是数据库镜像?它有什么用途?

答:根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据恢复过去,即DBMS自动保证镜像数据与主数据的一致性。

用途:1)一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库恢复,不需要关闭系统和重装数据库副本。

2)在没有出现故障时,数据库镜像还可以

并发操作。提高数据库的可用性。 26.请给出预防死锁的若干方法。

答:在数据库中,产生 死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。

预防死锁通常有两种方法:1)一次封锁法。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。2)顺序封锁法。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

27.请给出检测死锁发生的方法,当发生死锁后如何解决死锁?

答:一般使用超时法或事务等待图法。

① 超时法

如果一个事务的等待时间超过了规定的时限,就认

为发生了死锁。超时法实现简单,但其不足也很明显。一是有可能误判死锁,事务因为其他原因使等待时间超过时限,系统会误认为发生了死锁。二是时限若设置得太长,死锁发生后不能及时发现。

②等待图法

事务等待图是一个有向图G=(T,U)。 T为结点的集合,每个结点表示正运行的事务;U为边的集合,每条边表示事务等待的情况。若T1等待T2 ,则T1、T2之间划一条有向边,从T1指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地(比如每隔1分钟)检测事务等待图,如果发现图中存在回路,则表示系统中出现了死锁。

DBMS的并发控制子系统一旦检测到系统中存在死锁,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务得以继续运行下去。当然,对撤消的事务所执行的数据修改操作必须加以恢复。 28.试述两段锁协议的概念。

答:所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;

2)在释放一个封锁之后,事务不再申请和获得对该数据的封锁。

所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。

29.什么是数据库的完整性约束条件?

答:完整性约束条件是指数据库中的数据应满足的语义约束条件。一般可以分为六类:

1)静态列级约束 2)静态元组约束 3)静态关系约束 4) 动态列级约束 5) 动态元组约束 6) 动态关系约束

五、应用题

1.设有下列四个关系模式: S(SNO,SNAME,CITY)

27

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。分别用关系代数和SQL语言完成下列查询:

1)求供应工程项目号为J1工程零件的供应商号SNO

∏SNO(σJNO=?J1?(SPJ))

SELECT SNO FROM SPJ WHERE JNO=?J1?; 2)求供应工程项目号为J1工程零件号为P1的供应商号SNO

∏SNO(σJNO=?J1?∧PNO=?P1?(SPJ))

SELECT SNO FROM SPJ WHERE JNO=?J1? AND PNO=?P1?;

3)求供应工程项目号为J1工程红色零件的供应商号SNO

∏SNO(σJNO=?J1?∧COLOR=?红?(SPJ∞P))

SELECT SNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND P.COLOR=?红?AND JNO=?J1?; 4)求至少使用天津供应商生产的红色零件的工程号JNO

∏JNO(SPJ)-∏JNO(σcity=?天津?∧COLOR=?红?(SPJ∞P∞S)) SELECT JNO FROM SPJ,P,S

WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND CITY<>?天津?AND COLOR<>?红?;

5)求至少用了S1供应商所供应的全部零件的工程号JNO(本题不需要用SQL语言完成)

∏JNO,PNO(SPJ)?∏PNO(σSNO=?S1?(SPJ)) 2.现有如下关系模式:

雇员(员工姓名,居住城市,居住街道) 工作(员工姓名,公司名,工资)

公司(公司名,公司所在城市) 主管(员工姓名,主管姓名)

用关系代数完成下列查询:

1)找出所有在公司名为“firstbank”的公司工作的员工,显示员工姓名。

∏员工姓名(σ公司名=?firstbank?(工作))

2)显示为“firstbank”公司工作的员工姓名和居住城市。

∏员工姓名,居住城市(σ公司名=?firstbank?(雇员∞工作))

3)找出所有为“firstbank”公司工作且工资在1000元以上的员工,显示员工姓名和工资。

∏员工姓名,工资(σ公司名=?firstbank?∧工资>1000(工作)) 4)找出每个员工工资都在1000元以上的公司,显示公司名。

∏公司名(工作)-∏公司名(σ工资<1000(工作)) 5)找出主管人员Smith领导的员工姓名及员工居住的城市。

∏员工姓名,居住城市(σ主管姓名=?Smith?(雇员∞主管)) 3.设有下列关系模式:

STUDENT(NO,NAME,SEX,BIRTHDAY,CLASS)

TEACHER(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)

COURSE(CNO,CNAME,TNO) SCORE(NO,CNO,DEGREE)

其中,学生信息表STUDENT由学号(NO)、学生姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、班级(CLASS)组成,记录学生的情况;教师信息表TEACHER由教师号(NO)、教师姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、职称(FROF)、教师所在系(DEPART)组成,记录教师的情况;课程表COURSE由课程号(CNO)、课程名称(CNAME)、任课教师号(TNO)组成,记录所开课程及任课教师情况;成绩表SCORE由学生学号(NO)、课程号(CNO)、成绩(DEGREE)组成,记录学生选课情况及相应的成绩。用SQL语句实现以下操作

1)显示STUDENT表中每个学生的姓名和出生日期。 SELECT NAME,BIRTHDAY FROM STUDENT; 2)显示STUDENT表中所有姓“王”的学生记录。

SELECT * FROM STUDENT WHERE NAME LIKE ?王%?;

3)显示成绩表中成绩在60分到80分之间的所有记录。 SELECT * FROM SCORE WHERE DEGREE BETWEEN 60 AND 80;

4)显示“男”教师及其所上的课程。(显示该教师的姓名和所上的课程名)

SELECT TEACHER.NAME,COURSE.CNAME FROM TEACHER,COURSE

WHERE TEACHER.NO=COURSE.TNO AND SEX=?男?;

5)选出和“李军”同学同性别并同班的学生姓名。

SELECT NAME FROM STUDENT

WHERE SEX=(SELECT SEX FROM STUDENT WHERE NAME=?李军?)AND

CLASS=(SELECT CLASS FROM STUDENT WHERE NAME=?李军?);

28

6)向STUDENT表中插入一条学生记录。(学号:999,姓名:程功,性别:男,出生年月日:10/01/80,班级:95035)

INSERT INTO STYDENT VALUES(?999?,?程功?,?男?,?10/01/80?,?95035?);

7)在STUDENT表中将学号为“999”的学生的班号改为“95031”

UPDATE STUDENT SET=?95031?WHERE NO=?999?;

8)在STUDENT表中删除学号为“999”的学生记录。 DELETE FROM STUDENT WHERE NO=?999?; 4.设有下列四个关系模式:

S(SNO,SNAME,CITY)

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。 用SQL语言完成下列操作: ①找出工程项目J2使用的各种零件的名称及其数量

SELECT PNAME,QTY FROM SPJ, P WHERE SPJ.PNO=P.PNO AND JNO=?J2?; ②找出所有零件的名称、颜色、重量

SELECT PNAME, COLOR, WEIGHT FROM P; ③找出上海厂商供应的所有零件号码

SELECT DISTINCT PNO FROM SPJ

WHERE SNO IN ( SELECT SNO FROM S WHERE CITY=?上海?);

④从供应商关系中删除S2(供应商号)的记录,并从供应情况关系中删除相应的记录

DELETE FROM S WHERE SNO=?S2?; DELETE FROM SPJ WHERE SNO=?S2?; ⑤请将(S2,P4,J6,200)插入供应情况关系

INSERT INTO SPJ VALUS(?S2?,?P4?,?J6?,200);

5.设有3个关系:

S(S#,SNAME,AGE,SEX) SC(S#,C#,CNAME)

C(C#,CNAME,TEACHER)

试用关系代数表达式表示下列查询语句:

1)检索LIU老师所授课程的课程号和课程名。 ∏C#,CNAME(σTEACHER=?LIU?(C))

2)检索年龄大于23岁的男学生的学号和姓名。 ∏S#,SNAME(σAGE>?23?∧SEX=?M?(S)) 3)检索学号为S3学生所学课程的课程名与任课教师名。 ∏CNAME,TEACHER(σS#=?S3?(SC∞C))

4)检索至少选修LIU老师所授课程中一门课的女学生姓名。

∏SNAME(σSEX=?F?∧TEACHER=?LIU?(S∞SC∞C)) 5)检索WANG同学不学的课程的课程名。

∏C#(C)-ΠC#(σSNAME=?WANG?(S∞SC)

6)检索全部学生都选修的课程的课程号与课程名。

∏C#,CNAME(C∞(πS#,C#(SC) ? πS#(S)))

7)检索选修课程包含LIU老师所授全部课程的学生学号。

∏S#,C#(SC)÷∏C#(σTEACHER=?LIU?(C)) 6.对于教学数据库的3个基本表

S(S#,SNAME,AGE,SEX) SC(S#,C#,CNAME)

C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句:

1) 检索LIU老师所授课程的课程号和课程名。

SELECT C#,CNAME FROM C WHERE TEACHER= ?LIU?;

2)检索年龄大于23岁的男学生的学号和姓名。

SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=?M?; 3)检索学号为S3学生所学课程的课程名与任课教师名。 SELECT CNAME,TEACHER FROM SC,C WHERE SC.C# =C.C# AND S#=?S3?;

4)检索至少选修LIU老师所授课程中一门课的女学生姓名。

连接查询方式

SELECT SNAME FORM S,SC,C

WHERE S.S# =SC.S# AND SC.C# =C.C# AND SEX=?F?AND TEACHER=?LIU?;

嵌套查询方式

SELECT SNAME FORM S WHERE SEX =?F?AND S# IN

(SELECT S# FORM SC WHERE C#

IN

(SELECT C# FORM C WHERE

TEACHER =?LIU?));

存在量词方式

SELECT SNAME FORM S WHERE SEX=?F?AND EXISTS

(SELECT * FORM SC WHERE SC.S#

29

=S.S# AND EXISTS

(SELECT * FORM C WHERE

C.C# =SC.C# AND TEACHER=?LIU?)); 5)检索WANG同学不学的课程的课程名。

SELECT C# FOME C WHERE NOT EXISTS

(SELECT * FORM S,SC WHERE S.S# =SC.S# AND SC.C# =C.C# AND SNAME=?WANG?); 6)检索至少选修两门课的学生学号。

SELECT DISTINCT X.S# FROM SC X, SC Y WHERE X.S#=Y.S# AND X.C#!=Y.C#;

7)检索全部学生都选修的课程的课程号与课程名。

SELECT C#,CNAME FROM C WHERE NOT EXISTS

(SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#));

用集合包含

SELECT C#,CNAME FROM C WHERE (SELECT S# FROM SC WHERE C# =C.C# )

CONTAINS

SELECT S# FROM S; 或

SELECT C#,CNAME FROM C WHERE NOT EXISTS

((SELECT S# FROM S) EXCEPT

(SELECT S# FROM SC WHERE C# =C.C#));

8)检索选修课程包含LIU老师所授课程的学生学号。

SELECT DISTINCT S# FROM SC X WHERE NOT EXISTS

(SELECT * FROM C WHERE TEACHER=?LIU?AND NOT EXISTS

(SELECT * FROM SC Y WHERE Y.S# =X.S# AND X.C#=C.C#));

或:SELECT DISTINCT S# FROM SC X WHERE NOT EXISTS

((SELECT C# FROM C WHERE TRACHER=?LIU?) EXCEPT

(SELECT C# FROM SC Y WHERE Y.S# =X.S#)); 7.试用SQL查询语句表达下列对上题中3个基本表S、SC、C的查询:

1)统计有学生选修的课程门数。

SELECT COUNT (DISTINCT C#) FROM SC; 2)求选修C4课程的女学生的平均年龄。

SELECT AVG(AGE) FROM S,SC WHERE S.S#=SC.S# AND C# =?C?AND SEX=?F?;

3)求LIU老师所授课程的每门课程的平均成绩。

SELECT C.C#,AVG(GRADE) FROM SC,C WHERE SC.C# =C.C# AND TEACHER=?LIU? GROUP BY C.C#;

4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

SELECT C# ,COUNT(S#) FROM SC GROUP BY C# HAVING COUNT(*)>10 ORDER BY 2 DESC,1;

5)检索学号比WANG同学大,而年龄比他小的学生姓名。

SELECT SNAME FROM S WHERE S#>ALL (SELECT S# S WHERE SNAME=?WANG?)

AND AGE

6)在表SC中检索成绩为空值的学生学号和课程号。 SELECT S#,C# FROM SC WHERE GRADE IS NULL;

7)检索姓名以L打头的所有学生的姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SNAME LIKE ?L%?;

8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SEX=?M?AND

AGE >(SELECT AVG(AGE) FROM S

WHERE SEX=?F?);

9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SEX=?M?AND

AGE >ALL(SELECT AGE FROM S

WHERE SEX=?F?);

8.用SQL更新语句表达对上题教学数据库中关系S、SC、C作如下更新操作:

1)往关系C中插一个课程元组。

INSERT INTO C VALUES(?C8?,?VC++?,?BAO?); 2)SC中删除尚无成绩的选课元组。

DELETE FROM SC WHERE GRADE IS NULL; 3)把选修LIU老师课程的女同学选课元组全部删去。 DELETE FROM SC WHERE S# IN (SELECT S# FROM S WHERE SEX =?F?)

AND C# IN(SELECT C# FROM C WHERE TEACHER=?LIU?);

4)把MATHS课不及格的成绩全改为60分。 UPDATE SC SET GRADE = 60

WHERE GRADE<60 AND C# IN (SELECT C# FROM C WHERE CNAME=?MATHS?);

30

5)把低于所有课程总平均成绩的女同学成绩提高5%。 UPDATE SC SET GRADE = GRADE *1.05

WHERE S# IN(SELECT S# FROM S WHERE SEX=?F?)AND GRADE<(SELECT AVG(GRADE) FROM SC);

6)在表SC中修改C4课程的成绩,若成绩小于等于70分提高5%,若成绩大于70分时提高4%(用两种方法实现,一种方法是用两个UPDATE语句实现,另一种方法是用带CASE操作的一个UPDATE语句实现)。 UPDATE SC SET GRADE=GRADE * 1.04 WHERE C#=?C4?AND GRADE>70;

UPDATE SC SET GRADE =GRADE * 1.05 WHERE C # =?C4?AND GRADE<=70; 7)在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。

UPDATE SC SET GRADE = GRADE * 1.05

WHERE GRADE<(SELECT AVG(GRADE) FROM SC);

9.设数据库中有3个关系:

职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。

工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。 公司表 COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。

试用SQL语言写出下列操作:

1)检索超过50岁的男职工的工号和姓名。

SELECT E#,ENAME FROM EMP WHERE AGE>50 AND SEX=?M?;

2)假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。

SELECT EMP.E#,ENAME FROM EMP,WORKS WHERE EMP.E#=WORKS.E# AND SALARY>1000;

3)假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名。 SELECT A.E#,A.ENAME FROM EMP A,WORKS B,WORKS C

WHERE A.E#=B.E# AND B.E#=C.E# AND B.C#=?C4?AND C.C#=?C8?;

4)检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。

SELECT A.E#,A.ENAME FROM EMP A,WORKS B,COMP C

WHERE A.E#=B.E# AND B.C#=C.C# AND CNAME=?联华公司?

AND SALARY>1000 AND SEX=?M?;

5)假设每个职工可在多个公司工作,检索每个职工的 SELECT A.E#,A.ENAME FROM EMP A,WORKS 兼职公司数目和工资总数,显示(E#,NUM,B,COMP C

WHERE A.E#=B.E# AND B.C#=C.C# AND SUM_SALARY),分别表示工号、公司数目和工资总数。

SELECT E#,COUNT(C#) AS NUM,SUM(SALARY) CNAME =?联华公司?AND SALARY< AS SUM_SALARY (SELECT AVG(SALARY) FROM WORKS,

COMP WHERE WORKS.C#=COMP.C# AND CNAME FROM WORKS GROUP BY E#;

6)工号为E6的职工在多个公司工作,试检索至少在=?联华公司?);8)在每个公司中为50岁以上职工加薪E6职工兼职的所以公司工作的职工工号。 100元(若职工为多个公司工作,可重复加)。

SELECT X.E# FROM WORKS X WHERE NOT UPDATE WORKS SET SALARY =SALARY+100 EXISTS WHERE E# IN (SELECT E# FROM EMP WHERE

(SELECT * FROM WORKS Y WHERE AGE>50);

E#=?E6?AND NOT EXISTS 10)在EMP表和WORKS表中删除年龄大于60岁的职 (SELECT * FROM WORKS Z WHERE 工有关元组。

DELETE FROM WORKS WHERE E# IN (SELECT Z.E#=X.E# AND Z.C#=Y.C#));

7)检索联华公司中低于本公司平均工资的职工工号和E# FROM EMP WHERE AGE>60); 姓名。 DELETE FROM EMP WHERE AGE >60;

10.设有关糸模式:SB(SN,SNAME,CITY)其中,SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。

PB(PN,PNAME,COLOR,WEIGHT) 其中PB表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主要字键为PN。

JB(JN,JNAME,CITY)其中,JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JN。

SPJB(SN,PN,CITY)其中,SPJB表示供应关糸,SN是为指定工程提供零件的供应商代号,PN为所提供的零代号,JN为工程编号,OTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。 如图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能的SQL语句: SB PB SN SNAME CITY S1 S2 S3 S4 S5

N1 N2 N3 N4 S5 上海 北京 北京 上海 南京 PN PNAME COLOR WEIGHT P1 P2 P3 P4 P5 P6 PN1 PN2 PN3 PN4 PN5 PN6 红 绿 蓝 红 蓝 绿 12 18 20 13 11 15

SPJB JB

SN 1 S1 S2 S2 S2 S2 S2 S2 S2 S2

PN P1 P1 P3 P3 P3 P3 P3 P3 P3 P3 JN J1 J4 J1 J2 J3 J4 J5 J6 J7 J2 PTY 200 700 400 200 200 500 600 400 800 100 31

JN S3 S3 S4 S4 S5 S5 S5 S5 S5 S5 S5 S5 S5 S5 P3 P4 P6 P6 P2 P2 P5 P5 P6 P1 P3 P4 P5 P6 J1 J2 J3 J7 J2 J4 J5 J7 J2 J4 J4 J4 J4 J4 200 500 300 300 200 100 500 100 200 1000 1200 800 400 500 J1 J2 J3 J4 J5 J6 J7 JNAME JN1 JN2 JN3 JN4 JN5 JN6 JN7 CITY 上海 广州 南京 南京 上海 武汉 上海 1)取出为工程J1提供红色零件的供应商代号 SELECT DISTINCT SPJ.SN FROM SPJB,PB

WHERE PB.PN=SPJB.PN AND SPJB.JN=?J1?AND PB.COLOR=?红?; 2)取出为所在城市为上海的工程提供零件的供应商代号

SELECT DISTINCT SPJB.SN FROM SPJB,JB WHERE SPJB.JN AND JB.CITY=?上海?;

3)取出供应商与工程所在城市相同的供应商提供的零件代号

SELECT DISTINCT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=JB.CITY 六、综合题

1.设有如下所示的关系R(码为:课程名) 问:1)该关系模式为第几范式?为什么?

2)是否存在删除操作异常?若存在,则说明在什么情况下发生的?

3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题的? 关系R

答:(1) R∈2NF

课程名 教师名 教师地址 ∵R的侯选码为课程名,存在课程名→教师名,

C1 D1 王小强 教师名→课程名,教师名→教师地址

∴课程名→教师地址 C2 D2 李鸿雁 即存在非主属性对码的传递函数依赖关系

C3 D1 王小强 ∴R不属于3NF

C4 D1 张言 又∵不存在非主属性对码的部分函数依赖

∴R∈2NF

(2)存在删除操作异常,当删除某门课程时,教师的信息也被删除了。 (3)分解R

R1 R2

课程名 教师名 教师名 教师地址

C1 王小强 D1 王小强

C2 李鸿雁 D2 李鸿雁 C3 王小强 D1 张言 C4 张言

32

2.根据下列给出的关系模式和函数依赖集,指出该关系模式是第几范式?并说明理由。 1)R(X,Y,Z)码:XY F={XY→Z}

答:R∈BCNF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素都是码,所以R∈BCNF。 2)R(X,Y,Z)码:XY和XZ F={Y→Z,XZ→Y} 答:R∈3NF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素不都是码,所以R不是BCNF 。 3)R(X,Y,Z)码:X F={X→Y,X→Z}

答:R∈BCNF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素都是码,所以R∈BCNF。 4)R(X,Y,Z)码:WX F={X→Z,WX→Y}

答:R∈1NF 因为存在非主属性对码的部分函数依赖,所以R不属于2NF,所以R∈1NF。 3.设有如图所示关系R 关系R

课程名 C1 C2 C3 C4 教师名 马千里 于得水 佘快 于得水 教师地址 D1 D1 D2 D1 1)它为第几范式?为什么? 2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

3)将它分解为高一级范式,分解后的关糸是如何解决分角前可能存在的删除操作异常问题? 答:1)它是2NF

∵R 的候选关键字为课程名,而课程名→教师名,教师名→课程名,教师名→教师地址

∴课程名→教师地址,即存在非主属性教师地址对候选关健字课程名的传递函数依赖,因此R不是3NF。 又∵不存在非主属性对候选关健字是的部分函数依赖 ∴是2NF。

2)存在。当删除某门课程时会删除不该删除的教师的关信息。 3)分解为高一级范式如图所示。

R1 R2 课程名 C1 C2。 C3 C4 教师名 马千里 于得水 佘快 于得水 教师名 马千里 于得水 佘快 教师地址 D1 D1 D2 分解后,若删除课程数据时,仅对关糸R1操作,教师地址信息在关糸R2中仍然保留,不会丢失教师方面的信息. 4.设有如图所示的关糸R: 职工号 E1 E2 E3 E4

职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位名 CCC AAA CCC CCC 33

试问R属于第几范式?为什么?并如何规范化为3NF? 答:R不属于3NF,它是2NF

∵R的侯选关键字为职工号和职工名,而:

职工号→单位号,单位号→职工号, 单位号→单位名

∴职工号-------→单位名,即存在非主属性单位名对侯选关键职工号的传递函数依赖 规范化后的关系子模式为入图4.25所示的关系R1和R2

R1 R2

职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位号 D3 D1 单位名 CCC AAA

5.设有商业销售记账数据库,一个顾客(顾客姓名,单位,电话号码)可以买多种商品,一种商品(商品名称,型号,单价)供应多个顾客。试画出对应的E-R图并将其转换为关系模式。 答:E-R图 顾客 商品 销售 m n 顾客 单商品姓名 电单型 数量 价 名称 话位 号 根据E-R图转换的关系模式为:

顾客(顾客姓名,单位,电话号码) 商品(商品名称,型号,单价)

销售(顾客姓名,商品名称,型号,数量)

6.某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,三是有职工编号、姓名、性别、业绩等。

商店与商品间存在“销售”关系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。

1)试画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系模式主键和外键。 答:1)E-R图如图所示。

2)这个E-R图可转换4个关系模式: 商店(商店编号,商店名,地址)

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价) 销售(商店编号,商店号,月销售量)

34

商店编号angdian 商店名 地址 商店 月销售量 月薪 聘期 销售 商品 职工 商品号 单价 商店名 规格 聘用 职工编号 姓名 性别 业绩 7.设某商业

集团数据库中有3个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有

仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。

公司与仓库间存在“隶属”联系,没个攻击管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库铬镍钢做,仓库聘用职工有聘期和工资。 1)画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系迷失的主键和外键。 答:1)E-R图所示。

2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址)

仓库(仓库编号,仓库名,地址,公司编号)

职工(职工编号,姓名,性别,仓库编号,聘期,工资)

35

公司编号 公司名 地址 公司 仓库编号 隶属 仓库名 仓库 聘期 地址 聘用 工资 职工 职工编号 姓名 性别 8.设某工商业集团数据库有3个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。

供应商与商品之间存在“供应”关系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,没个商店销售每种商品有个月计划数。

1)试画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系模式的主键和外键。 答:1)E-R图所示。

2)这个E-R图可转换5个关系模式: 供应商(供应商编号,供应商名,地址) 商店(商店号,商店名,地址)

商品(商品号,商品名,规格,单价) 供应(供应商编号,商品号,月供应量) 销售(商店号,商品号,月计划数)

36

供应商编号 供应商名 地址 商店号 商店名 地址 供应商 商店 月供应量 供应 销售 月计划数 商品 商品号 商品名 规格 单价 9.某医院病房计算机管理中需要如下信息: 科室:科名,科地址,科电话,医生姓名 病房:病房号,床位号,所属科室号

医生:姓名,职称,所属科室名,年龄,工作证号 病人:病历号,姓名,性别,诊断,主管医生,病房号

其中,一个科室有多个病房,多个医生。一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成入下设计:

1)设计核算计算机管理系统的E-R图; 2)将该E-R图转换为关系模型结构;

3)指出转换结果中每个关系模式的侯选码 答:1) 科电话 科地址 病房科名 床位号 科室 病房 组成 入住 从属 诊治 病人 医生 年龄 性别 工作证号 病历号 姓名 姓名 职称 2)科室(科名,科地址,科电话) 病房(病房号,床位号,科室号)

医生(工作证号,姓名,职称,科室名,年龄)

病人(病历号,姓名,性别,诊治,主管医生,病房号) 3)每个关系模式的侯选码如下:

37

科室的侯选码是科名

病房的侯选码是科室名+病房号 医生的侯选码是工作证号 病人的侯选码是病历号

10.一个图书馆借阅管理数据库要求提供下述服务:

1)可随时查询书库中现有书籍品种,数量与存放位置,所有各类书记均可由书号惟一标识。 2)可随时查询书记借还情况,包括借书人单位,姓名,借书证号,借书日期和还书日期。

我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

1)当需要时,可通过数据库中保存的出版社的电报编号,电话,邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社具有惟一性。

根据以上情况和假设,试作如下设计: 1)构造E-R图;

2)转换为等价的关系模式 答:1)E-R图 2)关系模式:

借书人(借书证号,姓名单位)

图书(书号,书名.数量.位置.出版社名) 出版社(出版社名,电报,电话.邮编,地址) 借阅(借书证号,书号.借书日期.还书日期)

姓名 单位 借书证号

借书人 借书日期 借阅 还书日期 出版社名 电报编号 图书 书号 书名 数量 出版 出版社 电话 地址 位置 邮编

38