VisualFoxPro程序设计基础数据库和表-课件

上传人:29 文档编号:240641550 上传时间:2024-04-26 格式:PPT 页数:102 大小:2.43MB
收藏 版权申诉 举报 下载
VisualFoxPro程序设计基础数据库和表-课件_第1页
第1页 / 共102页
VisualFoxPro程序设计基础数据库和表-课件_第2页
第2页 / 共102页
VisualFoxPro程序设计基础数据库和表-课件_第3页
第3页 / 共102页
资源描述:

《VisualFoxPro程序设计基础数据库和表-课件》由会员分享,可在线阅读,更多相关《VisualFoxPro程序设计基础数据库和表-课件(102页珍藏版)》请在装配图网上搜索。

1、NANJING UNIVERSITY OF INFORMATION SICENCE&TECHNOLOGY数数据据库技技术及及应用用NANJING UNIVERSITY OF INFORMATION SICENCE&TECHNOLOGY第三章第三章 表表与与数据库的创建和使用数据库的创建和使用 l南京信息工程大学 计算机与软件学院数据库技术及应用前言前言l数据库数据库由一个或多个数据表组成,因此要建立、由一个或多个数据表组成,因此要建立、使用数据库都应首先建立数据表。使用数据库都应首先建立数据表。l在在VFP中,数据表有中,数据表有自由表自由表和和数据库表数据库表两种形式,两种形式,相互可以转换

2、。相互可以转换。l本章重点介绍数据表和数据库的创建和使用,并本章重点介绍数据表和数据库的创建和使用,并在此基础上介绍数据表的各种属性,数据库表之在此基础上介绍数据表的各种属性,数据库表之间的关系等知识。间的关系等知识。本章章节本章章节l本章应掌握的知识本章应掌握的知识3.1 表的创建和使用表的创建和使用3.2 表的索引表的索引3.3 数据库的创建和基本操作数据库的创建和基本操作3.4 数据字典数据字典3.5 表之间的关系表之间的关系3.6 有关数据库操作的命令和函数有关数据库操作的命令和函数3.7 SQL语言创建关系型数据库语言创建关系型数据库3.1 表的创建和使用表的创建和使用l在在VFP中

3、,中,数据表文件的扩展名为数据表文件的扩展名为.dbf,且,且数据表有两数据表有两种形式:种形式:自由表:没有和任何数据库关联的数据表文件自由表:没有和任何数据库关联的数据表文件数据库表:与某个数据库关联的数据表文件数据库表:与某个数据库关联的数据表文件l数据库表和自由表相比,具有一些自由表没有的属性,如:数据库表和自由表相比,具有一些自由表没有的属性,如:主关键字主关键字触发器触发器默认值默认值表关系表关系l数据库表和自由表可以相互转换。数据库表和自由表可以相互转换。3.1.1 表结构概述表结构概述l表以记录和字段的形式存储数据:表中的每一行称为一条记录表中的每一列称为一个字段l举例:200

4、7计算机计算机女女20张文斌张文斌2007管理管理男男20黄鹏黄鹏2007计算机计算机女女19王明王明年年 级级系系 名名性性 别别年年 龄龄姓姓 名名学学 号号字段字段记录记录学生表学生表3.1.2 字段的基本属性字段的基本属性l字段一般具有以下基本属性:字段名:用以标识字段,应遵循命令规则数据类型:用以说明字段存储值的数据类型字段宽度:用以说明字段存储值的占位宽度小数位数:若数据类型是数值型,则可定义小数位数空值支持:用以指示是否允许字段没有任何值或没有确定的值l举例:字段名称字段名称字段类型字段类型字段宽度字段宽度小数位数小数位数NULL零件号零件号字符型字符型3否否名称名称字符型字符型

5、10是是规格规格字符型字符型25是是单价单价货币型货币型82是是描述描述备注型备注型4是是图片图片通用型通用型4是是3.1.3 表的创建表的创建l在VFP中,创建一个新表的步骤如下:(1)创建表的结构,即说明表中包含哪些字段,每个字段的基本属性(2)向表中添加记录,即向表中输入数据3.1.3 表的创建表的创建创建表结构创建表结构lVFP提供了三种方式创建表结构:表向导:主要用来自动生成表结构表设计器:主要用来手动设计表结构命令:主要用来在应用程序中管理表结构l三种方法可单独使用,也可混合使用。3.1.3 表的创建表的创建创建表结构创建表结构l表向导 3.1.3 表的创建表的创建创建表结构创建表

6、结构l表设计器3.1.3 表的创建表的创建创建表结构创建表结构l表设计器3.1.3 表的创建表的创建创建表结构创建表结构l命令CREATE 数据表名注意,该命令仅用于打开表设计器,还需要在表设计器完善表结构的定义。l缺省数据表名时,则先弹出“创建”对话框,指定数据表的文件名之后,再弹出表设计器窗口。l若给出数据表名,则直接弹出表设计器窗口。举例:CREATE 零件用于创建一个名为“零件”的数据表如果希望在命令中定义表结构,则需要使用创建数据表的CREATE-SQL命令,参见3.7节3.1.3 表的创建表的创建添加记录添加记录l添加记录,主要有两种方式:通过键盘逐条输入从已有文件导入3.1.3

