当前位置:文档之家› 第3章 数据库与表操作

第3章 数据库与表操作

第3章 数据库与表操作
第3章 数据库与表操作

一、选择题

1.下列关于项目、数据库和表的描述中不正确的是:。

A.一个项目可以包含多个数据库

B.一个数据库可以包含在多个项目中

C.一个数据库可以包含多个表

D.一个表可以包含在多个数据库中

2. V isual Fox Pro系统中,修改表结构的命令是。

A.MODIFY S TRUCTURE B.LIS T S TRUCTURE

C. DISPLAY S TRUCTURE D.CREA TE S TRUCTURE

3.表(table)是存储数据的容器。在下列有关V FP表的叙述中,错误的是。

A.每个表最多只能包含200多个字段

B.新建一个表后,一般会生成1~3个文件

C.自由表与数据库表在数据存储功能上相同,但在数据管理与控制功能上有差别

D.自由表添加到数据库中则变成数据库表,数据库表移出数据库则变成自由表

4.在V FP系统中,对于数据库表来说,如果将其移出数据库变成自由表,则该表原设置或创建的仍然有效。

A.候选索引B.长表名

C.记录有效性规则D.触发器

5.在创建表索引时,索引表达式可以包含一个或多个表的字段。在下列字段类型中,不能直接选作索引表达式的是。

A.货币型B.日期时间型

C.逻辑型D.备注型

6.在V FP系统中,如果指定二个表的参照完整性的删除规则为“级联”,则当删除父表中的记录时。

A.系统自动备份父表中被删除记录到一个新表中

B.若字表中有相关记录,则禁止删除父表中记录

C.自动删除子表中所有相关记录

D.不作参照完整性检查,删除父表记录与子表无关

7. V isual Fox Pro系统中,检测表文件指针是否已到文件尾的函数是。

A.BOF() B. EOF() C. END() D.FIEL()

8.表(table)是存储数据的容器。在下列有关V FP表的叙述中,错误的是。

A.系统默认的表文件扩展名为.dbf

B.利用设计器创建表结构时,系统默认的字符型字段宽度为10

C.自由表的索引功能与数据库表有区别

D.表文件名在命名上只要遵循操作系统的规定,V FP本身无任何新的限定

9.数据库(database)是许多相关的数据库表及其关系等对象的集合。在下列有关V FP数据库的叙述中,错误的是。

A.新建一个数据库后,会生成三个相关文件

B.从项目管理器中可以看出,数据库包含表、视图、查询、连接和存储过程

C.创建数据库表之间的永久性关系,一般是在数据库设计器中进行

D.数据库表之间创建“一对多”永久性关系时,主表必须用主索引或候选索引

10.在下列有关V FP表索引的叙述中,错误的是。

A.通过创建表的索引,不仅可以对记录数据进行排序,而且可以实现记录的筛选

B.对于数据库表来说,可以创建V FP系统支持的所有类型的索引

C.在表打开时,系统会自动地将默认的第一个索引作为主控索引

D.表的唯一索引并不能控制字段数据输入时的重复

11.数据库表可以设置字段有效性规则,字段有效性规则属于_。

A.实体完整性范畴B.参照完整性范畴

C.数据一致性范畴D.域完整性范畴

12.通用型字段宽度为。

A.1 B.2 C.4 D.8

13. XS(学生)表中有XM(姓名,字符型)和XB(性别,字符型)等字段。如果要将所有男生记录的姓名字段值清空,则可以使

用命令。

A. UPDA TE xs SET xm="" WHERE "xb"=男

B. UPDA TE x s SET xm=S PACE(1) WHERE xb= "男"

C. UPDA TE x s SET xm=S PACE(1) FOR xb= "男"

D. UPDA TE xs SET xm="" FOR "xb"= 男

14.在下列关于数据库表和临时表的叙述中,不正确的是。

A.数据库表随着其所在的数据库的打开而打开,也随着其所在的数据库的关闭而关闭

B.基于数据库表创建的临时表随着数据库的打开而打开,也随着数据库的关闭而关闭

C.用BROWSE命令可浏览数据库表,也可浏览临时表

D.临时表被关闭后,可使用USE命令再次将其打开

15.设某数据库中的学生表(XS.DBF)已在2号工作区中打开,且当前工作区为1号工作区,则下列命令中不能将该XS表关闭的是。

A.CLOSE TABLE

B.USE IN 2

C.CLOSE DA TABASE A LL

D.USE

16.首先执行CLOSE TABLES A LL命令,然后执行命令,可逻辑删除JS表中年龄超过60岁的所有记录。

A.DELETE FOR YEAR(DA TE()-YEAR(csrq))>60

B.DELETE FROM js WHERE YEAR(DA TE())-YEAR(csrq)>60

C.DELETE FROM js FOR YEAR(DA TE()-YEAR(csrq))>60

D.DELETE FROM js WHILE YEAR(DA TE())-YEAR(csrq)>60

17.数据库表的主索引(及候选索引)的设置可以实现。

A.域完整性B.实体完整性C.参照完整性D.用户自定义完整性

18.函数SELECT(0)的返回值是。

A. 当前工作区号

B. 当前工作区的下一个工作区号

C. 当前未被使用的最小工作区号

D. 当前未被使用的最大工作区号

19.在vfp中,“.dbf”文件被称为。

A. 数据库文件

B. 表文件

C. 程序文件

D. 项目文件

20.要求一个表文件的数值型字段具有5位小数,那么该字段的宽度至少为。

A 5位

B 6位

C 7位

D 8位

21.打开一张空表,分别用函数?EOF()和?BOF()测试,结果是。

A .T.和.T.

B .F.和.F.

C .T.和.F.

D .F.和.T.

22.下面命令组与BROW FOR xb=”女”具有相同的显示结果。

A BROW(回车)SET FIL TER TO (回车)

B SET FIL TER TO xb=”女”(回车)BROW(回车)

C SET FIL TER TO (回车)BROW(回车)

D BROW(回车)SET FIL TER TO xb=”女”(回车)

23.在js.dbf中筛选出性别为“女”的命令是。

A.SET FIL TER TO xb=”女”

B.SET FIL TER xb=”女”

C.SET FIELDS TO xb=”女”

D.SET FIL TER TO

24.当执行命令USE js A LLAS teacher IN B后,被打开的表的别名是。

A.teacher

B.js

C.B

D.js b

25.已知js表中有两条记录,下列操作中,返回值一定是.T.的是。

A.USE js

?EOF( )

B.USE js

GO 2

SKIP -1

?BOF( )

C.USE js

GO BOTTOM

SKIP

?EOF( )

D.USE js

SKIP-1

?EOF( )

26.某打开的表中有20条记录,当前记录号是8,执行命令GO TOP后,再执行S KIP -1命令,此时所显示的记录号为. 。

