第四章数据库的创建和使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章数据库的创建和使用4.1VFP数据库概述4.2创建数据库4.3数据库的使用4.4VFP的数据字典(DataDictionary)4.5数据库表4.6永久关系和参照完整性4.7操作数据库及其对象的几个常用函数结束放映?YES(是)NO(否)数据库是一个包容器,是许多相关的数据库表的集合,是数据组织层次中目前已达到的最高级别。它包括数据表以及表之间的关系等。4.1VisualFoxPro数据库4.2创建数据库VFP数据库的创建方法界面操作方式创建数据库命令方式创建数据库VFP数据库的组成1.数据库表2.本地视图及远程视图3.连接4.存储过程创建一个新的数据库将生成三个文件:数据库文件(dbc)、关联的数据库备注文件(dct)和关联的数据库索引文件(dcx)。4.3数据库的使用打开数据库设置当前数据库使用数据库中的表关闭数据库删除数据库数据字典是指存储在数据库中用于描述所管理的表和对象的数据,即关于数据的数据,这些数据称为元数据。包括长表名、长字段名、有效性规则和触发器,以及有关数据库对象的定义如视图和命名连接等。VFP数据字典可以创建和指定以下内容:Ÿ主关键字和候选索引关键字Ÿ字段级和记录级有效性规则Ÿ表单中使用的默认控件类Ÿ表中字段的标题和注释Ÿ数据库表之间的永久性关系Ÿ存储过程Ÿ字段的输入掩码和显示格式Ÿ表中字段的默认值Ÿ长表名和表中的长字段名Ÿ插入、更新和删除事件的触发器除了以上这些表的功能扩展,使用数据库还能访问与远程数据源的连接,并可创建本地表和远程表的视图。4.4VFP的数据字典4.5数据库表数据库表的字段扩展属性数据库表的表属性数据库表的约束机制及其激活时机综述数据库表的索引数据库表字段的扩展属性引言字段的显示属性字段的格式(Format)字段的输入掩码(InputMask)字段的标题(Caption)与注释(Comment)字段有效性字段验证规则(ruleexpression)字段验证信息(ruleexpressiontext)字段默认值(defaultvalue)命令方法实现字段验证规则在数据库中查看字段的扩展属性在使用命令createtable-sql创建表文件时,可以利用check子句、error子句和default子句设置字段的有效性规则、有效性信息和默认值;在使用altertable-sql命令修改表的结构时,可以通过setcheck子句、setdefault子句设置字段的有效性规则和默认值。删除字段的有效性规则时,可以利用带dropcheck子句的altertable-sql命令;删除字段的默认值时,可以利用带dropdefault子句的altertable-sql命令。数据库表的表属性长表名与表注释表记录的验证规则表记录的验证信息表的触发器(Trigger)触发器的基本概念创建表的触发器移去或删除触发器相关表之间的参照完整性“参照完整性”(RI)概念设置参照完整性参照完整性设置方法参照完整性规则VFP数据完整性综述实体完整性参照完整性用户自定义完整性4.7操作数据库及其对象的几个常用函数DBC()函数与DBUSED()函数DBGETPROP()函数DBSETPROP()函数1.一对多关系设有甲乙两个表,如果甲表中的任意一个记录在乙表中都有几个记录与之对应,而乙表中的每个记录在甲表中仅有一个记录与之对应,则称甲乙两个表之间存在一对多关系,并称甲表为“一”表(或“主表”),乙表为“多”表(或“子表”)。外部关键字首先必须是“一”表中存在的字段,外部关键字的值输入到“多”表中的条件也必须是在“一”表中早已存在的。一般,将在“多”表中存在但在“一”表中不存在的记录称为“孤立记录”。表之间的关系(1)2.多对多关系遇到“多对多”的情况时,必须建立第三个表,把多对多的关系分解成两个一对多关系。这第三个表就称作“纽带表”(JunctionTable)。因为它在两表之间起着纽带的作用。可以把两个表的主关键字都放在这个纽带表中。对于纽带表,除了包含两个外部关键字:即来自于学生表的主关键字Xh(学号)和课程表的主关键字Kcdh(课程代号)外,还可以有其他字段,如Cj(成绩)字段。但允许没有单个字段的主关键字,主关键字可以由两个外部关键字组成。表之间的关系(2)3.一对一关系一对一关系是这样一种关系:甲表的一个记录在乙表中只能对应一个记录,而乙表中的一个记录在甲表中也只能有一个记录与之对应。这种关系不经常使用。因为在许多情况下,两个表的信息可以简单地合并成一个表。出于一些原因(如字段项太多),不能合并的,可以建立一对一关系,只要把一个主关键字同时放到两个表中,并以此建立一对一关系。表之间的关系(3)4.分析并确定表之间关系表之间的关系(4)图4-3表之间的关系4-4多对多关系与纽带表界面操作方式创建数据库在“项目管理器”中新建数据库通过“新建”对话框新建数据库创建数据库的命令:语法:CREATEDATABASE[数据库名|?]说明:(1)如果在命令中没有给出数据库名或给出了“?”,则命令自动打开“新建”对话框;如:CREATEDATABASECREATEDATABASE?(2)如果给出数据库名,则创建数据库,并使该数据库处于打开状态,但不出现数据库设计器。如:CREATEDATABASEJXSJ1(3)用命令方式创建的数据库不会自动添加到项目管理器中。命令方式创建数据库从属于某一个数据库的表,称为“数据库表”(也叫“相关表”)。(1)前链和后链库表与数据库之间的相关性是通过表文件(.DBF)与库文件(.DBC)之间的双向链接实现的。双向链接包括前链和后链。(2)在数据库中添加、新建和移去表在数据库中添加表是指把自由表添加到数据库中使之成为库表,本质上是建立了库与表之间的双向链接。新建数据库表是指把新建的表直接创建成数据库中的表。从数据库中移去表是指把库表从数据库中释放为自由表,本质上是删除了库文件与表文件中的双向链接信息。在数据库中添加、新建和移去表的方法有多种。(3)更新表和数据库的链接如果移动了数据文件(.DBC、.DCT和.DCX)或与数据库关联的数据库表(1)表文件,则这些文件的相对路径会改变,可能会破坏已有的前链或后链。如将库表XS由C盘移至A盘,由于表文件的移动引起库文件中的前链被破坏,可使用命令VALIDATEDATABASERECOVER,更新相对路径信息以重建前链。也可用USE命令打开表,系统会显示“打开”对话框,允许重新定位该表所属的数据库或删除链接。如果从磁盘中意外地删除了某个数据库文件,那么原来此数据库中包含的表仍然保留对该数据库引用的后链,这些表就不能再被添加到其他的数据库中,这时就需要从表中删除后链。其命令是:FREETABLE表文件名如:FREETABLEXS表被删除了后链以后,便成为自由表,可再添加到其他的数据库中。数据库表(2)前链是保存在数据库容器(.DBC)中的有关表文件的路径和文件名信息,它将数据库与库表文件相链接。前链指向数据库中包含的表,它由各个表文件的相对路径和文件名称构成。后链是存放在一个表的表头中的数据库的路径和文件名,用以将自身与包含自身的数据库容器相链接。后链指向拥有该表的数据库,它由数据库的相对路径和数据库名称构成。前链和后链1.利用“项目管理器”在数据库中添加、新建和移去表2.利用“数据库设计器”在数据库中添加、新建和移去表3.使用命令在数据库中添加、移去表语法:ADDTABLE自由表表文件名;[NAME长表名]功能:向数据库中添加自由表。语法:REMOVETABLE表名[DELETE]功能:从数据库中移去表。添加、新建和移去数据库表的方法例:OPENDATABASEjxsjEXCLUSIVEADDTABLExs▲使用ADDTABLE命令往数据库中添加表时,必须保证数据库处于打开状态。REMOVETABLEXS▲将XS表从数据库中移出,若加上DELETE可选项,则不仅将XS从数据库中移出,而且还把表文件从磁盘上删除。▲一个表在同一时间内只能属于一个数据库,如果所需要的数据表已隶属于其他数据库,则必须先从其他数据库移去此表,使其成为自由表,然后才能将其添加到当前数据库中来。使用命令在数据库中添加、移去表一、表之间的关系二、表之间的永久关系1.永久关系(persistentrelationship)的概念2.永久关系的作用3.永久关系的建立4.删除、编辑修改永久性关系库表之间的关系永久关系是库表之间的一种关系,不仅在运行时存在,而且一直保留,拥有永久关系的表必须在数据库中。数据库表间的永久关系是根据表的索引建立的。索引的类型决定了要创建的永久关系类型,在一对多关系中,“一方”必须用主索引关键字(或标识),或者用候选索引关键字(或标识);在“多方”则使用普通索引关键字(或普通索引标识)。在一对一关系中,两个表必须都用主索引关键字(或标识)或候选索引关键字(或标识)。永久关系(persistentrelationship)的概念▲在“查询设计器”和“视图设计器”中,自动作为默认联接条件。▲作为表单和报表的默认的关系,在“数据环境设计器”中显示。▲用来存储参照完整性信息。这是永久关系的主要作用。永久关系的作用建立永久关系的一般步骤是:①确定两个存在一对多或一对一关系的表②建立主表的主索引或候选索引;③如果是一对多关系,则在子表中按外部关键字建立普通索引;如果是一对一关系,则在子表中以与主表相同的关键字建立主索引或候选索引;④从主表的主索引或候选索引到子表相关的索引建立永久关系。方法一:在数据库设计器中建立永久关系,将主表的主关键索引(XSXH)拖放到子表中的外部关键索引(CJXH)上。方法二:用命令方式建永久关系CREATETABLEcj(xhC(6),kcdhC(6),cjN(3,0),;FOREIGNKEYxhTAGcjxhREFERENCExs)ALTERTABLEcjADDFOREIGNKEYxh;TAGcjxhREFERENCExs永久关系的建立删除永久性关系在“数据库设计器”中,单击关联连线后,该线变粗,此时,按【Del】键即可删除关系;或用鼠标右键单击关系连线,在快捷菜单中单击“删除关系”后,关联的线被擦除。编辑修改永久性关系用鼠标右键单击关系连线,在快捷菜单中单击“编辑关系”后出现“编辑关系”对话框。删除、编辑修改永久性关系永久关系连线拖放永久关系连线快捷菜单“编辑关系”对话框引言数据库表的字段除了具有字段的基本属性外,还含有自由表所没有的扩展属性:包括字段的显示格式、输入掩码、默认值、标题、注释以及字段的验证规则和验证信息等。这些高级属性都保存在库表所在的数据库文件中。字段的高级属性都可以在数据库表的“表设计器”中进行设置,还可以用函数SETDBPROP()设置。打开数据库表设计器和自由表设计器进行比较,可看到二者之间的差别。字段的格式字段的格式用于指定字段显示时的格式。设置字段的显示格式的方法与步骤(以JS表为例)如下:(1)打开JS表设计器(2)选择要加格式的字段(3)在格式框中键入格式内容。如:设置JS表的JBGZ字段格式为“^”;设置JS表的JBGZ字段格式为“L$”;设置JS表的CSRQ字段格式为“E”以上字段格式符号的意义见“字段格式表”。字段的输入掩码用于指定字段中输入数据的格式。设置字段输入掩码的方法与步骤如下:(1)在表设计器中打开表;(2)选择要加输入掩码的字段;(3)在“输入掩码”框中键入掩码。如:为JS表的JBGZ字段设置掩码为“$$9,999.99”JBGZ字段类型为N型,宽度为9,小数位为2。输入掩码的具体含义见“输入掩码表”。字段的输入掩码输入掩码表字段标题的作用是为了使表具有更好的可读性。在取字段名时,为了在命令方式下更方便地使用字段,字段名常常采用简练的形式,常用拼音字母代替汉字,如“出生日期”的字段名取为“CSRQ”,在浏览时也以字段名作为列的标题,不直观,可读形不好。利用数据库表字段的标题属性,可以为字段设置一个含义明确的标题,但标题只是在浏

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功