7、表的创建表的创建添加记录添加记录l逐条输入在浏览窗口中追加记录在编辑状态下输入记录使用APPEND命令追加记录 使用INSERT-SQL命令追加记录 3.1.3 表的创建表的创建添加记录添加记录l逐条输入在浏览窗口中追加记录3.1.3 表的创建表的创建添加记录添加记录l逐条输入在编辑状态下输入记录3.1.3 表的创建表的创建添加记录添加记录l逐条输入使用APPEND命令追加记录 APPEND BLANKl缺省BLANK短语时,则弹出添加记录的编辑窗口,由用户在当前数据表的末尾输入新记录的具体内容。l若选择BLANK短语,则不会弹出编辑窗口,由系统自动在数据表的末尾添加一条空记录。3.1.3 表

8、的创建表的创建添加记录添加记录l逐条输入使用INSERT-SQL命令追加记录,见3.7节,P109INSERT INTO(字段名1,字段名2,.)VALUES(,表达式2,.)【例】向“仓库”表内追加一条记录,仓库号为“013”,面积为500。INSERT INTO 仓库(仓库号,面积)VALUES(013,500)3.1.3 表的创建表的创建添加记录添加记录l文件导入命令方式界面方式3.1.3 表的创建表的创建添加记录添加记录l文件导入命令方式APPEND FROM 文件名 DELIMITED|XLSl若缺省DELIMITED或XLS短语,则表明导入文件的文件类型为.dbf的数据表文件,并要

9、求该文件的表结构和当前表结构相同。l若选择DELIMITED短语,则表明导入文件的文件类型为.txt的文本文件,并要求该文件中每条记录以回车符结尾,各字段之间以逗号分隔,字符值必须加引号等。l若选择XLS短语,则表明导入文件的文件类型为.xls的Excel文件,并要求该文件中工作表的列结构和当前表的表结构相同。3.1.3 表的创建表的创建添加记录添加记录l文件导入界面方式:用户可以在浏览数据表状态下,选择“表”菜单中的“追加记录”,弹出“追加来源”对话框,从而实现将其他文件中的数据导入到数据表中。根据需要,用户还可以通过该对话框中的“选项”按钮,进行字段选取,或舍弃某些字段。3.1.4 备注型

10、字段和通用型字段的输入备注型字段和通用型字段的输入l鼠标双击memo,弹出文本编辑窗口,在该窗口中输入和编辑信息,结束后关闭当前窗口则会回到记录输入窗口,且memo更新为Memo,表示该字段不为空。l鼠标双击gen,弹出通用型字段编辑器,插入对象,且gen更新为Gen,表示该字段不为空。3.1.5 表的操作表的操作l数据表创建完成之后,就可以根据实际需要进行操作。l在VFP中,操作数据表之前,必须先打开数据表:界面方式:l项目管理器:选择要打开的表,单击“浏览”或“修改”l工具栏:“打开”快捷按钮l菜单栏:“文件”菜单中的“打开”命令命令方式:lUSE 数据表名3.1.5 表的操作表的操作l工

11、作区每打开一个数据表,就会从计算机内存中开辟一个工作区,以便存储该表以及与该表相关的辅助文件中的信息。VFP允许在计算机内存中开辟32767个工作区,每个工作区都有一个编号,范围为132767,其中前10个工作区号也可以用字母AJ来表示。当VFP启动后,1号工作区被自动选中。VFP允许用户可以同时使用多个工作区,但是在任一时刻只能选定其中一个作为当前工作区,而且一个工作区内只能打开一张数据表。如需在打开数据表的时候指定工作区,则可输入命令:USE 数据表名 IN 工作区号3.1.5 表的操作表的操作l表别名在工作区中打开表时,可以为该工作区赋予一个自定义的表别名。定义别名的格式为:USE 数据

12、表名 ALIAS 数据表别名举例:USE 零件 ALIAS 零件信息表用于打开“零件”表,并定义表别名为“零件信息表”如果打开表时没有自定义别名,则系统默认以表文件名为别名。如果再次打开同一个表时没有定义别名,则系统默认以工作区字母作为别名。3.1.5 表的操作表的操作l工作区的选择VFP允许用户可以同时使用多个工作区,但是在任一时刻只能选择其中一个作为当前工作区。工作区的选择,可以通过SELECT命令实现,格式为:SELECT 工作区号|表别名若该命令中的工作区号设置为0,则将选择未被使用的最小编号的工作区。举例:SELECT 1USE 零件SELECT 2USE 零件 AGAIN ALIA

