《数据库基础与应用》阶段练习.docx

上传人:b****7 文档编号:9013198 上传时间:2023-02-02 格式:DOCX 页数:15 大小:30.86KB
下载 相关 举报
《数据库基础与应用》阶段练习.docx_第1页
第1页 / 共15页
《数据库基础与应用》阶段练习.docx_第2页
第2页 / 共15页
《数据库基础与应用》阶段练习.docx_第3页
第3页 / 共15页
《数据库基础与应用》阶段练习.docx_第4页
第4页 / 共15页
《数据库基础与应用》阶段练习.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《数据库基础与应用》阶段练习.docx

《《数据库基础与应用》阶段练习.docx》由会员分享,可在线阅读,更多相关《《数据库基础与应用》阶段练习.docx(15页珍藏版)》请在冰豆网上搜索。

《数据库基础与应用》阶段练习.docx

《数据库基础与应用》阶段练习

《数据库基础与应用》阶段练习

一、单项选择题

1.ER图是E-R模型的图形表示法,其中实体之间的联系用表示。

A.矩形框B.菱形框C.圆形框D.椭圆形框

2.在VisualFoxpro中,通用型字段G和备注型字段M在表中的宽度都是。

A.2个字节B.4个字节C.8个字节D.10个字节

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

A.字符型B.数值型C.备注型D.日期型

4.已知xs.dbf中有如下五条记录,当执行下列语句后,屏幕显示的结果为。

xm=6

usexs

?

xm

A.6B.李林C.高辛D.李枫

5.学生成绩表xsda.dbf的结构如下:

姓名(C,8)、语文(N,5,2)、数学(N,5,2)、英语(N,5,2)、总分(N,6,2)。

其中前4个字段均已有值,要求统计每位学生的总分并存入总分字段中,下列命令中不能实现的是。

A.replaceall总分with语文+数学+英语

B.sum语文+数学+英语to总分

C.updatexsdaset总分=语文+数学+英语

D.scan

replace总分with语文+数学+英语

endscan

6.在表的浏览窗口中,要在一个允许NULL值的字段中输入.NULL.值的方法是。

A.直接输入“.NULL.”的各个字母B.按[CTRL+0]组合键C.按[CTRL+N]组合键D.按[CTRL+L]组合键

7.数据的逻辑独立性是通过来保证的。

A.模式B.内模式C.模式/内模式映射D.外模式/模式映射

8.命令DIMENSIONA(3)定义了一个数组名为A的数组,并赋值A

(1)=10,A=20,则数组元素A

(1)、A

(2)、A(3)的值分别是。

A.10.F.20B.102020C.20.F.20D.202020

9.数据库表的字段扩展属性中,通过对的设置可以限定字段的内容仅为英文字母。

A.字段格式B.输入掩码C.字段标题和注释D.字段级规则

10.参照完整性是用来控制数据的一致性。

在VisualFoxpro系统中,系统提供的参照完整性机制不能实现的是:

A.设置“更新级联”:

更新主表主关键字段的值,用新的关键字值更新子表中所有相关记录

B.设置“删除级联”:

主表可以任意地删除记录,同时删除子表中所有相关记录

C.设置“删除限制”:

若子表中有相关记录,则主表禁止删除记录

D.设置“插入级联”:

主表插入新的记录后,在子表自动插入相应的记录

11.表达式VAL(“1E1”)+AT(“1”,“1.31E1”,2)的结果是。

A.13B.114C.1D.1E

12.已知TS(图书)表如下:

TSBHTSMCJSRQHSRQJSZH

A002计算机基础04/09/200505/08/2005

A001计算机基础04/09/200504/23/2005

B011西方经济学03/29/200507/20/2005

B015.NULL.09/05/200412/06/2004

执行以下代码后,则在浏览窗口中。

USETS

INDEXONTSMCTAGTSMC

SETORDERTOTSMC

BROWSE

A.TSBH为B011的记录排在第一B.TSBH为B015的记录排在第一

C.TSBH为A002的记录排在第一D.TSBH为A001的记录排在TSBH为A002的记录之前