A.1

B.0

C.7

D.9

27.打开一张表后,执行下列命令:

GO 6

SKIP -5

GO 5

则关于记录指针的说法正确的是。

A.记录指针停在当前位置不动

B.记录指针的位置取决于记录的个数

C.记录指针指向第5条记录

D.记录指针指向第1条记录

28.恢复带删除标记的记录的是。

A.APPEND

B.P ACK

C.RECALL

D.ZAP

29.用表设计器创建一个自由表,不能实现的操作是。

A. 设置某字段可以接受NULL值

B. 设置表中某字段的类型为通用型

C. 设置表的索引

D. 设置表中某字段的默认值

30.一张表的全部meno字段的内容存储在。

A 不同的备注文件

B 同一个文本文件

C 同一个备注文件

D 同一个数据库文件

31.有关表的索引文件,下列说法不正确的是。

A 当一张表被打开时,其对应的结构复合索引文件被自动打开

B 任何表的结构复合索引能控制表中字段重复值的输入

C 一张表可以建立多个侯选索引

D 主索引指适用于数据库表

32.V isual Fox Pro参照完整性规则不包括__________。

A. 更新规则

B. 删除规则

C. 查询规则

D. 插入规则

33.对于表的索引操作,下列说法中是正确的。

A 一个独立的索引文件中可以存储一张表的多个索引

B 主索引只能用于自由表

C 表文件打开时,所有的复合索引文件都自动打开。

D 独立索引文件的文件名由系统自动给出。

34.建立索引时,字段不能作为索引字段。

A 字符型

B 数值型

C 通用型

D 日期型

35.下列描述中错误的是。

A 组成主索引的关键字或表达式在表中不能有重复的值

B 主索引只能用于数据库表,但侯选索引可以用于数据库表和自由表

C 唯一索引表示参加索引的关键字或表达式在表中只能出现一次

D 在表设计器中只能创建结构复合索引

36.对于自由表而言,不能创建的索引类型是。

A.主索引

B.候选索引

C.普通索引

D.唯一索引

37.在向数据库添加表的操作中,下列叙述中不正确的是。

A.可以将一张自由表直接添加到数据库中

B.可以将一张数据库表直接添加到另一个数据库中

C.可以在项目管理器中将自由表拖放到数据库中使之成为数据库表

D.欲使一张数据库表成为另一个数据库的表,则必须先使之成为自由表

38.当库表移出数据库后,仍然有效的是。

A.字段的默认值

B. 表的验证规则

C.记录的验证规则

D.结构复合索引39.如果一张数据库表的DELETE触发器设置为:性别=‘女’,则表示。

A.不许修改女生

B.不许删除女生

C.只许修改女生

D. 只许删除女生40.如果一张数据库表的UPDA TE触发器设置为.F.,则不允许该表的记录作。

A.修改.

B. 删除

C.添加

D.显示

41.下列描述错误的是。

A.数据库是一个包容器,它提供了存储数据的一种体系结构

B.自由表和库表的扩展名都是.dbf

C.自由表和库表的表设计器是不一样的

D.数据库表的记录存储在数据库中

42.下列关于索引的描述中错误的是。

A.组成主索引的关键字或表达式在表中不能有重复值

B.主索引只能用于数据库表,但候选索引可用于自由表和库表

C.必需将某个索引设置为主控索引后才能起作用。

D.在表设计器中可以创建各种索引文件

43.在对数据库的操作中,下列说法中正确的是。

A.数据库被删除以后,则它包含的库表也随着被删除

B.打开了新的数据库,则原来已打开的数据库被关闭

C.数据库关闭后,它所包含的所有打开的数据库表被关闭

D.数据库被删除后,则它所包含的表立刻成为自由表

44.创建数据库后,系统自动生成的三个文件的扩展名为。

A..pgx .pjt .rpg

B..sct .scx. .spx

C .fpt .frx .fx p

D .dbc .dct .dcx

45.逻辑删除当前表中的全部记录,应该使用命令__________。

A. PACK

B. DELETE

C. DELETE ALL

D. ZAP

46.对xsb.dbf进行删除操作,下列四组命令中功能等价的是。

①DELETE A LL ②DELETE A LL

P ACK

③ZAP ④把文件拖放到回收站中

A. ①②③

B. ③④

C. ②③④

D. ②③

47.下列命令中,能够进行条件定位的命令是__________。

A. SKIP

B. GO

C. LOCA TE

D. SEEK

48.如果要在数据库的两张表之间建立永久性关系,则至少要求在父表的结构复合索引文件中创建一个,在子表的结构复合索引文件中创建任何类型的索引。

A.主索引

B.数据库

B.主索引和侯选索引 D.唯一索引

49.数据库表之间创建的永久关系保存在中。

A.数据库表

B.数据库

C.表设计器

D.数据环境设计器

50.下列关于表之间的永久关系和临时关系的描述中,错误的是。

A.如果两库表之间存在永久关系,只要打开表,永久关系就起作用

B.表关闭之后临时关系消失

C.永久关系只能建立于数据库表之间,而临时关系可以建立于各种表之间

D.VFP中临时关系不保存在数据库中。

51.下列关于表的索引的描述中,错误的是。

A.复合索引文件的扩展名为.cdx

B.结构复合索引文件随表的打开而自动打开

C.当对表进行编辑修改时,系统对其结构复合索引文件中的所有索引自动进行维护

D.每张表只能创建一个主索引和一个侯选索引

52.对于自由表而言,不能创建的索引类型是。

A.主索引

B.候选索引

C.普通索引

D.唯一索引

53.在多工作区操作中,如果选择了1、3、5号工作区并打开相应的表,在命令窗口执行命令SELECT 0,其结果选择为当前工作区。

A. 0

B. 1

C. 2

D. 4

54.设有一张教师表js,含有一个字符型字段xb。下列命令中语法正确的是。

A. DELETE FROM js WHERE xb=’男’

B. DELETE TABLE js WHERE xb=’男’

C. DELETE FROM js FOR xb=’男’

D. DELETE TABLE js FOR xb=’男’

55.打开一张有记录的表后,未作记录指针移动操作时RECNO( )、BOF( )和EOF( )函数的值分别为________。

A. 0、.T.和.T.

B. 0、.T.和.F.

C. 1、.T.和.T.

D. 1、.F.和.F.

56.VFP中数据库的参照完整性指的是_________。

A. 保证表中的主关键字取值确定的,唯一的

B. 父表与子表之间的约束关系

C. 根据用户需求自编代码保证数据正确性和完整性

D. 为数据库表建立关联

57.命令SELECT 0 的功能是________。

A. 选择区号最小的空闲工作区

B. 选择区号最大的空闲工作区

C. 选择当前工作区的区号加1的工作区

D. 随机选择一个工作区的区号