13、S 零件信息表在“零件”表关闭的情况下,执行上述命令,则可以分别在1号工作区去打开“零件”表,同时在2号工作区中再次打开“零件”表,并定义表别名为“零件信息表”。3.1.5 表的操作表的操作l“数据工作期”窗口在VFP启动之后,系统自动生成一个默认的数据工作期,用以表示当前的动态工作环境。利用“数据工作期”窗口,可以方便地查看和管理在计算机内存中开辟的一组工作区。例如:3.1.5 表的操作表的操作l表的打开界面方式:l项目管理器:选择要打开的表,单击“浏览”或“修改”l工具栏:“打开”快捷按钮l菜单栏:“文件”菜单中的“打开”命令l“数据工作期”窗口:“打开”命令3.1.5 表的操作表的操作l

14、表的打开命令方式:USE 表名 IN 工作区号|表别名 AGAIN ALIAS 自定义表别名 EXCLUSIVE|SHARED NOUPDATE其中:lIN子句用于指定在那个工作区中打开表,缺省时表示在当前工作区中打开。lAGAIN子句用于说明该表再次打开。lALIAS子句用于定义打开表的别名,缺省时表的别名与表名相同。lEXCLUSIVE表示表以独占的形式打开。lSHARED表示表以共享的方式打开。lNOUPDATE用于指定表打开后不允许更新,即不可修改其结构和数据。举例:见教材P613.1.5 表的操作表的操作l表的关闭界面方式:l“数据工作期”窗口:“关闭”命令3.1.5 表的操作表的操

15、作l表的关闭命令方式:l关闭当前工作区中的表:USEl关闭指定工作区中的表:USE IN 工作区号|表别名或者SELECT工作区号|表别名USEl关闭所有的表用CLOSE命令,参见教材P623.1.6 表记录的操作表记录的操作l表记录的操作主要包括:浏览记录增加记录修改记录删除记录定位记录3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:浏览记录l界面方式:在数据表打开的情况下,选择“显示”菜单中的“浏览”命令,弹出“浏览”窗口。l命令方式:BROWSE:在“浏览”窗口中查看记录,见教材P63LIST/DISPLAY:在VFP主窗口中查看记录,见教材P64【例】打开“零件”表,仅显示

16、名称为“螺钉”的记录的零件号、名称和规格,且不能修改记录,浏览器标题显示为“螺钉”,则应依次键入如下命令:USE 零件BROWSE FIELDS 零件号,名称,规格 FOR 名称=螺钉“NOMODIFY TITLE 螺钉“若希望在主窗口中显示相应的信息,则可键入如下命令:LIST FIELDS 零件号,名称,规格 FOR 名称=螺钉3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:增加记录l亦即添加记录,方式主要有两种:通过键盘逐条输入从已有文件导入3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:修改记录l常用方式:在“浏览”或“编辑”窗口中直接进行修改l若需按照某个条件

17、批量修改某个字段的值:界面方式:l在数据表处于“浏览”的状态下,选择“表”菜单中的“替换字段”命令,弹出“替换字段”对话框,然后根据需要进行相关的参数设置,如:3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:修改记录l常用方式:在“浏览”或“编辑”窗口中直接进行修改l若需按照某个条件批量修改某个字段的值:命令方式:lREPLACE命令,见教材P69【例】若使“零件”表中零件名称为“螺母”的零件之单价减少0.5,则可依次键入如下命令:USE 零件REPLACE 单价 WITH 单价-0.5 FOR 名称=螺母3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:修改记录l常用方

18、式:在“浏览”或“编辑”窗口中直接进行修改l若需按照某个条件批量修改某个字段的值:命令方式:lUPDATE命令,见3.7节,P109【例】若使“零件”表中零件名称为“螺母”的零件之单价减少0.5,则可依次键入如下命令:USE 零件REPLACE 单价 WITH 单价-0.5 FOR 名称=螺母3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:删除记录lVFP对记录的删除,一般分两步完成:逻辑删除:先将需要删除的记录打上删除标志物理删除:再删除带有删除标志的记录3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:删除记录l逻辑删除界面方式:l在数据表处于“浏览”的状态下,使用鼠

19、标在记录前的删除标记列进行点击,做上删除标志l若需批量添加删除标志,则可选择“表”菜单中的“删除记录”命令,弹出“删除”对话框后,则可设置相关参数,批量添加删除标志。命令方式:lDELETE命令,见教材P70l注意,如果希望去除删除标志,则可使用RECALL命令,见教材P703.1.6 表记录的操作表记录的操作l表记录的操作主要包括:删除记录l物理删除界面方式:l在数据表处于“浏览”的状态下,选择“表”菜单中的“彻底删除”命令,可以将表中已做删除标志的记录彻底删除。命令方式:lPACK命令,见教材P70【例】若需删除“零件”表中所有名称为“螺母”的记录,则可依次键入如下命令:USE 零件DEL

