(精品)vfp第三章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(精品)vfp第三章.ppt》由会员分享,可在线阅读,更多相关《(精品)vfp第三章.ppt(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 数据库与表的创建和使用数据库与表的创建和使用2003-20043.1 3.1 数据库概述数据库概述数据库概述数据库概述表是数据的容器,系统使用表以行(记录)和列(字段)的形式存储数据数据库是表的容器,它联合、组织以及使用表和视图提供的结构和操作环境3.1.1数据库设计的过程分析数据需求:是后续步骤的基础确定需要的表:最具技巧性的一步确定表的字段:确定表之间的关系设计的优化分析数据需求数据需求分析的目标是对现实世界中要处理的对象进行详细调查,并在了解整个系统概况、确定新系统功能的过程中,收集支持系统目标信息确定在数据库中存储何种信息以及他们之间的关系确定保存主题的信息(表)和保存主
2、题中包含的信息(字段)是后续步骤的基础与数据库最终用户广泛交流,确定数据库存储的信息确定需要的表最具技巧性的一步是数据库的主要管理对象单个主题作为一个独立保存的表注意尽量避免一个表中存储重复的信息确定表的字段每个字段直接和表的主题相关不要包含可推导得到或需计算的字段收集所需的全部信息尽量以最小的逻辑单位存储信息每个表必须包含主关键字确定表之间的关系“一对一”关系:不常用“一对多”关系:最常见、最有用“多对多”关系:无利用价值“纽带表”:存储了两个表的主关键字,分成两个“一对多”的关系设计的优化(1)表中是否带有大量并不属于某主题的字段(2)是否对很多记录来说有些字段保持空白(3)是否有大量表包
3、含了许多同样的字段(4)字段是否全面(5)主关键字选择是否恰当(6)是否存在“字段多而记录很少”的情况3.1.2数据库的组成表视图连接存储过程表数据库表 从属于某一个数据库的表,称为数据库表,与自由表相比,具有许多扩展功能和管理特性。自由表 不属于任何一个数据库的表。数据库表与数据库之间的关系:表文件(表文件(.dbf)库文件(库文件(.dbc)前链后链前前链:保存在数据库文件中,包含表文件的路径和表名。链:保存在数据库文件中,包含表文件的路径和表名。后链:保存在表文件中,包含数据库名及其路径。后链:保存在表文件中,包含数据库名及其路径。2 2、视图(、视图(ViewView)把分散在相关表中
4、的数据通过联结条件把它们收把分散在相关表中的数据通过联结条件把它们收集到一起,构成一张集到一起,构成一张“虚表虚表”,这张,这张“虚表虚表”就是就是视图。视图。视图使数据暂时从数据库中分离出来,成为游离视图使数据暂时从数据库中分离出来,成为游离数据,以便在主系统之外收集和修改数据。数据,以便在主系统之外收集和修改数据。视图分为:本地视图和远程视图视图分为:本地视图和远程视图 3 3、连接、连接(Connection)(Connection)保存在数据库中的一个定义,指定了数据源的名称。保存在数据库中的一个定义,指定了数据源的名称。这里的数据源指的是远程数据源。这里的数据源指的是远程数据源。连接
5、远程数据源的方法:通过连接远程数据源的方法:通过ODBCODBC(Open Open DataBaseDataBase Connection)Connection)4 4、存储过程、存储过程在数据库中保存过程和代码的地方。包含用户自定义函数中的任何命令和函数,还有永久关系中参照完整性代码。对数据库中的数据进行相似或相同的处理,可以编写成自定义函数或过程保存在存储过程中,以供其他时候调用。3.1.3数据字典数据字典:数据字典:存储在数据库中用于描述所管理的表和对存储在数据库中用于描述所管理的表和对象的数据,即关于数据的数据,元数据。象的数据,即关于数据的数据,元数据。数据字典包括:数据字典包括:
6、表的主索引关键字表的主索引关键字数据库表之间的永久性关系数据库表之间的永久性关系长表名和注释长表名和注释.3.2数据库的创建、打开、与使用每创建一个新的数据库都将生成三个文件:每创建一个新的数据库都将生成三个文件:数据库文件(数据库文件(.DBC.DBC)关联的数据库备注文件(关联的数据库备注文件(.DCT.DCT)关联的数据库索引文件(关联的数据库索引文件(.DCX.DCX)注:数据库是一个包容器,但并不在物理上包容注:数据库是一个包容器,但并不在物理上包容任何附属对象,在数据库中仅存储了指向表文件的路任何附属对象,在数据库中仅存储了指向表文件的路径指针。径指针。3.2.1数据库的创建1、界
7、面方式2、命令方式 CREATE DATABASE CREATE DATABASE 数据库名数据库名|?注:注:如果命令中没有数据库名或只给出了?,则命令自动打开“新建对话框”。如果给出了数据库名,则创建数据库,并使该数据库处于打开状态,但不出现数据库设计器。3.2.2数据库的打开与关闭1 1、打开数据库、打开数据库打开数据库的命令:打开数据库的命令:OPEN DATABASE OPEN DATABASE 数据库名数据库名 EXCLUSIVE|SHAREDNOUPDATEVALIDATEEXCLUSIVE|SHAREDNOUPDATEVALIDATE多次使用该命令可以同时打开多个数据库。多次使
8、用该命令可以同时打开多个数据库。新建数据库保存后自动以独占方式打开新建数据库保存后自动以独占方式打开打开数据库中的表时,系统会自动打开相打开数据库中的表时,系统会自动打开相应的数据库应的数据库3.2.2数据库的打开与关闭设置当前数据库设置当前数据库 使用“常用”工具栏 使用命令设置:SET DATABASE TO 数据库名注:利用注:利用DBC()DBC()函数返回当前打开的数据库的完函数返回当前打开的数据库的完整文件名。整文件名。函数函数DBUSED(DBUSED(数据库名)测试指定的数据库数据库名)测试指定的数据库文件是否处于打开状态。文件是否处于打开状态。检查数据库的有效性检查数据库的有
9、效性 链接被破坏后可以使用链接被破坏后可以使用VALIDATE VALIDATE DATABASEDATABASE命令重建链接命令重建链接如:如:OPEN DATABASE OPEN DATABASE testdatatestdata VALIDATE DATABASE RECOVER VALIDATE DATABASE RECOVER VALIDATE DATABASEVALIDATE DATABASE只能处理以独占方只能处理以独占方式发开的数据库式发开的数据库关闭数据库关闭数据库(1 1)使用)使用“项目管理器项目管理器”(2 2)使用)使用CLOSE DATEBASESCLOSE DAT
10、EBASES命令命令 CLOSE DATABASESCLOSE DATABASES关闭当前数据库和关闭当前数据库和表。若无当前数据库,则关闭所有工作区内所有打开表。若无当前数据库,则关闭所有工作区内所有打开的自由表、索引文件和格式文件,并选择工作区的自由表、索引文件和格式文件,并选择工作区1 1。CLOSE DATABASES ALLCLOSE DATABASES ALL关闭所有打开关闭所有打开的数据库和其中的表、所有打开的自由表、所有工作的数据库和其中的表、所有打开的自由表、所有工作区内所有索引和格式文件。区内所有索引和格式文件。CLOSE ALLCLOSE ALL关闭所有的数据库、表、关闭
11、所有的数据库、表、索引以及各种设计器。索引以及各种设计器。4、删除数据库利用项目管理器“移去”按钮,数据库表将变成自由表利用delete file 和Windows的资源管理器窗口中删除,但不会删除该数据库所包含的表中的连接信息3.3表的创建与使用在VFP中,表分两种:自由表与数据库表表以.DBF形式保存,不可以用A-J中单个字母命名。每张表最多有每张表最多有255个字段个字段 记录记录 .字段(字段(Field)表表表结构表结构表记录表记录表的表的组成组成表结构即是表的框架表结构即是表的框架表记录是指表的内容表记录是指表的内容建立表的步骤是建立表的步骤是:先设计表的结构,再在:先设计表的结构
12、,再在VFP 6.0中使用命中使用命令或表设计器建立表的结构,并保存为表文件,然后再输令或表设计器建立表的结构,并保存为表文件,然后再输入记录。入记录。3.3.1 表结构概述表结构概述一、表的结构参数一、表的结构参数字段名字段名(Field NameField Name)字段名取名规则:可以是字母、数字、下划线,字段名取名规则:可以是字母、数字、下划线,只能是字母开头,自由表的字段名最多只能是字母开头,自由表的字段名最多1010个字符,个字符,数据库表的字段名可以达数据库表的字段名可以达128128个字符。个字符。字段的数据类型(字段的数据类型(TypeType)数据类型有字符型、货币型、数值
13、型、日期型、数据类型有字符型、货币型、数值型、日期型、日期时间型、逻辑型、日期时间型、逻辑型、浮点型、双精度型、整型、浮点型、双精度型、整型、备注型、通用型备注型、通用型字段宽度(字段宽度(WidthWidth)字符型最多是字符型最多是254254个字符,货币(型个字符,货币(型8 8)、日期)、日期型(型(8 8)、日期时间型()、日期时间型(8 8)、逻辑型()、逻辑型(1 1)、双精度)、双精度型(型(8 8)、整型()、整型(4 4)、)、备注型(备注型(4 4)、通用型)、通用型(4 4)(见教材说明)(见教材说明)小数位数(小数位数(DecimalDecimal)空值支持(空值支持
14、(NULLNULL):指示记录中的一个字段):指示记录中的一个字段“有或有或没有没有”数据的标识。不是一种数据类型或一个值数据的标识。不是一种数据类型或一个值两种方法:两种方法:CREATE TABLE CREATE TABLE 命令的语法:命令的语法:CREATE TABLE CREATE TABLE 表名(字段表名(字段1 1 字段类型字段类型(字段宽度字段宽度,小数位数小数位数)NULL|NOT NULL NULL|NOT NULL;,字段字段2 2 字段类型字段类型;(字段宽度;(字段宽度,小数位数,小数位数)3.3.23.3.2创建和修改表结构创建和修改表结构用用“表设计器表设计器”
15、创建(自由表和数据库表)创建(自由表和数据库表)用用CREATE TABLE CREATE TABLE 命令创建(课本命令创建(课本3.83.8节)节)1.1.创建表:创建表:例如:例如:创建学生表的命令如下:创建学生表的命令如下:CREATE TABLE xs2 CREATE TABLE xs2(xhxh C(6),xm C(6),xm C(8),xb C(2),zydh C(6),ximing c(18)C(8),xb C(2),zydh C(6),ximing c(18))创建教师表的命令如下:创建教师表的命令如下:CREATE TABLE CREATE TABLE jsjs(ghgh
16、C(5),xm C(8),xb C(5),xm C(8),xb C(2),xdh C(2),C(2),xdh C(2),zcdhzcdh C(2),;C(2),;csrqcsrq D,jbgzD,jbgz N(7,2),N(7,2),jljl M M)使用使用NULLNULL值值在建立新表时,可以指定字段是否接受在建立新表时,可以指定字段是否接受NULLNULL值。值。在在“表设计器表设计器”对话框中的对话框中的“字段字段”选项卡中选定选项卡中选定.在在CREATE TABLE-SQLCREATE TABLE-SQL命令中,可以使用命令中,可以使用NULL/NOT NULLNULL/NOT N
17、ULL子子句来设定是否让某字段接受句来设定是否让某字段接受NULLNULL值。值。例例3 3 创建创建zgzg表,其中表,其中ghgh和和xmxm不允许为不允许为NULLNULL,csrqcsrq允许允许为为NULLNULL值:值:CREATE TABLE CREATE TABLE zgzg(ghgh C(6)NOT C(6)NOT NULL,xmNULL,xm C(8)C(8)NOT NOT NULL,csqrNULL,csqr D NULL D NULL)注:当设置表中的字段可以为注:当设置表中的字段可以为NULLNULL,该表最多有该表最多有254254个个字段。字段。表结构的修改表结构
18、的修改有两种方法:有两种方法:用用“表设计器表设计器”修改(修改(modify structure)用用ALTER TABLE 命令命令修改修改1 1)用)用ALTERALTER命令添加字段命令添加字段 例如:将例如:将bjmcbjmc字段添加到字段添加到xsxs表中表中 ALTER TABLE ALTER TABLE xsxs ADD COLUMN ADD COLUMN bjmcbjmc C(12)C(12)2 2)用)用ALTERALTER命令重命名字段命令重命名字段 例如:将例如:将bjmcbjmc改为改为bjbj ALTER TABLE ALTER TABLE xsxs RENAME
19、COLUMN RENAME COLUMN bjmcbjmc TO TO bjbj3 3)用)用ALTERALTER命令删除字段命令删除字段 例如:将例如:将bjbj字段删除字段删除 ALTER TABLE ALTER TABLE xsxs DROP COLUMN DROP COLUMN bjbj3.3.3字段属性与表属性1.数据库表的字段扩展属性:数据库表的字段扩展属性:格式、输入掩码、格式、输入掩码、标题、默认值、验证规则等标题、默认值、验证规则等字段的有效性规则:用来控制输入到字段中的数据的取值范围一个逻辑表达式的规则,且当前字段应包含在表达式中仅对相应字段输入或修改的值验证其有效性如果表
20、中已有记录,且需要设置或修改某字段的有效性规则,则需要首先确保表中所有记录满足将要设置的有效性规则例:给jxsj数据库中的cj表的cj字段进行如下设置:cj字段在输入时只允许是三位的数字设置标题为“成绩”输入的成绩值必须在0-100分之间设置默认值为60分设置注释为:“学生各门课程的成绩”设置如下:注意:注意:保存数据时,如何控制现有的数据不对保存数据时,如何控制现有的数据不对照;照;字段的默认控件类的使用字段的默认控件类的使用例:例:数据库表字段的默认值保存在数据库表字段的默认值保存在_文件中文件中 A表表 B.数据库数据库 C.项目项目 D.表的索引表的索引2.数据库表的表属性数据库表的表
21、属性1)长表名与注释)长表名与注释 在创建表时,每张表的表文件名就是表名。在创建表时,每张表的表文件名就是表名。其长度受操作系统的限制,在其长度受操作系统的限制,在VFP中规定,数中规定,数据库表及自由表的表名最大长度为据库表及自由表的表名最大长度为128个字符。个字符。在打开数据库时,长表名可以代替表名。在打开数据库时,长表名可以代替表名。但是使用长文件名打开表时,表所属的数据但是使用长文件名打开表时,表所属的数据库必须是打开的,且设为当前数据库。库必须是打开的,且设为当前数据库。长表名的设置:长表名的设置:可以在可以在“表设计器表设计器”或在使用或在使用CREATE CREATE TABL
22、E TABLE 命令创建表时,用命令创建表时,用NAMENAME子句指定子句指定长表名。长表名。如:如:CREATE TABLE BK NAME CREATE TABLE BK NAME 学生补考学生补考表表 (XHXH;C C(6 6),),KCDH CKCDH C(2 2),),CJ NCJ N(3 3,0 0)2 2)表记录的验证规则)表记录的验证规则何时设置:何时设置:向表中输入记录时,想要比较两个以上的字段向表中输入记录时,想要比较两个以上的字段是否满足一定的条件。是否满足一定的条件。例如:课时数大于例如:课时数大于4 4的学分不得少于的学分不得少于2 2。1515岁之前不可能参加工
23、作。岁之前不可能参加工作。何时被激活:何时被激活:和字段级规则一样,在记录值改变时被激活。和字段级规则一样,在记录值改变时被激活。当把记录指针移离记录时,都要检查记录级规则。可当把记录指针移离记录时,都要检查记录级规则。可以校验多个字段之间的关系是否满足某种条件以校验多个字段之间的关系是否满足某种条件如何设置:如何设置:在“表设计器”的“表”选项卡中,在“规则”和“信息”框中输入所需的规则和信息。记录的验证规则是一个逻辑表达式,记录的验证信息是一个带双引号的字符表达式。例如,对例如,对jsjs表中的记录需要满足如下要求:表中的记录需要满足如下要求:。则应在。则应在“记录验证规则记录验证规则”框
24、中输入如框中输入如下的表达式:下的表达式:year(js.gzrqyear(js.gzrq)year(js.csrqyear(js.csrq)=18)=18在信息框中输入:在信息框中输入:“工作日期与出生日期工作日期与出生日期必须相差必须相差1818年年”可以使用CREATE TABLE 或ALTER TABLE 命令的CHECK子句。如:ALTER TABLE JS SET CHECK year(js.gzrqyear(js.gzrq)year(js.csrqyear(js.csrq)=18)=18;ERROR ERROR“工作日期与出生日期必须相差工作日期与出生日期必须相差1818年年”用
25、以下命令可删除JS表的记录有效性规则:ALTER TABLE JS DROP CHECK3.创建表的触发器创建表的触发器 触发器是绑定在表上的逻辑表达式,触发器是绑定在表上的逻辑表达式,是在插入、更新或删除记录时进行的检是在插入、更新或删除记录时进行的检验规则。验规则。三种触发器的含义:三种触发器的含义:插入触发器:每次向表中插入或追加记录时触发该规则。如该条记录使规则为.T.,则接受该记录;若该规则为.F.,则提出警告,拒绝接受该记录。更新触发器:每次在表中修改记录时触发该规则。如该条记录经修改后使规则为.T.,则接受该记录;若使该规则为.F.,则提出警告,拒绝接受修改。删除触发器:每次在表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 vfp 第三
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内