58.若所建立索引的字段值不允许重复,并且一个表只能创建一个,它应该是________。

A. 主索引

B. 唯一索引

C. 候选索引

D. 普通索引

59.如果XS的UPDA TE触发器设置为:xh=“01”(xh:学号),则表示。

A.不许修改01级学生记录

B.不许删除01级学生记录

C.只能修改01级学生记录

D.只许删除01级学生记录

60.在VFP系统中,如果指定二个表的参照完整性的删除规则为“忽略”,则当删除父表中的记录时。

A.系统自动备份父表中被删除记录到一个新表中

B.若子表中有相关记录,则禁止删除父表中记录

C.自动删除子表中所有相关记录

D.不作参照完整性检查,删除父表记录与子表无关

61.下面程序执行后,浏览窗口显示的表及其当前工作区号分别是。

CLOSE TABLES ALL

USE js

SELECT 5

USE js AGAIN

SELECT 0

USE js AGAIN

BROW

A.B、2

B. js、23

C. B、5

D.E、2

二、填空题

1.V isual FoxPro系统支持3种不同的索引文件,即索引文件、非结构复合索引文件和独立索引文件。

2.设在1号工作区中打开XS表,若要求在2号工作区中再次打开XS表且别名设置为XUES HENG,则可使用命令:USE xs xuesheng IN 2 A GAIN

3.利用DBGETPROP()函数,可以获取当前数据库的属性设置信息,或当前数据库中的表、表字段或视图的属性设置信息。例如,要获取当前数据库S JK中XS表的xb字段的默认值,可以使用函数DBGETPROP("Xs.xb", "Field", " ") 。

4.查看x s表中xh字段的有效性规则,可以使用下列命令:

? dbgetprop(“x s.xh”,”,”RuleEx pression”)

5.存放在数据字典中的各种描述信息,包括所有数据的结构名、存储格式、完整性约束、使用权限等信息,这些描述信息通常称为_________。

6.对于包含备注型字段或字段的表来说,系统会自动生成和管理一个相应的备注文件,用于存储备注内容。备注文件的文件名与表文件名相同,其扩展名为.fpt。

7.虽然结构复合索引文件是随表的打开而自动打开的,但复合索引中的任何一个索引都不会被自动设置为主控索引,此时,表中的记录任按记录的物理顺序显示和访问。要设置一张表的主控索引可以有两种方式:在打开表的同时打开索引,或打开表以后再设置主控索引。打开表以后再设置主控索引的命令为。

8.触发器是绑定在表上的逻辑表达式,当表中的任何记录被指定的操作命令操作时,触发器被激活。触发器的返回值为.T.或.F.,如果为.F.,则相应的操作。

9.教学管理数据库中含有课程表(KC.DBF),该表中有以下字段:KCDH(课程代号C),KCM(课程名C),BXK(必修课否L),XF(学分N)。现要为该表设置一个记录级的规则:学分大于3的课程均为必修课。相应的逻辑表达式是。

10.设教师(JS.DBF)表中含有100个记录,运行下列程序后,显示记录个数是。

【程序2清单】

CLEAR

USE JS

SCAN

?RECNO(),GH,XM

SKIP

ENDSCAN

USE

11.下列程序段中的后三条命令,可用一条功能等价的命令来实现,这条命令是。

【程序清单】

SELECT 1

USE xs

SELECT 0

USE cj

SELECT x s

12.利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表、表的字段和视图的有关属性。例如,要设置JS 表中gh字段的标题属性,可以使用函数DBSETPROP(“”, “FIELD”, “Caption”,”工号”) 。

13.在VFP中,系统规定:除了自由表的字段名、表的索引标识名至多只能个字符以外,其余的名称的长度可以长达100多个字符。

14.利用COPY 命令可以将当前工作区中的表复制成Microsoft Excel文件。若当前工作区中已打开XS表,则使用命令COPY TO xyz ,可以将XS表复制成Excel文件x yz.xls。

15.使用USE命令可以打开或关闭表。如果XS表已在第1工作区打开,则要在第10工作区中再次打开XS表,可使用命令USE xs IN 10。

16.利用DBGETPROP()函数,可以返回当前数据库的属性,或返回当前数据库中表、表的字段和视图的有关属性。例如,要得到JS 表的记录级有效性规则,可以使用函数DBGETPROP(“js”, “”, “RuleEx pression”)

17.在V FP中,系统规定:名称(如变量名、字段名、对象的属性名等)只能以字母、汉字或下划线等字符开头,不能以数字字符开头。系统预定义了许多系统变量,它们的名称均以开头。

18.在VFP中创建一个数据库后,系统会生成三个文件:(数据库主文件)、.dct(数据库备注文件)和.dcx(数据库索引文件)。

19.在设置表之间的参照完整性规则时,系统给定的更新和删除规则有3个,即级联、限制和忽略,而插入规则仅有2个,即。20.某公司人事档案表中包含一个出生日期字段(字段名为csrq,类型为日期型),则根据“月日”(不包含“年份”)创建索引时,其索引表达式可以为。

21.使用SET ON|O FF命令,可以指定V isual FoxPro系统是否处理做了删除标记的表记录。

22.某表含有两个字段:XX(字符型)和YY(日期型)。若要创建一个索引,要求先根据XX字段排序,相同时再根据YY字段排序,则索引表达式可以设置为xx + 。

23.在两个数据库表之间创建永久性关系后,就可以创建它们之间的参照完整性规则。在V FP中,参照完整性规则分为更新规则、规则和插入规则。

24.如果因误操作删除了某个数据库文件,由于数据库表仍然保留对该数据库引用的后链,因此这些数据库表也不能被添加到其他的数据库中。这时需要利用命令删除存储在数据库表中的后链,使之成为自由表。

25.用INSER T-SQL命令在XS(学生)表中添加如下表格所示的记录,可使用命令:

INSER T INTO xs(xh,jl,csrq) ("E9999","获得三好学生称号",{^1988/07/14})

字段名与类型XH(字符型)JL(备注型)CSRQ(日期型)

值E9999 获得三好学生称号1988.07.14.

26.以独占方式打开js表的命令是use js 。

27.在js表中要删除所有工龄(字段名为gl)大于60的纪录的S QL命令是:

DELETE js WHERE 。

28.在js表中按如下要求更改基本工资(jbgz):

工龄在10年以下(不含10年)基本工资加20

工龄在10~19年基本工资加35

工龄在20年以上(含20年)基本工资加50

可用一个UPDA TE命令完成上述更改:

UPDA TE js jbgz=IIF(js.gl<10,,IIF(,jbgz+50,jbg z+35))

29.执行下述命令后,被打开的数据库文件个数是个,被打开的表文件个数是个。(JS表、XS表、CJ表均属于S JK1数据库)

CLOSE DA TABASE ALL