20、ETE FROM 零件 WHERE 名称=螺母PACK3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:删除记录lVFP也支持ZAP命令,对所有记录一次性删除,无论是否带有删除标志。3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:定位记录l当用户向数据表内输入记录时,系统会为每一条记录按照输入的顺序指定“记录号”。第一条输入的记录的记录号为1,以此类推。l当前记录的记录号(调用RECNO()函数可获取当前记录号)被存在记录指针中,当数据表刚打开时,记录指针会自动指向第一条记录。l记录指针可在数据表记录的范围内进行移动,VFP为记录指针提供了三种定位方式(见教材P67-68

21、):绝对定位:GOTO 命令相对定位:SKIP 命令条件定位:LOCATE 命令3.1.6 表记录的操作表记录的操作l表记录的操作主要包括:定位记录l在处理记录的过程中,记录指针会不断发生移动,可以利用函数测试记录指针当前是否在有效的范围内:BOF():测试记录指针是否在表头EOF():测试记录指针是否超出最后一条记录l表结构文件示意图参见教材P66。下表中列出了当一张表后,在无索引情况下,未作指针移动操作时,RECNO()函数、BOF()函数和EOF()函数的值。表中记录BOF()的值EOF()的值RECNO()的值无记录.T.T.1有记录.F.F.13.1.6 表记录的操作表记录的操作l表

22、记录的操作主要包括:定位记录 【例】打开“零件”表,将记录指针进行如下操作:USE 零件 EXCLUSIVE?BOF(),EOF()&系统显示.F.F.,即指针既没指到首部也没指到尾部GO BOTTOM&将指针移到文件最后一条记录上?EOF()&系统显示.F.,指针没有指到尾部GO TOP&将指针指到第一条记录上?BOF()&系统显示.F.,没到文件的首部SKIP-1&将指针后退到文件首部?BOF()&系统显示.T.,指针指到文件首部3.1.7 表的统计操作表的统计操作l统计是数据库应用的重要内容。l例如,使用统计命令可以对数据表中的数据进行计数、求和以及求平均值等操作(见教材P72-73):

23、计数:COUNT命令求和:SUM命令求平均值:AVERAGE命令3.2 表的索引表的索引l通常情况下,数据表中各条记录是按输入顺序排列的,然后某些时候则需要按某种特定的次序排列。lVFP提供了两种排序方法:物理排序:依照某一关键字值的大小重新排列数据表中记录的顺序,并生成一个新的数据表文件。逻辑排序:又称索引方法,它并不改变记录的物理顺序,而是按某个索引关键字或索引表达式的值来建立记录的逻辑顺序。l由于逻辑排序的速度快,效率高,因而在大多数情况下均采用逻辑排序的方法,即索引的方法。3.2 表的索引表的索引l索引方法的基本思想:改变记录的物理顺序,而是按某个索引关键字或索引表达式的值来建立记录的

24、逻辑顺序。在索引排序所生成的索引表中,仅记载各记录的关键字值或索引表达式的值,以及对应的记录号及应有的排列顺序。索引表与原数据表一起使用,这样原数据表中各记录的实际存储位置并没有改变,但对其操作时却按索引表所排列的记录顺序进行,因而从逻辑上讲,原数据表中的各条记录就会是有序的。3.2.1 索引的概念及类型索引的概念及类型l索引:一组根据索引关键字或索引表达式的值进行逻辑排序的指针。l索引关键字:是建立索引的依据,通常是数据表中的一个字段l索引表达式:是建立索引的依据,通常是基于数据表中多个字段组成的表达式,以便能够按照多个字段的值进行排序,见教材P73。l索引标识:在一张数据表中可以建立多个索

25、引。为了表示区分,每一个索引都必须有一个索引名,即索引标识。3.2.1 索引的概念及类型索引的概念及类型l索引的类型:对于VFP索引文件的某个索引项,可以分为四种不同的类型:l主索引:主索引是不允许在索引关键字中出现重复值的索引。对于每一个表,主索引只能建立一个。同时,只有数据库表才能建立主索引,自由表没有主索引。l候选索引:也是在索引关键字中不允许出现重复值的索引。对一个表,候选索引可以创建多个。l普通索引:允许索引关键字或索引表达式的值重复出现。l唯一索引:允许索引关键字或索引表达式的值重复出现,但与普通索引相比,系统只在唯一索引序列中保存首次出现的索引值。亦即,只能找到同一个索引关键值首

26、次出现的记录。对于重复值的其他记录,尽管它们仍然保留在原数据表中,但在唯一索引文件中却没有包括它们。不同类型的索引项,可以承担不同的索引任务。用户可以根据实际需要,设置索引的类型。3.2.2 索引文件的类型索引文件的类型l索引文件:索引方法并不改变数据表中记录的物理顺序,而是建立一个索引表,并以文件的形式存储,称为索引文件。当索引文件与数据表一起打开时,可以设置索引文件,使其指针处于作用状态,此时,表记录的操作就按逻辑顺序进行。3.2.2 索引文件的类型索引文件的类型l索引文件的类型:索引文件由所含有的索引标识的多少,可以分为两类:l复合索引文件:是一个扩展名为.cdx的文件,可以包含多个索引