13.不可以作为查询和视图的数据源的是。

A.查询B.数据库表C.自由表D.视图

14.在查询设计器中已设定联接条件为xs.学号=cj.学号,若要在查询结果中显示xs表中所有记录及cj表中满足条件的记录,则联接类型应为。

A.内部联接B.右联接C.左联接D.完全联接

15.运行以下程序后,VFP主窗口显示的结果。

CLEAR

n=0

DOWHILEn<10

IFINT(n/2)=n/2

?

”W”

endif

?

?

”Fox”

n=n+1

ENDDO

A.显示5行,内容均为WFoxFoxB.显示5行,内容均为WFoxWFox

C.显示4行,内容均为WFoxFoxD.显示4行,内容均为FoxFoxW

16.查询文件中保存的是。

A.查询的命令B.查询的结果C.查询的条件D.与查询有关的表

17.在下列函数中,函数的返回值为数值型的是。

A.bof()B.ctod(‘01//1/06’)C.at(‘审计’,’南京审计学院’)D.substr(dtoc(date()),7)

18.一张表的全部Memo字段的内容存储在。

A.不同的备注文件中B.同一个文本文件中C.同一个备注文件中D.同一个数据库文件中

19.实体是信息世界的术语,与之对应的数据库术语是。

A.、文件B.数据库C.记录D.字段

20.顺序键入以下命令,显示结果为。

STORE“18.69”TOX

Y=INT(&X+1)

?

Y

A.20B.18.691C.18.79D.19

二、填空题

1.传统的集合运算包括并、交、差运算;专门的关系运算包括选择、投影和联接。

2.用Locatefor命令定位后,如果一张表中有两条满足条件的记录,则记录指针指向第一条___满足条件的记录。

如果要将记录指针定位到满足条件的第二条记录号上,则应该执行__CONTINUE_命令。

3.创建并保存一个项目后,系统会在磁盘上生成两个文件,这两个文件的文件扩展名分别是.PJX和PJT。

4.一张表的主关键字被包含到另一张表中时,在另一张表中称这字段为外部关键字。

5.表达式SUBSTR("GotFocus",LEN("语言"))的返回值是 Focus 。

6.?

ROUND(456.78,-1)的结果为460。

7.?

MOD(23,-3)的结果为-1。

8.?

4>2OR2>3ANDNOT‘3’$’123’的结果为.T.。

9.选择当前未被使用的最小工作区的命令是_SELECT0__。

10.索引的标识名最多可以有10个字符。

11.要查看cj表的cj字段的标题,可使用函数:

?

DBGETPROP(“CJ.CJ”,“_FIELD”,“CAPTION”)

12.数据库是一种数据容器。

从项目管理器窗口看,数据库可以包含的子项有:

表、视图、连接和存储过程。

13.数据库表与数据库之间的相关性是通过表文件与库文件之间的双向链接实现的。

双向链接包括前链和后链,前链保存在数据库

中,若要删除后链,则用FREETABLE命令。

14.“SQL”的英文全名是structuredquerylanguage__。

15.对KC表,要求课时数(kss)大于等于4的学分(xf)不得低于2(包含2),应该设置kc表的验证规则,规则表达式为iif(kss>=4,xf>=2,.t)。

16.下列程序是求1~100之间非3倍数的所有奇数之和。

S=0

FORI=1TO99STEP2

IFMOD(I,3)=0

loop

ENDIF

S=S+I

ENDFOR

17.下列自定义函数NTOC()的功能是:

当传送一个1~7之间的数值型参数时,返回一个中文形式的“星期日~星期六”。

例如,执行命令?

NTOC(4),显示“星期三”,请完善程序。

FUNCTIONNTOC

PARAMETERSn

LOCALch

ch=”日一二三四五六”

mch=”星期”+SUBSTR(ch,2*n-1 ,2)

RETURNmch

ENDFUNC

三、阅读程序写结果

1.有一个表文件BHSL.DBF,其内容如下:

记录号编号数量

1A110

2A085

3A267

4A1050

5A1265

写出下列程序的运行结果:

USEBHSL

SL=0

SCAN

SL=SL+数量

SKIP

ENDSCAN

?

SL

屏幕显示结果为____142_

2.已知教师表的结构为:

GHC(5)、XMC(8)、CSRQD、GLN(2,0)、XIMINGC(18)、JLM,下列程序执行后,结果为GHXMXIMING。

USEJS

FORn=1TOFCOUNT()

IFTYPE(FIELD(n))=“C”

?

?

FIELD(n)

ENDIF

ENDFOR

USE

3.假设教师表中有6条记录,分别为:

GH

XM

XB

JBGZ

A0001

张敏

1000

A0002

李立

1200

A0003

陈萍

800

A0004

高为民

1500

A0005

钱志闽

900

A0006

王小红

1300

写出下列程序的运行结果:

N=0

USEJS

DOWHILE.NOT.EOF()

IFXB=”女”

N=N+1

ENDIF

SKIP

ENDDO

?

N

输出结果为:

2

4.基于上题的教师表,执行下列程序后,XM的值为王小红。

USEJS

INDEXONJBGZTAGJBGZ1

SEEK1200

SKIP

?

XM

5.STORE0TOnA,nB,nC

STORE”ABCAABBCAB”TOcStr

DOWHILELEN(cStr)>0

S=LEFT(cStr,1)

n&S=n&S+1

cStr=RIGHT(cStr,LEN(cStr)-1)

ENDDO

?

nA,nB,nC

上面的程序执行后,nA的值是__4___,nB的值是__4___,nC的值2。

 

6.P=0

FORi=1TO5

P=P+JC(i)

ENDFOR

?

P

FUNCTIONJC

PARAMETERSX

S=1

FORn=1TOX

S=S*n

ENDFOR

RETURNS

ENDFUNC

运行结果P为:

153

7.S=0

N=0

FORI=11to–1step-2

S=S+I

N=N+1

ENDFOR

?

S,N,I

输出结果为:

357-3

四、写命令

教师表(js.dbf)的表结构如下表所示:

字段名

字段类型

宽度

小数位数

含义

Gh

字符型

6

工号

Xm

字符型

8

姓名

Xb

字符型

2

性别

Csrq

日期型

8

出生日期

Gl

数值型

2

0

工龄

Jbgz

数值型

7

2

基本工资

(1)写出创建js表结构的SQL命令

createtablejs(ghC(6),xmC(8),xbC

(2),csrqD,glN(2,0),jbgzN(7,2))

(2)用INSERTINTO命令插入如下记录:

B0001,李红,女,1976年3月12日生,工龄五年,基本工资1800元。

Insertintojsvalues(“B0001”,”李红”,”女”,{^1976/3/12},5,1800.00)

(3)创建索引,要求根据性别字段排序,当性别相同时按出生日期排序,索引标识名为XBRQ。

INDEXONXB+DTOC(CSRQ,1)TAGXBRQ_

(4)将上题创建的索引XBRQ设置为主控索引的命令是:

SETORDERTOXBRQ

(5)将js表中所有年龄大于60岁记录置删除标记的SQL命令是:

DELETEFROMJSWHEREyear(date())-year(csrq)>=60

(6)按如下要求修改js表中的男教师的基本工资:

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

工龄在10年以上基本工资加300

请用UPDATE命令完成上述更改:

UpdatejssetJBGZ=IIF(GL<10,JBGZ+200,JBGZ+300)WHEREXB=”男”

(7)如果js表已在当前工作区中打开,要筛选出所有女教师的命令是:

_setfiltertoxb=”女”

(8)将性别为男的教师复制到JSNAN文件中,JSNAN的文件类型为EXCEL。

Copytojsnanforxb=”男”xls

(9)查询JS表中1960年之前出生的教师的工号、姓名。

Selectgh,xmfromjswhereyear(csrq)<1960

(10)用SELECT命令统计JS表中性别男女的人数和平均工资,要求输出性别、人数、平均工资。

Selectxb,count(*)as人数,avg(jbgz)as平均工资fromjsgroupbyxb

五、数据库综合分析

某学校学籍管理数据库中包含学生档案表和学生成绩表,其表结构及记录如表1和表2所示:

表1XSDA.DBF(学生档案表)表2XSCJ.DBF(学生成绩表)

XH(C,6)XM(C,8)DQ(C,4)XH(C,6)KCM(C,8)CJ(N,3)

王明北京数学93

方云上海英语85

程艳江苏数学82

孙浩上海英语91

吴天江苏数学80

英语76

1.已知学生成绩表(XSCJ)中的学号都来自于学生档案表(XSDA),选课的学生在成绩表中存在一条或多条成绩记录,则这两表之间的关系是一对多___关系,其中主表是__xsda_表(填表文件名)。

2.若要求XSCJ表中的CJ(成绩)字段的值在[0,100]之间,则CJ字段的验证规则表达式应设置为__cj>=0andcj<=100_。

3.若在XSDA表中插入记录时,只允许插入03级学生的学号(假设学号的前两位表示年级),则应设置XSDA表的:

___触发器,其表达式为__

left(xh,2)=”03”

4.就现有的两表中记录数据而言,XSDA表与XSCJ表间的参照完整性规则设置为:

更新级联、删除限制、插入限制,则若要在XSDA表中插入如下记录:

高山江苏

则允许否:

__允许_(填允许或不允许);

若要在XSDA表中删除如下记录:

方云上海

则允许否:

_不允许_(填允许或不允许);

若将XSDA表中的XH“”更改为“”,则XSCJ表中将会有2条记录更改。

若将XSCJ表中的XH“”更改为“”,则XSDA表中将会有0条记录更改。

六、程序改错

1.下列程序是统计数字字符的个数,请改错。

cstr=”abc123def”

n=0

dowhilecstr>0

c=left(cstr,1)

cstr=substr(cstr,2)

if!

between(c,”0”,”9”)

loop

endif

n=n+1

enddo

?

”有”+n+”个数字字符”1、dowhilecstr>0len(cstr)

?

"有"+n+"个数字字符"str(n)

 

2.下列程序是计算S=1/(1*2)+1/(3*4)+1/(5*6)+…+1/(N*(N+1))+…的近似值,当1/(N*(N+1))的值小于0.00001时停止计算,请改错。

S=0

I=1

DOWHILE.T.

P=I*(I+1)

S=S+1/P

IF1/P<0.00001

loop

ENDIF

I=I+2

ENDIF

?

S下列是计算S=1/(1*2)+1/(3*4)+1/(5*6)+…+1/(N*(N+1))+…的近似值,当1/(N*(N+1))的值小于0.00001时,停止计算,请改错。

Loopexit

ENDIFenddo

 

3.下列程序实现将ASCII码字符组成的字符串进行反向显示,请改错。

STORE“abcdef”toC,CC

P=SPACE(0)

DOWHILELEN(C)>0

P=P+LEFT(C,1)

C=SUBSTR(C,1)

ENDDO

?

CC+”的反序为”+P

下列程序实现将ASCII码字符组成的字符串进行反向显示,请改错。

P=P+LEFT(C,1)p=left(c,1)+p

C=SUBSTR(C,1)substr(c,2)

七、简答题

1.一张表是否可以同时属于两个项目?

一张表是否可以同时属于两个数据库?

一张表是否可以同时属于两个项目?

一张表是否可以同时属于两个数据库?

可以,不可以

 

2.按索引的内容分,有哪几种索引?

若对JS表,连续执行下列几条命令后,系统会报错吗?

USEJSORDERTAGGH&&GH为预先创建的候选索引

INSERTINTOJS(GH,XM,XB)VALUES(“C0001”,”高山”,”男”)

INSERTINTOJS(GH,XM,XB)VALUES(“C0001”,”王一平”,”男”)

主索引,普通索引,侯选索引,唯一索引

会报错,因为插入了重复的gh,”c0001”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1