OPEN DA TABASE S JK1

OPEN DA TABASE S JK2

OPEN DA TABASE S JK3

USE JS

USE XS

USE CJ

30.如果依次执行下列命令,则x s表在两个工作区中同时打开,其别名分别为xs和______。

CLOSE DA TABASE ALL

USE xs

SELECT 20

USE xs AGAIN

31.已知xs表的结构复合索引中已创建xh字段的普通索引,索引标识为xh,在没有设置主控索引的情况下,要用SEEK命令定位到学号为“980101”的纪录上,则该命令为。

32.打开一张表时,索引文件将自动打开,表关闭时它将自动关闭。

33.通用型数据类型只能用于表中字段的定义,用于储存对象。

34.若要实现多字段排序,即先按班级(bj,N,1)顺序排序,同班的同学再按出生日期(csrq,D)顺序排序,同班且出生日期也相同的再按性别(xb,C,2)顺序排序,其索引表达式为。

35.记录的定位方式有定位、定位和条件定位三种。

36.已知一成绩表(score.dbf)的表结构如下:

字段名类型宽度含义

Xh C 3 学号

Qzcj N 3,0 期中成绩

Qmcj N 3,0 期末成绩

表中含有以下3条记录,按输入时的物理顺序排列如下:

Xh Qzcj Qmcj

001 85 73

002 92 81

003 80 87

对该表已创建结构复合索引:

索引顺序索引名索引表达式

降序Cj1 Qzcj+qmcj

升序Cj2 Str(qzcj)+str(qmcj)

执行如下命令:

USE score ORDER TAG cj1

BROWSE

则在浏览窗口中学号为“001”的记录在第行。再在命令窗口中执行命令:

SET ORDER TO TAG cj2

则在浏览窗口中学号为“001”的记录在第行。

37.xs.dbf表中记录总数为10,执行命令下列命令后,RECCOUNT函数的值为。

USE XS

DELETE NEXT 3

SET DELETE ON

38.xs.dbf表中记录总数为20,执行命令下列命令后,显示的值为。

USE XS

GO BOTT

SKIP

? RECNO ()

39.执行下列一组命令后,显示的值是____________。

CLOSE TABLE A LL

SELE 0

USE XS A LIAS S TU

USE JS IN 0

? SELECT ()

40.执行下述命令后,被打开的表文件是___________。

X=“XS.DBF/CJ.DBF/JS.DBF”

Y=“/”

L=A T(“/”,X)+1

F=SUBS TR(X,L,2)

USE&F

41.打开表文件的命令是____________。

42.在V isual FoxPro中,要设置参照完整性规则,必须事先建立表之间的___________。

43.设职工(zg)表中含有2个日期型字段:参加工作日期(cjgzrq)和出生日期(csrq)。若要创建一个索引,要求先根据参加工作日期排序,参加工作日期相同时根据出生日期排序,则索引表达式为__________。

三、按照要求写出相应的命令。

已知:

(1)学生表XS.DBF 包含字段XH,XM,XB,XZY DM分别表示学生的学号、姓名、性别、系专业代码。

(2)成绩表CJ.DBF包含字段XH,KCDM,CJ分别表示学号、课程代码和成绩。

(3)院系专业Y XZY.DBF包含XZY DM、Y XMC和ZY MC,分别表示系专业代码、院系名称和专业名称。

(4)工资表GZ.DBF包含字段GH,JBGZ分别表示工号和基本工资。

1.创建一个教师表(js.dbf),其中有字段gh(字符型,长度为8)、xm(字符型,长度为10)、csrq(日期型)、bz(备注型,且允许为NULL值)。

2.删除JS表中年龄超过60岁的所有教师的记录。

3.将工资表中GH以“A”开头的基本工资加200。

4.为院系专业表插入一条新纪录:系专业代码为“0015”,院系名称为“信息科学系”,专业名称为“人工智能”。

5.创建一个课程表(kc.dbf),其中有字段KCDM(字符型,长度为4)、KCM(字符型,长度为18)、KSS(数值型,长度为2)、BXK(逻辑型)。

6.将学号为“950106”,课程代码为“06”,成绩为“80”的记录从成绩表删除中。

7.更新成绩表CJ.DBF 的CJ字段的值,要求90分以下的新成绩为原成绩的1.1 倍,90分及以上的同学新成绩都为100分。8.将学号为“950106”,课程代码为“02”,成绩为“85”的记录插入到成绩表中。

9.将CJ(成绩表)中学号为“990102”、课程代码为“02”的学生的成绩改为:90。

10.删除成绩表中成绩不及格的所有记录。

11.将教师表“gh”字段的长度由“8”改为“4”。

12.将“bz”字段从教师表删去。

13.设置学生表“性别”字段的默认值为“男”。

14.把JL(备注型M 允许为NULL值)字段添加到JS表中。

15.把CS RQ(出生日期,字符型)字段添加到XS表中。

16.把ZP(照片,通用型)字段添加到XS表中。

17.将工资表的JBGZ字段长度改为由5位整数和2位小数组成。

18.设置学生表的有效性规则为必须年满16岁才能入学。

19.将工资表的“jbgz”改名为“sfgz”。

20.删除学生表的有效性规则。

数据库第三章作业

第3章关系数据库系统RDBS 一. 简答题 1.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对 表中其它一般性的列,用什么限制来保证它们的完整性? 答:主键:其值必须是唯一,不为空值; 候选键:其值必须唯一,可有也只能有一个空值; 外键:主键值在修改和删除时,从表中与该主键值相同的外键值可级联(CASCADE)修改和删除,或改为空值、默认值、禁止主表主键值的修改和删除; 一般的列:检查约束和断言。 2.SQL SERVER中规则的目的? 答:规则的目的针对表中的某一列,指明该列的取值范围。 3.SQL SERVER中在定义某些限制时,分列级与表级,其分类的原则是什么? 答:列级检查约束针对表中一列; 表级检查约束则针对同一表中多列 4.外键限制定义的条件? 答:外键限制的列必须是另一个表中的主键。 5.关系代数的基本操作符?笛卡尔乘积最大的作用是什么? 答:基本操作符:投影,选择,交,积,差; 作用:把任意两个不相关的表相连。 6.为什么说在实际查询中自然连接是用得比较多的? 答:可以从两个关系实例的笛卡尔乘积中选出同时满足一个或多个条件等式的行,每个条件等式中的列名相同。 7.关系代数中对结果有重复元组时,如何处理? 答:将去掉重复元组。 8.连接的分类? 答:条件连接:加入连接条件,对两个关系实施连接; 等连接:是条件连接的特例。要求连接条件由等式组成; 自然连接:是等连接的特例。要求等式中涉及的字段名必须相等; 外连接:是涉及有空值的自然连接。 9.外连接又分3种,其依据是什么? 答:左外联结,右外联结,全外联结。 二. 单项选择题