27、标识。复合索引文件又可分为:结构复合索引文件结构复合索引文件:文件名与表名相同,在打开数据表时,结构复合索引文件随之自动打开。当对数据表记录的任何操作都会自动地更新到相应的索引文件中。本书所涉及的索引均为该类型的索引。非结构复合索引文件:文件名与表名不同,由用户指定,且不能随数据表的打开而自动打开,必须由用户手工操作才能打开。l独立索引文件:是一个扩展名为.idx的文件,仅包含一个索引项。各个独立索引文件是相互独立的,每个独立索引文件的文件名通常与相应的表名没有任何关系,即使索引文件与数据表同名,也不会随数据表文件的打开而打开。3.2.3 索引的创建和使用索引的创建和使用l创建索引,主要有两种

28、方式(见教材P75-77):界面方式:利用表设计器创建索引命令方式:INDEX命令lINDEX ON 索引表达式 TAG 索引标识名 FOR 条件表达式 ASCENDING|DESCENDING UNIQUE|CANDIDATE命令中参数和子句的含义如下:l索引表达式用于建立索引的字段、表达式或字段跟表达式的组合。lTAG索引标识名指定要建立的复合索引文件的文件名。lFOR 条件表达式建立索引的筛选条件。lASCENDING|DESCENDING确定索引是升序还是降序。缺省时为升序。lUNIQUE|CANDIDATE用于指定索引的类型。前者表示唯一索引,后者表示候选索引。缺省时为普通索引。3.

29、2.3 索引的创建和使用索引的创建和使用l修改索引界面方式:利用表设计器修改索引命令方式:利用INDEX命令建立同标识名的索引文件,并覆盖原索引文件l删除索引界面方式:利用表设计器删除索引命令方式:利用DELETE TAG删除索引l DELETE TAG 索引标识名1,索引标识名2l DELETE TAG ALL3.2.3 索引的创建和使用索引的创建和使用l索引的使用由于一个结构复合索引文件中可以包含多个索引项,因此在使用的时候应进行选择,即设置某个索引为主控索引。在未指定主控索引之前,数据表中的记录仍然是按照物理顺序排列的。指定主控索引的方式:l打开表的同时指定主控索引使用USE命令时使用O

30、RDER子句指定l打开表之后再指定主控索引打开表之后,可以使用界面方式或命令方式设置主控索引3.2.3 索引的创建和使用索引的创建和使用l索引的使用指定主控索引的方式:l打开表之后再指定主控索引界面方式:在表处于浏览的状态下,选择“表”菜单中的“属性”命令,弹出“工作区属性”对话框,在“索引顺序”下拉列表中选择一个索引作为主控索引3.2.3 索引的创建和使用索引的创建和使用l索引的使用指定主控索引的方式:l打开表之后再指定主控索引命令方式:SET ORDER TO 命令lSET ORDER TO 索引标识名 IN 工作区|别名ASCENDING|DESCENDING命令中的参数与子句的含义如下

31、:lASCENDING|DESCENDING用于指定显示顺序为升序还是降序。缺省时为升序。l不带任何选项的SET ORDER TO命令用于取消主控索引。3.2.3 索引的创建和使用索引的创建和使用l索引的使用利用索引快速定位记录:lSEEK命令:用于在一个表中利用主控索引或指定索引搜索首次出现的一个记录,该记录的索引关键字必须与指定的表达式相匹配l命令方式:SEEK 索引关键字表达式ORDER 索引标识ASCENDING|DESCENDING l举例:&假定已经建立了一个基于“单价”字段的名为“价格高低”的索引项USE 零件 ORDER 价格高低 SEEK 1.5l或USE 零件SEEK 1.

32、5 ORDER 价格高低3.2.3 索引的创建和使用索引的创建和使用l索引的其它用法索引除了可以指定数据表的访问和显示的顺序之外,还可以用于建立数据表之间的临时关系以及永久关系,这部分将在后续小节中讨论。3.3 数据库的创建和基本操作数据库的创建和基本操作l数据库是数据库管理系统的核心。数据库是数据库管理系统的核心。l在在VFP的数据库中,存储的不是数据,而是表、的数据库中,存储的不是数据,而是表、关系、视图、连接和存储过程等。数据则是以二关系、视图、连接和存储过程等。数据则是以二维表的形式存储在表里的。维表的形式存储在表里的。l每创建一个数据库都会生成三个文件:每创建一个数据库都会生成三个文

