《数据库基础与应用》阶段练习文档格式.docx
- 文档编号:22149332
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:30.86KB
《数据库基础与应用》阶段练习文档格式.docx
《《数据库基础与应用》阶段练习文档格式.docx》由会员分享,可在线阅读,更多相关《《数据库基础与应用》阶段练习文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
主表可以任意地删除记录,同时删除子表中所有相关记录
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)
ENDFOR
USE
3.假设教师表中有6条记录,分别为:
GH
XM
XB
JBGZ
A0001
张敏
男
1000
A0002
李立
1200
A0003
陈萍
女
800
A0004
高为民
1500
A0005
钱志闽
900
A0006
王小红
1300
N=0
DOWHILE.NOT.EOF()
IFXB=”女”
N=N+1
ENDDO
N
输出结果为:
2
4.基于上题的教师表,执行下列程序后,XM的值为王小红。
USEJS
INDEXONJBGZTAGJBGZ1
SEEK1200
SKIP
5.STORE0TOnA,nB,nC
STORE”ABCAABBCAB”TOcStr
DOWHILELEN(cStr)>
S=LEFT(cStr,1)
n&
S=n&
S+1
cStr=RIGHT(cStr,LEN(cStr)-1)
nA,nB,nC
上面的程序执行后,nA的值是__4___,nB的值是__4___,nC的值2。
6.P=0
FORi=1TO5
P=P+JC(i)
P
FUNCTIONJC
PARAMETERSX
S=1
FORn=1TOX
S=S*n
RETURNS
运行结果P为:
153
7.S=0
N=0
FORI=11to–1step-2
S=S+I
S,N,I
357-3
四、写命令
教师表(js.dbf)的表结构如下表所示:
字段名
字段类型
宽度
小数位数
含义
Gh
字符型
6
工号
Xm
8
姓名
Xb
2
性别
Csrq
日期型
出生日期
Gl
数值型
工龄
Jbgz
7
基本工资
(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>
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
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)>
P=P+LEFT(C,1)
C=SUBSTR(C,1)
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”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库基础与应用 数据库 基础 应用 阶段 练习