数据库第三章习题参考答案.

3-2 对于教务管理数据库的三个基本表 S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询: ⑴检索LIU老师所授课程的课程号和课程名。 ⑵检索年龄大于23岁的男学生的学号和姓名。 ⑶检索学号为200915146的学生所学课程的课程名和任课教师名。 ⑷检索至少选修LIU老师所授课程中一门课程的女学生姓名。 ⑸检索WANG同学不学的课程的课程号。 ⑹检索至少选修两门课程的学生学号。 ⑺检索全部学生都选修的课程的课程号与课程名。 ⑻检索选修课程包含LIU老师所授课程的学生学号。 解: ⑴SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’; ⑵SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’; ⑶SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’F’AND TEACHER=’LIU’; 或: SELECT SNAME (嵌套查询方式) FROM S WHERE SEX=’F’AND S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=’LIU’)) 或: SELECT SNAME (存在量词方式)

数据库第三章作业

第三章SQL 一、填空题 1、在SQL查询时,如果要去掉查询结果中的重复组,需要用() 2、在SQL中使用()命令建立基本表 3、在SQL中使用()命令修改数据库模式。 4、在SQL的SELECT语句中,不仅可以出现属性名,还可以出现()。 5、当基本表中增加一个新列后,各元组在新列上的值是()。 6、在SQL中表示并集的关键字是(0)。 7、在SQL中表示差集的关键字是()。 8、SQL对嵌套查询的处理方法是从()层向()层处理。 9、在SQL中定义视图时,需要用关键字()连接子查询来完成。 10、SQL包括了数据定义、数据操纵和()等功能。 11、SQL对嵌套查询的处理方法是从()层向()层处理。 二、单选题 1、在SQL中,用户可以直接操纵的是()。 A. 基本表 B. 视图 C. 基本表或视图 D. 基本表和视图 2、在SQL中,与关系代数中的投影运算对应的字句是()。 A. SELECT B. FROM C. WHERE D.ORDER BY 3、SELECT语句执行的结果是()。 A. 数据项 B. 元组 C. 表 D. 数据库 4、关系数据库的标准语言是()。 A. DDL B. SQL C. ORACLE D. DBMS 5、在SELECT语句中使用*表示()。 A. 选择任何属性 B. 选择全部属性 C. 选择全部元组 D. 选择键码 6、使用CREATE TABLE语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 7、在SELECT语句中使用MIN(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 8、使用CREATE VIEW语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 9、在SQL中使用UPDA TE对表中数据进行修改时,应使用的子句是()。 A. WHERE B. FROM C. V ALUES D. SET 10、使用CRETE INDEX语句建立的是()。 11、在SQL的语句中,ALTER的作用是()。 A. 删除基本表 B. 修改基本表中的数据 C. 修改基本表中的结构 D. 修改视图 12、在SELECT语句中使用A VG(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 13、在SQL中用关键字EXCEPT表示的运算是集合的()。 A. 交集 B. 并集 C. 差集 D. 连接 14、在SQL的排序子句:“ORDER BY总分DESC ,英语DESC”,表示()。 A. 总分和英语分数都是最高的在前面 B. 总分和英语分数之和最高的在前面

数据库第三章作业

数据库第三章作业 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

第3章关系数据库系统RDBS 一. 简答题 1.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性对 表中其它一般性的列,用什么限制来保证它们的完整性 答:主键:其值必须是唯一,不为空值; 候选键:其值必须唯一,可有也只能有一个空值; 外键:主键值在修改和删除时,从表中与该主键值相同的外键值可级联(CASCADE)修改和删除,或改为空值、默认值、禁止主表主键值的修改和删除; 一般的列:检查约束和断言。 2.SQL SERVER中规则的目的 答:规则的目的针对表中的某一列,指明该列的取值范围。 3.SQL SERVER中在定义某些限制时,分列级与表级,其分类的原则是什么 答:列级检查约束针对表中一列; 表级检查约束则针对同一表中多列 4.外键限制定义的条件 答:外键限制的列必须是另一个表中的主键。 5.关系代数的基本操作符笛卡尔乘积最大的作用是什么 答:基本操作符:投影,选择,交,积,差; 作用:把任意两个不相关的表相连。 6.为什么说在实际查询中自然连接是用得比较多的 答:可以从两个关系实例的笛卡尔乘积中选出同时满足一个或多个条件等式的行,每个条件等式中的列名相同。 7.关系代数中对结果有重复元组时,如何处理 答:将去掉重复元组。 8.连接的分类 答:条件连接:加入连接条件,对两个关系实施连接; 等连接:是条件连接的特例。要求连接条件由等式组成; 自然连接:是等连接的特例。要求等式中涉及的字段名必须相等; 外连接:是涉及有空值的自然连接。 9.外连接又分3种,其依据是什么 答:左外联结,右外联结,全外联结。 二. 单项选择题

access第3章数据表习题及答案

第三章创建和维护数据表习题及答案 一、选择题 (1)Access数据库的设计一般由5个步骤组成,对以下步骤的排序正确的是 a.确定数据库中的表b.确定表中的字段 c.确定主关键字d.分析建立数据库的目的 e.确定表之间的关系 A) dabec B) dabce C) cdabe D) cdaeb (2)学校欲建立一个“教学管理”的数据库,由教师表、学生表、课程表、选课成绩表组成,教师表中有教师编号、姓名性别、工作时间、职称、学历、系别等字段,试确认该表的主关键字是 A) 姓名B) 教师编号C) 系别D) 职称 (3)以下字符串不符合Access字段命名规则的是 A) ^_^birthday^_^ B) 生日C) Jim.jeckson D)//注释 (4)某学校欲建立一个“教学管理”的数据库,设计该数据库由教师表、学生表、课程表、选课成绩表组成,其中教师表由TeacherID、TeacherName、sex、[telephone]组成,现确定该表的主关键字为TeacherName。以下分析正确的是 A) 教师表字段命名有错误,其他正确 B) 教师表主关键字选择错误,其他正确 C) 教师表字段命名和主关键字错误 D) 该表设计没有错误 (5)一张“学生”表中,要使“年龄”字段的取值范围设在14~50之间,则在“有效性规则”属性框中输入的表达式为 A) >=14AND<=50 B) >=140R=<50 C) >=50AND<=14 D) >=14&&=<50