33、件:数据库文件:数据库文件:.DBC关联的数据库备注文件:关联的数据库备注文件:.DCT关联的数据库索引文件:关联的数据库索引文件:.DCX3.3.1 数据库概述数据库概述“仓库管理系统”数据库中的表以及表与表之间的关系示意图l数据库是一个容器,是许多相关的数据库表及其关系的集合。数据库是一个容器,是许多相关的数据库表及其关系的集合。3.3.2 数据库的设计数据库的设计l设计数据库的一般步骤是设计数据库的一般步骤是(教材教材P51)P51):分析数据需求分析数据需求确定需要的表文件确定需要的表文件确定需要的字段确定需要的字段确定各表之间的关系确定各表之间的关系改进整个设计改进整个设计3.3.3

34、 数据库的创建数据库的创建l新建数据库的方法:新建数据库的方法:使用界面方式创建数据库使用界面方式创建数据库l数据库向导数据库向导l数据库设计器数据库设计器 使用命令方式创建数据库使用命令方式创建数据库 3.3.3 数据库的创建数据库的创建使用界面方式创建数据库使用界面方式创建数据库 使用使用“项目管理器项目管理器”创建数据库创建数据库 步骤一:点击新建按钮步骤一:点击新建按钮步骤二:点击新建数据库按钮步骤二:点击新建数据库按钮3.3.3 数据库的创建数据库的创建使用界面方式创建数据库使用界面方式创建数据库 使用使用“项目管理器项目管理器”创建数据库创建数据库 步骤三:输入数步骤三:输入数据库

35、名称,点击据库名称,点击保存按钮保存按钮3.3.3 数据库的创建数据库的创建使用界面方式创建数据库使用界面方式创建数据库 使用菜单和工具栏使用菜单和工具栏“新建新建”命令创建数据库命令创建数据库 3.3.3 数据库的创建数据库的创建使用界面方式创建数据库使用界面方式创建数据库 使用菜单和工具栏使用菜单和工具栏“新建新建”命令创建数据库命令创建数据库 步骤一:文件类型选择步骤一:文件类型选择“数据库数据库”,点击新建文件,点击新建文件按钮按钮3.3.3 数据库的创建数据库的创建使用界面方式创建数据库使用界面方式创建数据库 使用菜单和工具栏使用菜单和工具栏“新建新建”命令创建数据库命令创建数据库

36、步骤二:输入数步骤二:输入数据库名称,点击据库名称,点击保存按钮保存按钮3.3.3 数据库的创建数据库的创建使用命令方式创建数据库使用命令方式创建数据库 CREATE DATABASE数据库文件名数据库文件名|?注意:注意:在使用命令创建数据库时,如果命令中没在使用命令创建数据库时,如果命令中没有指定数据库名称,或是命令后带的是有指定数据库名称,或是命令后带的是“?”,则会打开则会打开“创建创建”对话框。如果命令后带有数据对话框。如果命令后带有数据库的名称,则创建数据库,并使数据库处于打开库的名称,则创建数据库,并使数据库处于打开状态,但不打开状态,但不打开“数据库设计器数据库设计器”窗口。可

37、以通窗口。可以通过命令过命令MODIFY DATABASE MODIFY DATABASE 数据库文件名数据库文件名打开打开“数据库设计器数据库设计器”窗口窗口 3.3.4 数据库设计器和数据库设计器和“数据库数据库”菜单菜单 l“数据库设计器数据库设计器”窗口窗口:3.3.4 数据库设计器和数据库设计器和“数据库数据库”菜单菜单 l数据库设计器工具栏和数据库设计菜单:新建表新建表添加表添加表移去表移去表新建远程视图新建远程视图新建本地视图新建本地视图修改表修改表浏览表浏览表编辑存储过程编辑存储过程连接连接 3.3.5 数据库的组成数据库的组成l数据库的组成数据库的组成(教材教材P84):表、

38、本地视图、远程视图、连接、存储过程表、本地视图、远程视图、连接、存储过程3.3.6 数据库的操作数据库的操作l数据库的一般操作(见教材数据库的一般操作(见教材P85-87P85-87):):打开数据库:打开数据库:lOPEN DATABASE 命令命令设置当前数据库:设置当前数据库:lSET DATABASE 命令命令检查数据库的有效性检查数据库的有效性lVALIDATE DATABASE 命令命令修改数据库修改数据库lMODIFY DATABASE 命令命令关闭数据库关闭数据库lCLOSE DATABASE 命令命令删除数据库删除数据库lDELETE DATABASE 命令命令3.3.7 数

