第二章 数据库和表复习.docx
- 文档编号:8511911
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:23
- 大小:182.58KB
第二章 数据库和表复习.docx
《第二章 数据库和表复习.docx》由会员分享,可在线阅读,更多相关《第二章 数据库和表复习.docx(23页珍藏版)》请在冰豆网上搜索。
第二章数据库和表复习
第二章数据库和表
2、1、1必备知识和学习要点
1、基本概念
(1)字段和记录:
表中的数据项称为字段(一个表最多可以有255个字段),表中相关字段值的有序集合称为记录(一个表可以存放10亿条记录)。
(2)字段属性:
每个字段都有4个属性(字段名,字段类型,字段宽度,小数位数)
类型
代码
宽度
字符型
C
254个字节
数值型
N
20位
日期型
D
8个字节
日期时间型
T
8个字节
逻辑型
L
1个字节
备注型
M
4个字节
通用型
G
4个字节
说明:
①通用型和备注型中4个字节是存储一个引用数据的指针;
②通用型字段用于存储OLE对象(电子表格,文档和图片)
③备注型字段的数据存储在扩展名为FPT的备注文件中
(3)数据库:
①扩展名为.DBC
②数据库可以打开多个,但当前数据库只有一个,系统默认的是最后打开的一个
(4)表:
①组成:
表结构和数据
②扩展名为:
.DBF(若表中有备注型或通用型字段会产生.FPT文件,若有索引则会产生.CDX文件)
③分类:
自由表和数据库表(属于某个数据的表称为数据库表,不属于某个数据库的表称为自由表)
④区别:
(1)自由表字段名最长为10字符,数据库表可以达到128个字符。
(2)数据库表可以设置默认值、字段有效性规则、记录有效性规则等。
⑤自由表与数据库表相互转换
(1)命令:
自由表到数据库表:
ADDTABLE<表名>
数据库表到自由表:
REMOVETABLE<表名>
(2)项目管理器
2、新建表(菜单、向导、工具栏、项目管理器、命令)
(1)方法:
①表设计器
②表向导(1、可以修改表结构2、可以为表创建索引)
③命令:
CREATE<表名>(不打开创建对话框)
④SQL创建表的命令:
Createtable|dbf<表文件名>(<字段名1><类型>[(<宽度><小数位>)]……)
(2)相关知识点:
①表设计器是创建表和修改表结构的有用工具。
②输入备注型字段(或通用型字段)时,需双击该字段(或按Ctrl+Pageup|Ctrl+Pagedown)进入编辑窗口。
③输入通用型字段在编辑窗口状态中选择“编辑”->“插入对象”
④若备注型字段内有内容时memo->Memo通用型字段gen->Gen
(编辑修改备注型字段的命令为:
modifymemo备注字段名)
⑤编辑完后按Ctrl+W或关闭编辑窗口保存数据。
(3)复制数据创建表:
COPYTO<表文件名>[FIELDS字段列表][FOR条件]
(4)复制表结构创建表:
COPYSTRUCTRURETO<表文件名>[FIELDS字段列表]
3、数据库
(1)数据库的扩展名:
.DBC(创建数据时,VFP自动建立一个扩展名为.DCT的数据库备注文件和一个扩展名为.DCX的数据库索引文件
(2)创建数据库的方法:
①项目管理器
②菜单
③工具栏
④命令:
CreateDatabase<数据库名>
(3)打开与关闭数据库
打开:
①OPENDATABASE<数据库名>[EXCLUSIVE|SHARED]
②MODIFYDATABASE[数据库名]
关闭:
①命令:
关闭当前数据库:
CLOSEDATABASE(若当前库所在的项目管理器已打开,则该命令的作用为取消当前库。
)
关闭所有打开的文件:
(1)closeall:
关闭所有打开的文件及表间关联,不释放内存变量。
(2)clearall:
关闭所有打开的文件及表间关联,释放内存变量。
②项目管理器:
“关闭”按钮
(4)设置当前数据库:
①使用工具栏设置当前数据库:
“数据库”下拉列表框。
②使用命令设置当前数据库:
SETDATABASETO[数据库名]
(5)删除数据库:
①项目中删除
②命令:
DELETEDATABASE<数据库名>[DELETETABLES]
4、设置表的属性(只有数据库表才具有)
表设计器:
标签——字段、索引、表
字段:
(1)格式:
用于指定字段在浏览窗口中的显示格式(输出掩码)
A:
表示只允许输出文字字符
D:
表示使用当前系统设置的日期格式
L:
表示在数值前显示填充的前导零,而不是用空格
T:
表示禁止输入字段的前导空格符结尾空格字符
!
:
表示输入的小写字母转换为大写字母
(2)输入掩码:
用于限制或控制用户输入数据的格式
X可输入任何字符
9可输入数字和正负号
#可输入数字、空格和正负号
$:
显示货币符号
(3)用于指定字段的显示标题,默认显示字段名
(4)字段有效性规则:
①设置字段的有效性规则可以检验输入数据的正确性.
②有“规则”、“信息”、“默认值”
表:
(1)记录有效性规则:
①设置记录的有效性规则可以检验同一条记录不同字段间的数据是否满足条件。
(2)触发器:
插入触发器、更新触发器、删除触发器。
习题:
1、有效性规则主要用于______。
A.限定数据的类型B.限定数据的格式
C.设置数据是否有效D.限定数据取值范围
2、记录有效性规则的作用是________。
A.设置当前字段的有效性B.校验多个字段之间的关系是否满足某种规则
C.说明记录的取值范围D.显示提示信息...
3、数据库表可以设置字段有效性规则,字段有效性规则属于域完整性范畴,其中的“规则”是一个( )。
A.逻辑表达式 B.字符表达式 C.数值表达式 D.日期表达式
4、在定义数据表字段间的有效性规则时,规则表达式的类型应是________型。
5、以下关于字段有效性规则叙述正确的是()。
A.自由表和数据库表都可以设置B.只有自由表可以设置
C.只有数据库表可以设置D.自由表和数据库表都不可以设置
6、在VisualFoxPro中的NULL值的含义是。
A.与空字符串相同B.与数值0相同C.与逻辑非相同D.与以上都不相同
7.数据库表的INSERT触发器,在表中____记录时触发该规则。
A.增加B.修改C.删除D.浏览
8.输入字段有效性规则时,在选定字段后,规则框、信息框、默认值框的数据类型分别是()
A) 字符型,字符型,不确定 B) 逻辑型、字符型,数值型
C) 字符型,逻辑型,字符型 D) 字符型,逻辑型,不确定
9、在VisualFoxPro中,建立数据库表时,将年龄字段值限制在12~14之间的这种约束属于()。
A:
实体完整性约束B:
域完整性约束C:
参照完整性约束D:
视图完整性约束
10、在表设计器的()选项卡,可以设置记录有效性规则及信息。
A、字段B、索引C、表D、规则
2、2维护表的结构和数据
1、基本概念
(1)工作区:
VFP中提供了32767个工作区,工作区号为:
1—32767(最小工作区号为1),同时使用A—J作为前10个工作区的别名
(2)当前工作区:
当前工作区只有一个,VFP启动时,1号为当前工作区。
(3)当前表:
当前工作区中打开的表称为当前表
注:
(1)一个工作区中可以打开48个文件,1张表,7个索引文件
(2)vfp中可以打开32767张表
(3)vfp中一个工作区中只能打开1张表。
2、打开与关闭表
(1)选择当前工作区:
①命令:
SELECT<工作区号|别名>
②SELECTO:
选择当前未使用的最小工作区
(2)在项目中打开表
(3)使用菜单打开表
(4)使用“窗口”—>“数据工作期”打开多个表,
(数据工作期窗口中可以打开、关闭、浏览表、设置表的属性和建立表间的关系)
(5)使用工具栏打开表
(6)使用命令打开表:
USE<表文件名>[IN工作区号][ALIAS别名][EXCLUSIVE|SHARED]
注:
默认状态为独占方式。
(7)使用命令关闭表:
USE[IN工作区号|别名]
习题:
1.每一个工作区上只能打开()个数据表。
A.1个B.2个C.10个D.任意个
2、vfp中可以打开张表。
3、命令SELECT3等价于命令()。
A:
SELECTAB:
SELECT0C:
SELECTCD:
SELECTⅢ
4、在表的浏览状态下,可用快捷键向表中当前字段输入一个空值。
3、删除表:
①项目管理器中删除
②命令:
(SQL命令)DROPTABLE<表文件名>
4、显示与修改表的结构
(1)使用命令显示表的结构:
DISPLAY|LISTSTRUCTURE[IN工作区号|别名][TOPRINTER|TOFILE文件名]
(2)在项目管理器中打开表设计器修改表的结构:
“修改”按钮
(3)使用命令:
MODIFYSTRUCTURE
(4)使用菜单修改表
(5)使用工具栏修改表
(4)SQL命令:
ALTERTABLE<表文件名>
①添加字段
altertable表名addcolumn字段名字段类型(字段宽度,小数位数)
②重命名字段
altertable表名renamecolumn字段名to新字段名
③删除字段
altertable表名dropcolumn字段名
习题:
1、仅关闭当前表文件的命令是()。
A:
CLOSEALLB:
CLEARC:
USED:
CLOSEDATABASE
2、在表文件中,如果包含有2个备注型字段和1个通用型字段,则创建表文件后,VisualFoxPro将自动建立()个FPT文件。
A:
0B:
1C:
2D:
3
3、SQL语句中修改表结构的命令是()。
A:
MODISTRUB:
ALTERTABLEC:
ALTERSTRUCTURED:
MODITABLE
4、当打开一个数据库时,其中的数据库表的状态是()。
A:
全部打开B:
全没打开C:
最后一个表打开D:
第一个表打开
5、表打开后,记录指针指向的记录称为__________记录。
6、某个数值型字段的宽度为7,小数位为2位,则该字段的最大值是。
7、在VFP环境下,用LISTSTRU命令显示表中每个记录的长度为60,用户实际可用的字段度为()
A、60B、61C、59D、58
8、修改表中的数据是在()环境下完成的。
A、表设计器B、表向导C、表浏览器D、表编辑器
9、一个表有四个备注型字段,这些字段内容存储在()
A、4个.FPT文件B、4个.DBF文件C、同一个.DBF文件D、同一个.FPT文件
5、显示与编辑数据
(1)项目管理器——“浏览”
(2)“显示”——“浏览”与“编辑”
(3)“数据库”——“浏览”
(4)命令:
BROWSE[FIELDS字段列表][FOR条件][FREEZE字段][LOCK锁定字段数][NOAPPEND][NODELETE][NOEDIT]
(5)绝对移动记录命令:
GO|GOTO<记录号>|TOP|BOTTOM
(6)相对移动记录指针命令:
SKIP[记录号]
(7)记录指针的相对定位:
locate
(8)菜单定位记录:
“表”——“转到记录”
(9)显示数据命令:
DISPLAY|LIST[FIELDS字段列表][范围][FOR条件][OFF][TOPRINTER][TOFILE文件名]
习题:
1、执行LISTNEXT1命令之后,记录指针的位置指向()。
A:
下一条记录B:
原来记录C:
尾记录D:
首记录
2、若表文件及其索引文件已打开,为了确保指针定位在记录号为1的记录上,应该使用的命令是()。
A:
GOTOPB:
GORECNO()=1C:
SKIP1D:
GO1
3、下列命令执行完毕后,数据表记录指针一定指向文件尾的命令是()。
A:
SEEKB:
LISTC:
SKIPD:
DISPLAY
4、命令GOTOP与GO1在于情况下,执行结果是不同的。
5、已知"是否通过"字段为逻辑型,要显示所有未通过的记录应使用命令(B).
A、LISTFOR是否通过=.T.B、LISTFORNOT是否通过
C、LISTFORNOT是否通过<>.T.D、LISTFOR″是否通过″
6、用浏览窗口显示记录时有两种方式,即__________和__________方式。
(10)使用命令编辑数据:
EDIT|CHANGE[FIELDS字段列表][范围][FOR条件]
(11)成批替换数据:
①REPLACE<字段名1>WITH<表达式1>[,<字段名2>WITH<表达式2>…]
[范围][FOR条件]
②SQL:
UPDATE<表文件名>SET<字段名1>=<表达式1>[,<字段名1>=<表达式1>…][WHERE条件]
③菜单:
“表”——“替换字段”
习题:
1、若使用REPLACE命令,其范围子句为ALL或REST,则执行该命令后记录指针指向()。
A:
首记录B:
末记录C:
首记录的前面D:
末记录的后面
2、当前工作区已打开表中英语、数学及总分字段,计算每个学生总分的正确命令是()。
A:
SUM英语+数学TO总分B:
REPLALL总分WITH英语+数学
C:
SUM英语,数学,总分D:
REPL总分WITH英语+数学
3、要为当前表所有职工增加100元工资应该使用命令()。
A:
CHANGE工资WITH工资+100B:
REPLACE工资WITH工资+100
C:
CHANGEALL工资WITH工资+100D:
REPLACEALL工资WITH工资+100
4、若表一共有10条记录,在执行REPLACE范围为ALL或REST时,则执行?
RECNO()的结果是。
5、用MODIFYSTRUCTURE命令把数据库文件中“地址”字段的宽度从14位改成天位,但不修改其他字段,正常结果后再结束后再后再显示数据库文件记录,会发现各条记录“地址”字段的数据()
A>全部丢失B>仍保留14位C>只保留前14位D>凡超过8位的字符被删除
6、在VisualFoxPro中,当前表中有12条记录,当前记录为6号记录,执行gobottom后,此时recno()和eof()函数值分别为()
A、12.T.B、10.T.C、6.T.D、12.F.
7、当前表中有4个数值型字段高等数学.英语.计算机网络和总分,其中高等数学.英语.计算机网络的成绩均已录入,总分字段为空。
要将所有学生的总分自动计算机出来并填入总分段中,使用命令()
A>REPL总分WITH高等数学+英语+计算机网络
B>REPL总分WITH高等数学,英语,计算机网络
C>REPL总分WITH高等数学+英语+计算机网络ALL
D>REPL总分WITH高等数学+数学+计算机网络FORALL
8、若一个已经打开的数据库文件的总记录数是100,当前记录为80,执行命令SKIP35后,当前记录号是()
A>100B>99C>101D>115
9、在VisualFoxpro6.0中,要对所有职称为“工程师”的记录的工资字段增加50,应使用的命令是______________________________。
6、追加记录
(1)使用菜单追加记录:
①“显示”—>“追加方式”
②“表”—>“追加新记录”
(2)使用命令追加记录:
①APPEND[BLANK]②INSERT[BLANK][before]
(3)SQL:
①INSERTINTO<表名>[(字段名列表)]VALUES(<表达式列表>)
②INSERTINTO<表名>FROMARRAY<数组名>
(4)使用菜单从其他文件向当前表追加记录:
“表”->“追加记录”
(5)使用命令从表文件追加记录:
APPENDFROM<表文件名>[FIELDS字段列表][for条件]
习题:
1、在3号记录之后插入一个空白记录,正确的命令是()。
A:
3
INSERTBLANK
B:
GOTO4
INSERTBLANK
C:
GO3
INSERTBLANK
D:
TO4
INSERTBLANKBEFORE
2、Appendblank命令的功能是()。
A:
在第一条记录前增加新记录B:
编辑记录
C:
在表尾增加一条空白记录D:
在当前记录前增加一条空白记录
3、设库文件STUDENT.DBF中有10条记录,相继执行如下两条命令:
USESTUDENT
INSERTBLANK
其结果是在STUDENT.DBF文件的()
A>第一条记录的位置插入了一个空白记录B>第一条记录的后面插入了一个空白记录
C>文件尾插入一个空白记录D>不确定位置插入了一个空白记录
4、在“显示”下拉菜单中,单击“追加方式”选项,将在当前表()
A>中增加一个空记录B>尾增加一个空记录
C>中进入追加状态D>上弹出追加对话框
5、数据表已经在当前工作区打开,确保在文件尾部增加一条空记录,应使用命令()
A>APPENDB>APPENDBLANKC>INSERTBEFORED>INSERTBLANK
6、在当前记录之后插入一条空白记录的命令是__________。
7、删除记录:
删除记录分为逻辑删除和物理删除两种方式
(1)在浏览窗口中删除和恢复记录(删除:
单击白色小方框,恢复:
单击黑色小方框)
(2)使用菜单删除记录:
“表”->“删除记录”(逻辑删除),“表”->“彻底删除”(物理删除)
(3)使用命令逻辑删除:
DELETE[范围][FOR条件]
(4)逻辑删除记录的SQL:
DELETEFROM<表名>[WHERE<条件>]
(5)使用命令恢复被删除的记录:
RECALL[范围][FOR条件]
(6)使用命令物理删除已被逻辑删除的记录:
PACK、packdbf(删除记录时不影响备注文件)(7)使用命令物理删除所有记录:
ZAP
*注:
setdeleteon若设置该项的含义是被做了逻辑删除的记录不显示、不计算,好像真的像删除了一样,系统默认为setdeleteoff
习题:
1、DELETE命令的作用是()。
A:
为当前记录做删除标记B:
直接物理删除当前记录
C:
删除当前表文件的所有记录D:
在提问确认后物理删除当前记录
2、对于逻辑删除和物理删除,下列说法中正确的是()。
A:
逻辑删除不可恢复,物理删除可恢复B:
逻辑删除可恢复,物理删除不可恢复
C:
二者均可恢复D:
二者均不可恢复
3、SQL语句中删除表的命令是()。
A:
DROPTABLEB:
ERASETABLEC:
DETETETABLED:
DELETEDBF
4、伴随着表的打开而自动打开的索引是()。
A:
单一索引文件(IDX)B:
结构化复合索引文件
C:
复合索引文件(CDX)D:
非结构化复合索引文件
5、VFP中,删除全部记录的命令是。
6、VFP中,物理删除所有带删除标记记录的命令是。
7、计算机等级考试已录入完毕,缺考者的记录上均已打上删除标记“*”,为计算参加考试的平均分,请对以下命令序列填空。
USEXSDA
SET
AVERAGE成绩toavg
8、把当前数据表文件中“性别”字段的值全部清除,但仍保留该字段,应当使用命令的是
A.MODIFYSTRUCTUREB.DELETEC.REPLACED.ZAP
2、3使用表的数据
1、基本概念
(1)索引与索引关键字:
索引就是根据表中某一特定的字段或表达式对记录进行逻辑排序。
用做排序依据的字段或表达式称为索引关键字.
(2)当前索引:
一个表可以建立多个索引,但任一时刻只能有一个索引控制记录的逻辑顺序,该索引就是当前索引。
(3)索引的作用:
提高查询速度
(4)索引类型:
(5)索引文件
2、打开索引文件:
①打开索引文件:
结构复合索引文件随表的打开而自动打开,但独立复合索引文件与单索引文件在使用前必须用命令打开:
SETINDEXTO<索引文件名列表>
②打开表的同时打开索引文件:
use<表名>index<索引文件名列表>[order主控索引]
2、指定当前索引:
①使用菜单指定当前索引:
“表”->“属性”——“工作区属性”
②使用命令指定当前索引:
SETORDERTO[索引名]
主控索引
3、维护索引:
REINDEX
4、关闭索引:
(1)setindexto(关闭独立索引与复合索引)
(2)closeindex(关闭独立索引与复合索引)
(3)use(关闭所有索引)
*注:
(1)打开表后索引,用list命令显示的顺序为索引后的顺序。
(2)打开表后索引再关闭表后,用list命令显示的顺序为原表的顺序。
习题:
1.下列四种索引类型中,自由表中不能建立的索引是______。
A.普通索引B.主索引C.候选索引D.唯一索引
2、不允许记录中出现重复索引值的索引是。
A.主索引和唯一索引B.主索引、候选索引、普通索引
C.主索引和候选索引D.主索引、候选索引和唯一索引
3.打开索引文件后,设置主控索引的命令是,未打开索引重新索引的命令是。
4、用命令INDEXON姓名TAGindex_nameUNIQUE建立索引,其索引类型是________________。
INDEX命令无法建立的索引是____索引。
5、使用下面命令必须打开索引文件的是()。
A:
SORTB:
LOCATEC:
SEEKD:
SUM
6、执行命名SEEK"张三"后,若未找到符合条件的记录,则命令?
BOF(),?
FOUND(),?
EOF()的显示结果是()。
A:
FTFB:
FFTC:
TFFD:
FTT
7、下列命令中,不产生新文件的命令是()。
A:
TOTALTOBJHZON班级B:
INDEXON班级TOBJ
C:
SORTTOBJON班级/DD:
SETINDEXTOBJ
8、下面有关索引的描述正确的是()。
A:
建立索引以后,原来的数据库表文件中记录的物理顺序将被改变
B:
索引与数据库表的数据存储在一个文件中
C:
创建索引是创建一个指向数据库表文件记录的指针构成的文件
D:
使用索引并不能加快对表的查询
9、使用"INDEXON关键字TO索引文件名"命令建立的索引文件是()。
A:
单索引文件B:
结构复合索引文件C:
非结构复合索引文件D:
复合索引文件
10、不论索引是否生效,多次执行后总能定位到相同记录的命令是()。
A:
GOTOPB:
GOBOTTOMC:
GO6D:
SKIP
11、在指定字段或表达式中不允许出现重复值的索引是()。
A:
惟一索引B:
惟一索引和候选索引
C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 数据库和表复习 第二 数据库 复习