(6)可以选择输入数据或空格的输入掩码是 A) 0 B) < C) > D) 9 (7)将所有字符转换为大写的输入掩码是 A) > B) < C) 0 D) A (8)某文本型字段的值只能为字母且不允许超过6个,则将该字段的输入掩码属性定义为 A) AAAAAA B) LLLLLL C) CCCCCC D) 999999 (9)某数据库的表中要添加Intemet站点的网址,则该采用的字段的数据类型是 A) OLE对象数据类型B) 超级链接数据类型 C) 查阅向导数据类型D) 自动编号数据类型 (10)某数据库的表中要添加一张图片,则采用的该字段的数据类型是 A) OLE对象数据类型B) 超级链接数据类型, C) 查阅向导数据类型D) 自动编号数据类型 (11)Access数据库中哪个数据库对象是其他数据库对象的基础? A) 报表B) 表C) 窗体D) 模块 (12)在使用Access创建数据库中的表时,以下不能导入到Access数据库中的是 A) Excel表格B) ForPro创建的表C) Access数据库中的表D) Word文档里的表 (13)某字段中已经有数据,现要改变该字段大小的属性,将该字段大小重新设置为整数型,则以下所存数据会发生变化的是 A) 123 B) 2.5 C) -12 D) 1563 (14)Access中表与表的关系一般定义为 A) 一对多关系B) 多对多关系C) 一对一关系D) 多对一关系 (15)若要在某表中“姓名”字段中查找t:A wh开头的所有人名,则应在查找内容框中输入的字符串是 A) wh? B) wh* C) wh[ ] D) wh# (16)将文本字符串"23,18,9,66"按升序排序,排序的结果将是

数据库第3章习题参考答案