39、据库表的创建与操作数据库表的创建与操作l数据库表的基本操作包括(见教材P87-90):新建数据库表:l创建数据库表与自由表的不同之处在于:在创建数据库表之前要首先创建数据库,并在数据库打开的情况下,创建数据库表。向数据库中添加表l也可以将已经创建好的自由表添加到数据库中,使之成为数据库表。l由于一张表只能最多隶属于一个数据库,因此只有自由表才能被添加到数据库中。l如果要将一张数据库表添加到另一个数据库中,一定需要先将该数据库表转换为自由表。将表从数据库中移去或删除l当一个数据库不再需要某个数据库表时,可以将该表从数据库中移出。l如果确定某个数据库表已经失去了应用价值,则可以将其从磁盘上删除。3

40、.4 数据字典数据字典l数据库表与自由表可以自由转换,但是转换后,二者之间是存在一些区别的。l数据库表除了具有字段名、字段类型、字段宽度等自由表也具有的属性之外,还具有一些自由表不具备的扩展属性,主要包括:数据库表中字段的扩展属性数据库表的扩展属性l数据字典是包含数据库中所有表信息的一张表。数据库表的各种扩展属性也被包含在数据字典中。l数据字典的引入使得数据库表的功能高于自由表。3.4.1 字段的扩展属性字段的扩展属性l字段的扩展属性包括:字段的扩展属性包括:显示格式显示格式输入掩码输入掩码默认值默认值标题标题注释注释字段的验证规则字段的验证规则 3.4.1 字段的扩展属性字段的扩展属性字段的

41、扩展属性设置区3.4.1 字段的扩展属性字段的扩展属性1.字段的显示格式、输入掩码、标题3.4.1 字段的扩展属性字段的扩展属性2.字段的有效性规则、信息和默认值3.4.1 字段的扩展属性字段的扩展属性3.字段的注释3.4.2 数据库表的扩展属性数据库表的扩展属性l数据库表的扩展属性包括:数据库表的扩展属性包括:长表名长表名表的注释表的注释表记录的有效性的规则与说明表记录的有效性的规则与说明触发器触发器3.4.2 数据库表的扩展属性数据库表的扩展属性表的扩展属性设置区3.4.2 数据库表的扩展属性数据库表的扩展属性1.长表名3.4.2 数据库表的扩展属性数据库表的扩展属性2.表的注释3.4.2

42、 数据库表的扩展属性数据库表的扩展属性3.表记录的有效性的规则与说明3.4.2 数据库表的扩展属性数据库表的扩展属性4.表的触发器3.4.3 数据库表的约束机制及其激活时机数据库表的约束机制及其激活时机 l数据库表的约束机制包括:数据库表的约束机制包括:字段级有效性规则字段级有效性规则记录级验证规则记录级验证规则表的触发器表的触发器约束机制级别激活时机NULL有效性字段/列当从浏览中离开字段/列,或在执行INSERT或REPLACE更改字段值时字段级规则字段/列当从浏览中离开字段/列,或在执行INSERT或REPLACE更改字段值时记录级规则记录发生记录更新时VALID子句表单移出记录时候选/

43、主索引记录发生记录更新时触发器表在INSERT、UPDATE、DELETE事件中,表中的值被改变时3.5 表之间的关系表之间的关系l临时关系临时关系是指在两张打开的表之间建立起来的一种临时性关联。是指在两张打开的表之间建立起来的一种临时性关联。若其中一张表关闭,临时关系将被解除。若其中一张表关闭,临时关系将被解除。l永久关系永久关系是数据库表之间的一种永久关联,不仅运行时存在,是数据库表之间的一种永久关联,不仅运行时存在,而且一直保留。表之间的永久关系是通过索引建立的。而且一直保留。表之间的永久关系是通过索引建立的。3.5 表之间的关系表之间的关系永久关系永久关系临时关系临时关系区区别别作用作

44、用设置参照完整性设置参照完整性控制两张打开的表之间记录的访问控制两张打开的表之间记录的访问创建创建方法方法1.创建主表的主索引或候选索引创建主表的主索引或候选索引2.创建子表的任意类型索引创建子表的任意类型索引3.基于索引创建永久关系基于索引创建永久关系1.打开两张要创建临时关系的表打开两张要创建临时关系的表2.设置子表的主控索引设置子表的主控索引3.选择主表工作区选择主表工作区4.用用SET RELATION命令创建临时命令创建临时关系关系创建创建条件条件只能在同一张数据库中的表之间创建只能在同一张数据库中的表之间创建可以在任意库表,自由表,视图,临时可以在任意库表,自由表,视图,临时表之间

45、创建表之间创建主表主表数目数目一张表可以作为多张永久关系的子表,一张表可以作为多张永久关系的子表,即一张子表可以有多张主表即一张子表可以有多张主表一张表只能作为一张临时关系的子表一张表只能作为一张临时关系的子表生命期生命期永久存储在数据库文件中永久存储在数据库文件中随表的关闭而解除随表的关闭而解除联系联系1创建永久关系或临时关系的基础是两张表之间存在着关系创建永久关系或临时关系的基础是两张表之间存在着关系2VFP根据表之间的永久关系在表单或报表的数据环境中自动创建临时关系根据表之间的永久关系在表单或报表的数据环境中自动创建临时关系3一张主表可以有多张子表一张主表可以有多张子表临时关系与永久关系

