VFP第3章数据库与表的创建及使用
- 格式:ppt
- 大小:1.20 MB
- 文档页数:61
V F P数据库和表的操作(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--自由表的创建方法:一、表向导1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”;2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”;3、“工具”菜单中“向导”中的“表”二、表设计器创建自由表1、在项目管理器中,自由表→新建→新建表2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”;三、用命令创建表1、 CREATE<表文件名>命令功能:打开表设计器新建一个VFP表。
例如:在D盘XS文件夹中新建ST 表CREATE D:\XS\ST2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别CREATR DBF D:\XS\ST(姓名 C(8),性别 C(2))3、复制表COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件]命令功能:复制当前表并创建一个新表。
例如:复制D盘XS文件夹中的ST表到同目录下的USE D:\XS\STCOPY TO D:\XS\LX如果只复制姓名:USE D:\XS\STCOPY TO D:\XS\LX FIELDS 姓名4、复制表结构COPY STRUCTURE TO <表文件名>[FIELDS 字段列表]命令功能:复制当前表结构并创建一个新表。
例如:复制D盘XS文件夹中的ST表的表结构到同目录下的USE D:\XS\STCOPY STRUCTURE TO D:\XS\LX如果复制结构中的姓名字段USE D:\XS\STCOPY STRUCTURE TO D:\XS\LX FIELDS 姓名创建数据库一、在项目管理器中创建二、菜单创建三、命令CREATE DATABASE<数据库名>打开和关闭数据库:1、打开数据库①在项目管理器重打开②菜单打开③使用命令OPEN DATABASE<数据库名>2、关闭数据库①命令:关闭当前数据库CLOSE DATABASE 关闭所有文件 CLOSE ALL②项目管理器设置当前数据库:1、使用工具栏设置当前数据库2、命令设置当前数据库SET DATABASE TO [数据库名]打开数据库设计器:1、从项目管理器打开2、使用菜单3、使用命令MODIFY DATABASE [数据库名]删除数据库:1、使用命令删除:DELETE DATABASE<数据库名|> 2、项目管理器删除创建数据库表:1使用表向导2、使用表设计器创建数据库3、在数据库设计器里添加表4、使用命令创建数据库表打开设置的数据库,用创建表命令数据库表与自由表的转换:1、在项目管理里中将自由表添加到数据库中2、使用数据库设计器添加3、命令:ADD TABLE <自由表名|>,将自由表添加到当前数据库移除数据库中的表:在项目管理器重把数据库中的表移除使用命令移除数据库中的表:REMOVE TABLE <数据库表名|>,将数据库表移出当前数据库。
1. 索引(Index)索引是根据索引关键字(即索引表达式)的值进行逻辑排序的一组指针。
索引提供对数据的快速访问,可以对表的各行强制实现唯一性。
索引文件由索引序号和对应于索引序号的表的记录号(亦称为指针)组成。
2. 索引关键字(Index Key)索引关键字是用来作为建立索引的依据。
它通常是一个字段或字段表达式。
例如,学生表(XS.DBF)中有8个记录,输入时的物理顺序如下:记录号XH XM XB ZYDH XIMING1 950101 李林男102001 信息管理系2 950106 高山男102001 信息管理系3 950105 陆海涛男102001 信息管理系4 950104 柳宝女102001 信息管理系5 950102 李枫女102001 信息管理系6 950103 蓝军男102001 信息管理系7 960201 林一风男109003 计算机科学系8 960203 高平男109003 计算机科学系现以XH字段作为索引关键字,按升序建立索引,索引文件的情况如下:P83Index # Table Record # XH1 1 9501012 5 9501023 6 9501034 4 9501045 3 9501056 2 9501067 7 9602018 8 960203第一列是索引号,第二列是对应于表中的记录号。
当该索引起作用时,浏览学生表时,记录按学号的顺序排列。
索引表达式的构成2-1索引表达式的构成与一般表达式的构成一样,只是索引表达式一般与表的字段有关。
索引表达式可以由单个字段构成,也可以是多个字段的组合。
需要注意的是,不能基于备注型字段和通用型字段建立索引。
索引表达式的构成2-2对于基于多个字段的索引表达式,可以按多个字段的值进行排序。
用多个字段建立索引表达式时,要注意以下几点。
⒈字符型表达式⒉算术表达式⒊不同类型字段构成一个表达式⒈字符型表达式⒈表达式中字段的前后顺序将影响索引的结果。
1. 表的概念表(数据表):是指存放在磁盘⽂件中的⼀张⼆维表。
(相当FoxPro 2.x 版本中的数据库)⾃由表:不属于任何数据库的表。
数据库表:包含在⼀个数据库中的表。
表⽂件名:表名可以由字母、数字或下划线组成,系统⾃动给出的扩展名为 .DBF。
备注⽂件名:当表中有备注型或通⽤型字段时,系统⾃动⽣成与所属数据表的表名相同、扩展名为:.FPT的⽂件名。
表结构:存储表记录的公共结构。
(就是指⼀张表的表头结构,即字段的属性)。
记录:表中的⼀⾏。
它是多个字段的集合,同⼀张表的每个记录都有相同的字段。
字段:表中的⼀列。
它规定了数据的特征。
关系型数据表的特点:(1)每⼀个字段不可再分解,也不能有名字相同的字段;(2)每⼀列中的数据都有相同的数据类型;(3)表中没有内容完全相同的⾏(记录)。
2. 字段的基本属性字段的属性:包括:字段名、数据类型、字段宽度、⼩数位数、空值⽀持字段名:即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合⽽成,字母⼤、⼩写⽆区别,但其中不许有空格或其它字符。
⾃由表的字段名最多由10个字符组成,数据库表的字段名⽀持长名,最多可达128个字符。
如果从数据库中移去⼀个表,那么此表的长字段名将被截短成 10 个字符。
VFP允许长字段名和长表名,但使⽤长名称对于跨平台的操作可能遇到难以预料的结果。
数据类型:指该字段的数据特征。
字段宽度:指该字段所能容纳数据的的字节数。
⼩数位数:指数值型数据将保留⼏位⼩数。
此时的字段宽度 = 整数位数+1+⼩数位数。
NULL 值(空值):⽆明确的值。
NULL 值不等同于零或空格。
⼀个 NULL 值不能认为⽐某个值(包括另⼀个 NULL 值)⼤或⼩,相等或不同。
VFP 6.0表中字段的数据类型字段类型代号说明字段宽度使⽤⽰例字符型 C字母、汉字和数字型⽂本每个字符为1个字节,最多可有 254 个字符学⽣的学号或姓名, "8199101" 或 '李⽴'货币型 Y货币单位 8 个字节⼯资, $1246.89⽇期型 D包含有年、⽉和⽇的数据 8 个字节出⽣⽇期,{^1980/07/08}⽇期时间型 T包含有年、⽉、⽇、时、分、秒的数据 8 个字节上班时间,{^2005/02/20 9:15:15 AM}逻辑型 L“真”或“假”的布尔值 1 个字节课程是否为必修课,.T. 或 .F.数值型 N整数或⼩数在内存中占 8 个字节;在表中占1 ⾄20个字节考试成绩, 83.5双精度型 B双精度浮点数 8 个字节实验要求的⾼精度数据浮点型 F与数值型⼀样 整型 I不带⼩数点的数值 4 个字节学⽣的数量通⽤型 GOLE 对象在表中占 4 个字节图⽚或声⾳备注型 M不定长度的⼀段⽂字在表中占 4 个字节学⽣简历字符型(⼆进制) C任意不经过代码页修改⽽维护的字符数据每个字符⽤1个字节,最多可有 254 个字符 备注型(⼆进制) M任意不经过代码页修改⽽维护的备注数据在表中占 4 个字节 。
一.选择题1.下列关于数据库、表和视图操作的叙述中,正确的是______A_______ 。
A. 关闭一个数据库,将自动关闭其所有已打开的数据库表B.打开一个数据库表,不能自动打开其所有对应的数据库C.关闭一个视图所对应的基表,将自动关闭该视图D.关闭一个视图,自动关闭其所对应的基表(在使用视图时,自动打开的本地基表并不随视图的关闭而自动关闭,必须单独关闭)2.有如下一段程序:CLOSE TABLES ALLUSE XSSELE 3USE JSUSE KC IN 0BROW上述程序执行后,浏览窗口中显示的表及当前工作区号分别是_____C________ 。
A.KC 、2B.KC 、3C.JS 、3D.JS 、23表(table)是存储数据的容器。
在下列有关VFP表的叙述中,错误的是_D___。
A.每个表最多只能包含200多个字段B.新建一个表后,一般会生成1~3个文件(.dbf,.fpt,.cdx)(如果表中有备注型字段或通用型字段,则自动产生与表名相同但扩展名为.fpt的备注文件,如果建立索引,则自动生成与文件名相同的结构复合索引文件。
)C.自由表与数据库表在数据存储功能上是相同的,但在数据管理与控制功能上有差别D.自由表添加到数据库中变成数据库表,而数据库表移出数据库则变成自由表**此题答案基本都正确,D选项考虑表移出数据库有可能被删除,所以勉强选D4.在VFP中,对于数据库表来说,如果将其移出数据库(变成自由表),则该表原设置或创建的__A__仍然有效。
A.候选索引B.长表名C.记录有效性规则D.触发器5.在创建表索引时,索引表达式可以包含表的一个或多个字段。
在下列字段类型中。
不能直接选作索引表达式的是_D____。
A.货币型B.日期时间型C.逻辑型D.备注型(不能基于备注型和通用型字段建立索引)6.表( table )是存储数据的容器.在下列有关 VFP 表的叙述中,错误的是 DA.系统默认的表文件扩展名为. dbfB.利用表设计器创建表结构时,系统默认的字符型字段宽度为 10C.自由表的索引功能与数据库表有区别D.表文件名在命名时只要遵循操作系统的规定 ,VFP 本身无任何新的限定(不可使用A-J中的单个字母作文件名,文件名及存取路径最好不使用空格)7. 数据库( database )是许多相关的数据库表及其关系等对象的集合.在下列有关 VFP 数据库的叙述中,错误的是 BA.可用命令新建数据库B.从项目管理器中可以看出,数据库包含表、视图、查询、连接和存储过程(不包含查询)C.创建数据库表之间的永久性关系,一般是在数据库设计器中进行D.数据库表之间创建"一对多"永久性关系时,主表必须用主索引或候选索引8.在下列有关 VFP 表索引的叙述中,错误的是 cA.通过创建表的索引,不仅可以对记录数据进行排序,而且可以实现记录的筛选B.对于数据库表来说,可以创建 VFP 系统支持的所有类型的索引C.在表打开时,系统会自动地将默认的第一个索引作为主控索引(必须显式的指定,p99)D.表的唯一索引并不能控制字段数据输入时的重复9.数据库表可以设置字段有效性规则,字段有效性规则属于 DA.实体完整性范畴(字段的数据完整性和记录的数据完整性)B.参照完整性范畴(相关表数据的一致性)C.数据一致性范畴 D.域完整性范畴(域完整性指列的值域的完整性。
第三章表的创建和使用对于关系型数据库来说,数据均以二维表的形式被保存在表中。
在VFP 中表分为两种类型:数据库表和自由表,数据库表是指从属于某个数据库的表(简称“库表”),而自由表是指不从属于任何数据库的表。
与自由表相比,数据库表具有自由表的所有特性外,还具有数据库管理的其他功能。
3.1 表结构表(Table)是指存储放在磁盘文件中的二维表,一张表保存为一个表文件(.DBF)。
表文件的文件名必须遵守Windows系统对文件名的约定,并且不可用A~J中的单个字母作文件名。
表中的列称为字段(Field)。
字段规定了数据的特征。
例如,学生表中学号、姓名、性别和系名就是字段。
每张表最多可以有255个字段。
表的行叫做记录(Record),每条记录表示一个实体。
记录是多个字段的集合。
同一张表的每一个记录都有相同的字段。
3.1.3 表结构的创建表创建后,系统以扩展名.dbf保存表文件。
如果表中有备注字段或通用字段,则自动地产生与表名相同但扩展名为.fpt的备注文件2. CREATE TABLE-SQLCREATE TABLE-SQL命令的一般格式是:CREATE TABLE 表文件名(字段名1 字段类型[(字段宽度[,小数位数])][NULL|NOT NULL][,字段名2 字段类型[(字段宽度[,小数位数])]]……)说明:本书中命令的表示约定如下:垂直分隔符“|”分隔的项,表示多项中只能选择一个。
斜体字是占位符,在实际使用中要用具体的信息代替。
方括号[ ]所括的表示是可选项,[ ]本身不是命令的一部分。
省略号“……”表示参数可以有任意多项。
CREATE TABLE-SQL其中字段类型必须要用字母表示。
例如,学生表结构的创建可以使用以下命令:CREATE TABLE XS2 (xh C(6),xm C(8),xb C(2),zydh C(6),ximing C(18))则XS2表的结构与XS表一模一样。
这个命令主要用在程序代码中。