第3章习题解答 1.选择题 (1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。 A.主键B.外键C.NULL D.CHECK (2)下列关于表的叙述正确的是(C)。 A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏 C.系统表可以隐藏D.系统表可以删除 (3)下列关于主关键字叙述正确的是( A )。 A.一个表可以没有主关键字 B.只能将一个字段定义为主关键字 C.如果一个表只有一个记录,则主关键字字段可以为空值 D.都正确 (4)下列关于关联叙述正确的是( C )。 A.可在两个表的不同数据类型的字段间创建关联 B.可在两个表的不同数据类型的同名字段间创建关联 C.可在两个表的相同数据类型的不同名称的字段间创建关联 D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段 (5)CREATE TABLE语句(C )。 A.必须在数据表名称中指定表所属的数据库 B.必须指明数据表的所有者 C.指定的所有者和表名称组合起来在数据库中必须唯一 D.省略数据表名称时,则自动创建一个本地临时表 (6)删除表的语句是(A)。 A.Drop B.Alter C.Update D.Delete (7)数据完整性不包括(B )。 A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。 A.Insert一次只能插入一行的元组 B.Insert只能插入不能修改 C.Insert可以指定要插入到哪行 D.Insert可以加Where条件 (9)表数据的删除语句是( A )。 A.Delete B.Inser C.Update D.Alter (10)SQL数据定义语言中,表示外键约束的关键字是(B )。 A.Check B.Foreign Key C.Primary Key D.Unique 2.填空题 (1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。

《数据库系统概论》课后习题及参考答案

课后作业习题 《数据库系统概论》课程部分习题及参考答案 第一章绪论(教材 41页) 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库系统: 数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2.使用数据库系统有什么好处? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS来完成。 此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。 3.试述文件系统与数据库系统的区别和联系。 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是: 文件系统与数据库系统都是计算机系统中管理数据的软件。 5.试述数据库系统的特点。 数据库系统的主要特点有: 一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 二、数据的共享性高,冗余度低,易扩充

数据库课后作业

数据库大作业 11.针对习题10的四个表,用SQL语言完成以下各项操作: (1)给学生表增加一属性Nation(民族),数据类型为Varchar(20);ALTER TABLE dbo.Student ADD Nation VarChar(20); SElECT* FROM dbo.Student; (2)删除学生表中新增的属性Nation; ALTER TABLE dbo.Student DROP COLUMN Nation; SElECT* FROM dbo.Student; (3)向成绩表中插入记录(“2001110”,“3”,80); INSERT INTO dbo.Grade VALUES ('2001110','3',80); SElECT* FROM dbo.Grade; (4)将学号为“2001110”的学生的成绩修改为70分; UPDATE dbo.Grade SET Gmark= 70 WHERE Sno='2001110'; SElECT* FROM dbo.Grade; (5)删除学号为“2001110”的学生的成绩记录; DELETE FROM dbo.Grade WHERE Sno='2001110'; SElECT* FROM dbo.Grade;

(6)在学生表的Clno属性上创建一个名为IX_Class的索引,以班级号的升序排序; CREATE INDEX IX_CLASS ON dbo.Student(Clno); SELECT* FROM dbo.Student; (7)删除IX_Class索引。 DROP INDEX Student.IX_CLASS; SELECT* FROM dbo.Student; 12. 针对习题10的四个表,用SQL语言完成以下各项查询: (1)找出所有被学生选修了的课程号; SELECT DISTINCT Cno FROM Grade,Student WHERE Grade.Sno=Student.Sno; (2)找出01311班女学生的个人信息; SELECT* FROM Student WHERE Ssex='女'AND Clno='01311'; (3)找出0311班和01312班的学生姓名、性别、出生年份; SELECT Sname,Ssex,(2014-Sage)AS'出生年份' FROM Student WHERE Clno IN('01311','01312'); (4)找出所有姓李的学生的个人信息; SELECT* FROM Student WHERE Sname LIKE'李%';

数据库作业第三章

第三章关系数据库系统RDBS作业 一. 简答题 1.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对 表中其它一般性的列,用什么限制来保证它们的完整性? 主键约束:主要是针对主键,以保证主键值的完整性。要求主键值必须满足值唯一、不能为空值。 唯一约束:主要是针对候选键,以保证主键值的完整性。要求候选键必须满足值唯一、可有一个且仅有一个空值。 外键约束:是维护表与表之间外键所对应属性(组)数据的一致性。主表到从表,表示主表中的主键值在修改和删除时,从表中与该主键值相同的外键值可级联(CASCADE)修改和删除,或改为空值(SET NULL)或默认值(SET DEFAULT),或禁止(NO ACTION)主表主键值的修改和删除;从表到主表,表示从表中的外键值在插入和修改时,其值应参照(REFERENCE)主表中的主键值。 对于其他一般性的列,还有检查约束和断言。 2.SQL SERVER中规则的目的? RULE主要是针对表中的某一列,指明该列的取值范围。 3.SQL SERVER中在定义某些限制时,分列级与表级,其分类的原则是什么? 列级检查约束针对表中一列,表级检查约束则针对同一表中多列。 4.外键限制定义的条件? 在含外键的表上定义; 定义外键限制的列必须是另一个表中的主键。 5.请说明在维护表间数据完整时外键限制与触发器的异同。 1.错误信息的管理上:约束与触发器在遇到问题时都可以返回给用户一定的错误信息。但是,触发器可以返回数据库管理员自定义的错误信息,而且还可以实现较为复杂的逻辑控制,而约束只能够通过标准化的系统错误信息来传递错误消息; 2.性能上的差异分析:从性能上来说,约束的执行性能都要高一点。虽然约束的执行性能比较高,但是其向用户提供的错误信息确实非常有限的。 3.管理维护的工作量:由于约束基本上都是数据库现成的解决方案。无论是索引约束还是外键约束,又或者是check约束。往往在数据库系统中已经有了现成的解决方案。数据库管理员通过直接引用这些解决方案即可以实现特定的功能,而不用再费力的编写触发器来实现。而触发器中系统没有现成的可以引用,而都需要数据库管理员通过实际清理来进行编写。 6.关系代数的基本操作符?笛卡尔乘积最大的作用是什么? 关系代数的基本操作符:SELECTION(选择)、PROJECTION(投影)、UNION(并或称联合)、INTERSECTION(交)、DIFFERENCE(差)、CROSS-PRODUCT(积)。 笛卡尔操作的最大作用是把任意两个不相关的表联接起来。 7.为什么说在实际查询中自然连接是用得比较多的? 自然连接可以从两个关系实例的笛卡尔乘积中选出同时满足一个或多个条件等式的行,每个条件等式中的列名相同。同时,在结果模式中重复的字段只有一个。 8.关系代数中对结果有重复元组时,如何处理? 对关系代数中对结果有重复元组时,将去掉重复元组。 9.连接的分类?

数据库作业答案

班级:自动化3班姓名:方超

数据库作业解答: 第二章 1、指明下列实体间联系的种类: (1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。 答:一对多 (2)商店和顾客。 答:多对多 2、指出下列关系模式的主码: (1)考试情况(课程名,考试性质,考试日期,考试地点)。假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。 答:课程名、考试日期 (2)教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一学年和

学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数。 答:课程号、学年、学期 (3)图书借阅(书号,读者号,借书日期,还书日期)。假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同的时间借给不同的读者。但一个读者不能在同一天对同一本书借阅多次。 答:书号、读者号、借书日期 第三章 1、数据完整性的含义是什么? 答:数据的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。 2、在对数据进行什么操作时,系统检查Default约束?进行什么操作时,检查Check约束? 答:插入操作且省略了某些列的值时检查DEFAULT约束。插入和修改操作检查CHECK 约束。 3、UNIQUE约束的作用是什么? 答:限制列的取值不重复。 第六章

数据库第三章作业

班级:软件工程2班 姓名:方添翼 学号:2012551523 3.1 A.select * from course where dept_name='Comp. Sci.'and credits=3 B.select distinct student.ID from (student join takes using(ID)) join(instructor join teaches using(ID)) using(course_id,sec_id,semester,year) where https://www.doczj.com/doc/e63956890.html,='Einstein' C.select max(salary)from instructor D.select https://www.doczj.com/doc/e63956890.html, from instructor a where salary=(select max(salary)from instructor) E.select course_id,sec_id,count(ID) from section natural join takes where semester='Autumn'and year=2009 group by course_id,sec_id; F.select max(a) from(select count(id)as a from takes natural join section where semester='Autumn' and year=2009 group by course_id,sec_id) G. 3.2 A.(select sum(credits*points) from(takes natural join course)natural join grade points where ID='12345') B.select sum(credits*points)/sum(credits)as GPA from(takes natural join course)natural join grade_points where id='12345' C.select id,sum(credits*points)/sum(credits)as GPA from(takes natural join course)natural join grade_points group by id 3.3 A.update instructor set salary=salary*1.1

数据库原理习题与答案第3章数据库系统结构

第三章.数据库系统结构 习题: 一.选择题 1.数据库技术中采用分级方法将数据库的结构划分成多个层次,是为了提高数据库的(1)和(2)。 (1)A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享 (2)A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性 2.数据库中,数据的物理独立性是指。 A.数据库与数据库管理系统的独立 B.用户程序与DBMS的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 3.数据库系统的最大特点是。 A.数据的三级抽象和二级独立性 B.数据共享性 C.数据的结构化 D.数据独立性 4.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是 。 A.外模式 B.内模式 C.存储模式 D.模式 5.数据库系统的数据独立性是指。 A.不会因为数据的变化而影响应用程序 B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其它的存储结构 6.数据库三级模式体系结构的划分,有利于保持数据库的。 A.数据独立性 B.数据安全性 C.结构规范性 D.操作可行性

1.试述数据库系统三级模式结构,这种结构的优点是什么。 2.定义并解释以下术语:模式、外模式、内模式、DDL、DML。 3.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?

一.选择题 4.(1)B (2)B 5.C 6.A 7.D 8.B 9.A 二.简答题 1.数据库系统的三级模式结构由外模式、模式和内模式组成。外模式,亦称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构,外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 2.模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。外模式,亦称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 DDL:数据定义语言,用来定义数据库模式、外模式、内模式的语言。 DML:数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。 3.数据与程序的逻辑独立性:当模式改变时,由数据库管理员对各个外模式//模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而

数据库第三章作业

第三章关系数据库系统RDBS 作业 一. 简答题 1.表间数据完整性的实现方式? 答:外键约束。 2.对于表中几个特殊的列,如主键、候选键和外键,分别用什么限制来保证它们的完整性?对 表中其它一般性的列,用什么限制来保证它们的完整性? 答:主键:主键约束。 候选键:唯一约束。 外键:外键约束。 一般性列:检查约束和断言。 3.SQL-92标准支持的完整性限制是否一定会在SQL SERVER中实现,举例说明? 答:不一定。 SQL-92标准推荐断言,SQL Server不支持断言。 SQL Server支持触发器,SQL-92标准没有定义触发器。 4.SQL SERVER中缺省和规则的目的? 答:指定列的取值范围。 5.外键限制定义的条件? 答:定义外键约束的列必须是另一个表中的主键或候选键。 6.请说明在维护表间数据完整时外键限制与触发器的3点不同之处。 答: ○1.错误信息的管理上:约束与触发器在遇到问题时都可以返回给用户一定的错误信息。但是,触发器可以返回数据库管理员自定义的错误信息,而且还可以实现较为复杂的逻辑控制,而约束只能够通过标准化的系统错误信息来传递错误消息; ○2.性能上的差异分析:从性能上来说,约束的执行性能都要高一点。虽然约束的执行性能比较高,但是其向用户提供的错误信息确实非常有限的。 ○3.管理维护的工作量:由于约束基本上都是数据库现成的解决方案。无论是索引约束还是外键约束,又或者是check约束。往往在数据库系统中已经有了现成的解决方案。数据库管理员通过直接引用这些解决方案即可以实现特定的功能,而不用再费力的编写触发器来实现。而触发器中系统没有现成的可以引用,而都需要数据库管理员通过实际清理来进行编写 7.关系代数的基本操作符?笛卡尔乘积最大的好处是什么?最大的缺点又是什么? 答:○1基本操作符:SELECTION (选择)、PROJECTION(投影)、UNION(并,或称联合)、INTERSECTION(交)、DIFFERENCE(差)、CROSS PRODUCT(积,或称笛卡尔乘积)。 ○2最大的作用:可将两张或多张有关联(即有相同的列)或无关联的表的数据组合起来。

数据库第三章习题及答案

百度文库- 让每个人平等地提升自我 第3章关系数据库标准语言SQL 一、选择题 1、SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式答案:B 2、SQL语言是语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C 3、SQL语言具有的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B 4、SQL语言具有两种使用方式,分别称为交互式SQL和。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C 5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。 A.S B.SC,C C.S,SC D.S,C,SC 答案:D 6、若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2)) 可以插入到student表中的是。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B 7、当两个子查询的结果时,可以执行并,交,差操作. A.结构完全不一致 B.结构完全一致 C.结构部分一致 D.主键一致答案:B 第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。 8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=‘王华’) B.SELECT SN,AGE,SEX FROM S WHERE SN=‘王华’ C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=‘王华’) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 答案:A 9、检索选修课程‘C2’的学生中成绩最高的学生的学号。正确的SELECT语句是。 A.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>= (SELECT GRADE FORM SC WHERE C#=‘C2’) B.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=‘C2’) C.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=‘C2’) D.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=‘C2’) 答案:D 10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S# B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC 答案:C 11、关系代数中的л运算符对应SELECT语句中的( )子句. BY 答案:A 12、关系代数中的σ运算符对应SELECT语句中的( )子句. BY 答案:C 13、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( ).

数据库第三章习题

第3章SQL语言习题 一、单项选择题 语言是()的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 语言是()语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 语言具有()的功能。 A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操 纵 4.关于SQL语言,下列说法正确的是()。 A 数据控制功能不是SQL语言的功能之一 B SQL采用的是面向记录的操作方式,以记录为单位进行操作 C SQL是非过程化的语言,用户无须指定存取路径 D SQL作为嵌入式语言语法与独立的语言有较大差别 5.对表中数据进行删除的操作是()。 语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是()。 语言具有两种使用方式,分别称为交互式SQL和()。 A.提示式SQL B.用户式SQL C.嵌入式SQL D.解释式SQL 语言中,实现数据检索的语句是()。 9.下列SQL语句中,修改表结构的是()。 D .DELETE 10.在SQL中,用户可以直接操作的是()。 A 基本表 B 视图 C 存储文件 D 基本表和视图 11.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。 A WHERE B FROM C SELECT D HAVING 12.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用()。 A WHERE B GROUP BY C ORDER BY D HAVING 13.SQL中,与“NOT IN”等价的操作符是()。 A =ANY B <>ANY C =ALL D <>ALL

第3章和第6章习题参考答案

12.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖; 仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 试画出E-R 图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。 解:ER 图及属性、联系图如下: 将ER 图转换成为关系模式集为: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 13.设某商业集团数据库中有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。 供应商与商品间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,供应商供应每种商品有月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,商店销售商品有月计划数。 试画出E-R 图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。 解:ER 图及属性、联系图为: N 1 隶属 聘用 仓库编号 仓库 仓库名 地址 聘期 工资 N 1 公司编号 公司名 地址 公司 职工编号 职工 性别 姓名

这个ER 图转换的关系模式如下: 商品(商品号,商品名,规格,单价) 供应商(供应商编号,供应商名,地址) 商店(商店号,商店名,地址) 供应(商品号,供应商编号,月供应量) 销售(商品号,商店号,月计划数) 14.假设要为银行的储蓄业务设计一个数据库,其中涉及到储户、存款、取款等信息,试设计E-R 模型。 解:储蓄业务主要是存款、取款业务,设计的ER 图如下所示。 15.假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务管理规则如下: (1) 该超市公司有若干仓库,若干连锁商店,供应若干商品。 (2) 每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。 (3) 每个商店销售多种商品,每种商品可在不同的商店销售。 M N M 供应 销售 月计划数 商品号 单价 商品 商品名 规格 供应商名 供应商编号 供应商 地址 商店 商店号 地址 商店名 月供应量 N N 1 N 存款 取款 取款日期 储户 存款方式 存款单号 存款单 金额 取款单 取款单号 金额 取款方式 存款日期 1 账号 地址 身份证号 姓名 存款余额

数据库第三章课后习题答案

第三章课后习题 3-7 (1) delete from s Where placeofb=’上海’; (2)delete from sc Where s# in (select s# from s where sname=’李建平’); (3)delete form s Where s# in(select s# from sc where grade is null); 3-8 (1)update sc Set grade=61 Where grade<60 and c# in(select c# from c where cname=’计算机网络’); (2)update sc Set grade=grade*1.05 Where grade<(select avg(grade) From sc

Where c# in(select c# From c Where cname=’数据结构’)) and C# in(select c# From c Where cname=’数据结构’); 3-10 (1)create view grade_t As Select s.s#,sname,c.c#,cname,classh,grade,t.t#,tname From s,c,t,sc,teach Where s.s#=sc.s# and c.c#=sc.c# and sc.c#=teach.c# and teach.t#=t.t#; (2)create view teach_l As Select t.t#,tname,c#,cname,classh,avg(grade) as avg_grade From t,c,sc,teach Where t.t#=teach.t# and teach.c#=sc.c# and sc.c#=c.c# Group by t.t#; 3-11 select s#,sname From s Where ssex=’男’;

数据库第三章课后习题解答

3-3 习题3 在SQL Server中,创建一个名为students且包含有下列几个属性的表。 SNO char(10); NAME varchar(10); SEX char(1); BDATE datetime; DEPT varchar(10); DORMITORY varchar(10). 要求:1.采用两种形式创建表,即用SQL语句和用图形界面的形式来创建。 2.定义必要的约束,包括主键SNO,NAME值不允许为空,且SEX取值为0或1。【解答】 ·进入SQL查询分析器建立查询,创建students表的SQL语句如下,操作如图所示。 use mydb /* 假设在mydb库中建表 */ create table students (SNO char(10) not NULL primary key, NAME varchar(10) not NULL, SEX char(1) not NULL check(sex='0' or sex='1'), BDATE datetime, DEPT varchar(10), DORMITORY varchar(10) )

图用SQL语句创建students表 ·进入企业管理器用基本操作创建students表。用右键单击“mydb”数据库,从弹出的菜单中选择“新建”,再从其下一级菜单中选择“表”。或者,用右键单击“mydb”数据库下一级的“表”,从弹出的菜单中选择“新建表”。然后,在弹出的窗体中,把students表所包含的字段逐一输入,每个字段都要指明列名、数据类型、长度和是否允许空值、是否主键等内容,如图所示。

相关主题
文本预览
相关文档 最新文档