46、之间的区别与联系临时关系与永久关系之间的区别与联系3.5.1 建立表之间的临时关系建立表之间的临时关系 l建立表之间的临时关系:建立表之间的临时关系:使用数据工作期窗口,见教材使用数据工作期窗口,见教材P97-99 3.5.1 建立表之间的临时关系建立表之间的临时关系l建立表之间的临时关系:建立表之间的临时关系:使用命令:使用命令:l一对一临时关系一对一临时关系SET RELATION 命令,见教材命令,见教材P99l一对多临时关系一对多临时关系SET SKIP 命令,见教材命令,见教材P99 3.5.2 删除表之间的临时关系删除表之间的临时关系 l删除表之间的临时关系:删除表之间的临时关系:

47、关闭建立临时关系的数据表,就能随之删除临时关系关闭建立临时关系的数据表,就能随之删除临时关系执行命令:执行命令:lSET RELATION TO 3.5.3 建立表之间的永久关系建立表之间的永久关系 l建立表之间的永久关系:建立表之间的永久关系:使用数据库设计器使用数据库设计器 3.5.3 建立表之间的永久关系建立表之间的永久关系 l编辑表之间的永久关系:编辑表之间的永久关系:使用使用“编辑关系编辑关系”窗口窗口 3.5.4 参照完整性参照完整性l在永久关系的基础上可设置数据表之间的参照完整性规则。l参照完整性是指不允许在相关数据表中引用不存在的记录。亦即,参照完整性用来控制数据的一致性。l设

48、置参照完整性时,应满足以下规则:在关联的数据表间,子表中的每一个记录在对应的父表中都必须有一个父记录。对子表作插入记录操作时,必须确保父表中存在一个父记录。对父表作删除记录操作时,其对应的子表中必须没有子记录存在。3.5.4 参照完整性参照完整性l参照完整性规则包括三种规则:更新规则:当父表中记录的关键字值被更新时触发删除规则:当父表中记录被删除时触发插入规则:当在子表中插入或更新记录时触发l每种规则又包括三种设置级联:将操作也作用于建立永久关系的另一数据库表限制:禁止操作忽略:允许操作3.5.4 参照完整性参照完整性 更新规则更新规则(当父表中记录的关键(当父表中记录的关键字值被更新时触发)

49、字值被更新时触发)删除规则删除规则(当父表中记录被(当父表中记录被删除时触发)删除时触发)插入规则插入规则(当在子表中插入(当在子表中插入或更新记录时触发)或更新记录时触发)级联级联用新的关键字值更新子用新的关键字值更新子表中的所有相关记录表中的所有相关记录删除子表中所有相删除子表中所有相关记录关记录限制限制若子表中有相关记录,若子表中有相关记录,则禁止更新则禁止更新若子表中有相关记若子表中有相关记录,则禁止删除录,则禁止删除若若父父表表中中不不存存在在匹匹配配的的关关键键字字值值,则则禁止插入禁止插入忽略忽略允许更新,不管子表中允许更新,不管子表中的相关记录的相关记录允许删除,不管子允许删除

50、,不管子表中的相关记录表中的相关记录允许插入允许插入3.5.5 数据完整性数据完整性 lVFP中数据完整性主要有三类:中数据完整性主要有三类:参照完整性参照完整性实体完整性实体完整性l字段级的参照完整性字段级的参照完整性l记录级的参照完整性记录级的参照完整性用户自定义完整性用户自定义完整性 3.6 有关数据库操作的命令和函数有关数据库操作的命令和函数l有关数据库的命令和函数有关数据库的命令和函数1打开数据库文件命令打开数据库文件命令OPEN DATABASE2显示数据库文件信息命令显示数据库文件信息命令LISTDISPLAY DATABASE3修改数据库文件修改数据库文件MODIFY DATA

51、BASE4删除数据库文件删除数据库文件 DELETE DATABASE3.6 有关数据库操作的命令和函数有关数据库操作的命令和函数l有关数据库的命令和函数有关数据库的命令和函数5DBC()函数()函数6DBUSED()函数()函数7.DBGETPROP()函数()函数 8.DBSETPROP()函数()函数 3.6 有关数据库操作的命令和函数有关数据库操作的命令和函数l有关数据库表的函数有关数据库表的函数1.SELECT()函数()函数2.USED()函数()函数3.ALIAS()函数()函数4.FIELD()函数()函数5.FCOUNT()函数()函数3.7 SQL 语言创建关系型数据库语言创建关系型数据库lSQL是结构化查询语言(Structured Query Language)的缩写。lSQL语言具有很强的功能,主要包括:数据定义:见教材P106-108数据查询:见教材第4.2节数据操作:见教材P109-110数据控制:VFP中没有提供数据控制功能

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!