第4章查询和视图0.ppt

上传人:豆**** 文档编号:65723456 上传时间:2022-12-06 格式:PPT 页数:36 大小:382KB
返回 下载 相关 举报
第4章查询和视图0.ppt_第1页
第1页 / 共36页
第4章查询和视图0.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《第4章查询和视图0.ppt》由会员分享,可在线阅读,更多相关《第4章查询和视图0.ppt(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第4章查询和视图0 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望4.1 VFP数据库概述数据库概述 数据库是一个容器,是许多相关的数据数据库是一个容器,是许多相关的数据库表及其关系的集合。在数据库中可以存储库表及其关系的集合。在数据库中可以存储和管理各种对象,如表、视图、关系、连接和管理各种对象,如表、视图、关系、连接以及存储过程等。以及存储过程等。12/6/202224.2 数据库的创建数据库的创建 每创建一个新的数据库都将生成三个文件:数每创建一个新的数据库

2、都将生成三个文件:数据库文件(据库文件(.dbc.dbc)、关联的数据库备注文件)、关联的数据库备注文件(.dct.dct)和关联的数据库索引文件()和关联的数据库索引文件(.dcx.dcx)。)。12/6/20223一、数据库的创建一、数据库的创建利用界面操作方式创建数据库利用界面操作方式创建数据库在在“项目管理器项目管理器”窗口中创建新的数据库窗口中创建新的数据库通过通过“新建新建”对话框创建对话框创建利用命令方式创建数据库利用命令方式创建数据库格式:格式:CREATE DATABASE CREATE DATABASE DatabaseNameDatabaseName|?|?其中:其中:D

3、atabaseNameDatabaseName为创建的数据库文件名为创建的数据库文件名12/6/20224二、二、VFPVFP数据库的组成数据库的组成数据库表数据库表视图视图(View)(View)连接连接(Connection)(Connection)存储过程存储过程12/6/202254.3 数据库的使用数据库的使用一、数据库的打开一、数据库的打开格式:格式:OPEN DATABASE OPEN DATABASE DatabaseName DatabaseName EXCLUSIVE|SHAREDNOUPDATEVALIDATEEXCLUSIVE|SHAREDNOUPDATEVALIDAT

4、E功能:打开指定的数据库功能:打开指定的数据库其中:其中:VALIDATEVALIDATE用于说明在打开数据库时进行数用于说明在打开数据库时进行数据库的有效性检验。据库的有效性检验。12/6/20226二、设置当前数据库二、设置当前数据库 数据库可以同时打开多个。只有一个是数据库可以同时打开多个。只有一个是当前数据库。在打开数据库时,最后一个打当前数据库。在打开数据库时,最后一个打开的数据库为当前数据库。可以把其他的数开的数据库为当前数据库。可以把其他的数据库设置为当前数据库。据库设置为当前数据库。格式:格式:SET DATABASE TO SET DATABASE TO DatabaseNa

5、meDatabaseName功能:将指定的数据库设置为当前数据库功能:将指定的数据库设置为当前数据库12/6/20227三、检查数据库的有效性三、检查数据库的有效性格式:格式:VALIDATE DATABASE RECOVERTO VALIDATE DATABASE RECOVERTO PRINTER|TO FILE PRINTER|TO FILE FileNameFileName 其中:其中:RECOVERRECOVER用于说明更新链接,缺省时仅用于说明更新链接,缺省时仅检查数据库的有效性;检查数据库的有效性;TOTO子句用于说明检查结子句用于说明检查结果信息的去向,缺省时在果信息的去向,缺

6、省时在VFPVFP主窗口是显示。主窗口是显示。该命令只能处理以独占方式打开的当前数据库。该命令只能处理以独占方式打开的当前数据库。在更新链接时,如果数据库表文件不在原位置,在更新链接时,如果数据库表文件不在原位置,系统会打开系统会打开“检查数据库检查数据库”对话框,要求用户对话框,要求用户进行文件定位。进行文件定位。12/6/20228四、关闭数据库四、关闭数据库格式:格式:CLOSE DATABASECLOSE DATABASE功能:关闭当前数据库功能:关闭当前数据库格式:格式:CLOSE DATABASE ALLCLOSE DATABASE ALL功能:关闭所有打开的数据库功能:关闭所有打

7、开的数据库五、删除数据库五、删除数据库 从从“项目管理器项目管理器”窗口中通过窗口中通过“移去移去”操作进行删除,则该数据库不包含在项操作进行删除,则该数据库不包含在项目中。目中。12/6/202294.4 VFP数据字典概述数据字典概述 数据字典是指存储在数据库中用于描述所管理数据字典是指存储在数据库中用于描述所管理的表和对象的数据,即关于数据的数据,这些数的表和对象的数据,即关于数据的数据,这些数据称为元数据。据称为元数据。12/6/202210数据字典可以创建和指定以下内容:数据字典可以创建和指定以下内容:表中字段的标题、注释、默认值、输入掩码和表中字段的标题、注释、默认值、输入掩码和显

8、示格式,以及表单中使用的默认控件类等显示格式,以及表单中使用的默认控件类等表的主索引关键字表的主索引关键字数据库表之间的永久性关系数据库表之间的永久性关系长表名和表注释长表名和表注释字段级和记录级有效性规则字段级和记录级有效性规则存储过程存储过程插入、更新和删除事件的触发器插入、更新和删除事件的触发器12/6/2022114.5 数数 据据 库库 表表一、数据库的创建一、数据库的创建通过界面操作数据库表通过界面操作数据库表在在“项目管理器项目管理器”窗口中,选择某一数据窗口中,选择某一数据库下属的库下属的“表表”项,然后单击项,然后单击“新建新建”命命令按钮令按钮在在“数据库设计器械数据库设计

9、器械”打开时,单击打开时,单击“数数据库设计器据库设计器”工具栏上的工具栏上的“新建表新建表”按钮按钮在数据库打开时,利用菜单命令在数据库打开时,利用菜单命令“文件文件”“”“新建新建”或常用工具栏上的或常用工具栏上的“新建新建”按钮,在出现的按钮,在出现的“新建新建”对话框中选择对话框中选择“表表”后,单击后,单击“新建文件新建文件”12/6/202212通过命令创建数据库表通过命令创建数据库表 如果数据库已被打开,则利用如果数据库已被打开,则利用CREATE TABLE-SQLCREATE TABLE-SQL命令创建的表,如命令创建的表,如果不使用果不使用FREEFREE关键字,则该表不是

10、自关键字,则该表不是自由表,而是属于当前数据库的数据库由表,而是属于当前数据库的数据库表。表。12/6/202213二、数据库表的字段扩展属性二、数据库表的字段扩展属性12/6/202214字段显示属性字段显示属性字段的格式字段的格式(Format)(Format)字段的格式用于指定字段显示时的格式,包括在浏览字段的格式用于指定字段显示时的格式,包括在浏览窗口、表单或报表中显示时的大小写和样式等。窗口、表单或报表中显示时的大小写和样式等。输入掩码输入掩码(Input Mask)(Input Mask)字段的输入掩码用于指定字段中输入数据的格式。字段的输入掩码用于指定字段中输入数据的格式。字段的

11、标题字段的标题(Caption)(Caption)和注释和注释(Comment)(Comment)标题和注释都是为了使表具有更好的可读性。在设置标题和注释都是为了使表具有更好的可读性。在设置表结构时,如果字段名不能明确地表达列的含义,可以为表结构时,如果字段名不能明确地表达列的含义,可以为字段设置一个标题。如果标题还不能充分地表达含义或需字段设置一个标题。如果标题还不能充分地表达含义或需要给字段以详细的说明,还可以给字段加上注释。要给字段以详细的说明,还可以给字段加上注释。12/6/202215字段验证字段验证 字段验证用来限定字段的取值及取值字段验证用来限定字段的取值及取值范围,包括字段有效

12、性规则、字段有效性范围,包括字段有效性规则、字段有效性信息和默认值。信息和默认值。字段有效性规则和有效性信息字段有效性规则和有效性信息 字段有效性规则用来控制输入到字段字段有效性规则用来控制输入到字段中的数据的取值范围。该规则是一个逻辑中的数据的取值范围。该规则是一个逻辑表达式。字段有效性规则在字段值改变时表达式。字段有效性规则在字段值改变时发生作用,它将所输入的值用定义的逻辑发生作用,它将所输入的值用定义的逻辑表达式进行验证,如不满足(即逻辑表达表达式进行验证,如不满足(即逻辑表达式的值为式的值为.F.F.),则拒绝该字段值,并显示),则拒绝该字段值,并显示一个提示框。一个提示框。12/6/

13、202216 字段有效性信息是一个字符型表达式,字段有效性信息是一个字符型表达式,通常与字段有效性规则配合使用,用于指通常与字段有效性规则配合使用,用于指定在不满足规则要求时显示的提示信息。定在不满足规则要求时显示的提示信息。如果表中已有记录,且需要设置或修如果表中已有记录,且需要设置或修改某字段的有效性规则,则改某字段的有效性规则,则首先必须确保首先必须确保表中所有记录满足将要设置的有效性规则表中所有记录满足将要设置的有效性规则,否则,有效性规则无法设置或在确认保存否则,有效性规则无法设置或在确认保存时选择对现有数据不作检查。时选择对现有数据不作检查。12/6/202217默认值默认值 向一

14、张数据库表中添加新记录时,为字段向一张数据库表中添加新记录时,为字段所指定的最初的值称为该字段的默认值。在设所指定的最初的值称为该字段的默认值。在设置字段默认值时,默认值必须是一个与字段类置字段默认值时,默认值必须是一个与字段类型相同的表达式。型相同的表达式。在使用在使用CREATE TABLE-SQLCREATE TABLE-SQL命令创建数据库命令创建数据库表时,可用表时,可用CHECKCHECK子句、子句、ERRORERROR子句和子句和DEFAULTDEFAULT子子句设置字段的有效性规则、有效性信息和默认句设置字段的有效性规则、有效性信息和默认值。在使用值。在使用ALTER TABL

15、E-SQLALTER TABLE-SQL命令修改表结构时,命令修改表结构时,可通过可通过SET CHECKSET CHECK子句、子句、SET DEFAULTSET DEFAULT子句设置子句设置字段的有效性规则(信息)、默认值;通过字段的有效性规则(信息)、默认值;通过DROP CHECKDROP CHECK和和DROP DEFAULTDROP DEFAULT子句删除字段的有子句删除字段的有效性规则(信息)、默认值。效性规则(信息)、默认值。12/6/202218三、数据库表的表三、数据库表的表属性属性长表名与表注释长表名与表注释 可在数据库表的可在数据库表的“表设计器表设计器”对话框对话框

16、中的中的“表表”选项卡中选项卡中的的“表名表名”文本框中文本框中输入长表名。也可在输入长表名。也可在使用使用CREATE TABLE-CREATE TABLE-SQLSQL命令创建表时,命令创建表时,用用NAMENAME子句指定长表子句指定长表名。名。表注释是表的说表注释是表的说明信息。明信息。12/6/202219记录验证记录验证 记录验证包括记录有效性规则和有效性信息,用记录验证包括记录有效性规则和有效性信息,用于定义记录级校验规则及相应的提示信息。字段有效于定义记录级校验规则及相应的提示信息。字段有效性规则仅对当前字段有效,而使用记录有效性规则可性规则仅对当前字段有效,而使用记录有效性规

17、则可以校验多个字段间的关系是否满足某种规则。以校验多个字段间的关系是否满足某种规则。记录有效性规则在记录值发生改变时被激活。如记录有效性规则在记录值发生改变时被激活。如对一张已有记录的表增设记录有效性规则,则在设置对一张已有记录的表增设记录有效性规则,则在设置结束时要按此规则对所有记录进行规则检查。结束时要按此规则对所有记录进行规则检查。记录有效性规则除了可在数据库表的记录有效性规则除了可在数据库表的“表设计器表设计器”对话框中设置,也可在对话框中设置,也可在CREATE TABLE-SQLCREATE TABLE-SQL命令命令中通中通过过CHECKCHECK子句或在子句或在ALTER TA

18、BLE-SQLALTER TABLE-SQL命令中通过命令中通过SET SET CHECKCHECK子句进行设置。在子句进行设置。在ALTER TABLE-SQLALTER TABLE-SQL命令中通过命令中通过DROP CHECKDROP CHECK可删除记录的有效性规则。可删除记录的有效性规则。12/6/202220表的触发器表的触发器插入触发器:每次向表中插入或追加记录时插入触发器:每次向表中插入或追加记录时触发该规则触发该规则更新触发器:每次向表中修改记录时触发该更新触发器:每次向表中修改记录时触发该规则规则删除触发器:每次向表中删除记录时触发该删除触发器:每次向表中删除记录时触发该规

19、则规则触发器值返回触发器值返回.T.T.,则允许执行相应的操作,则允许执行相应的操作,否则不允许执行相应的操作。否则不允许执行相应的操作。12/6/202221格式:格式:CREATE TRIGGER ON CREATE TRIGGER ON TableName TableName FORFOR DELETE|INSERT|UPDATE AS DELETE|INSERT|UPDATE AS lExpression lExpression功能:创建表的触发器功能:创建表的触发器其中:其中:ASAS子句用于说明触发器的使用规则子句用于说明触发器的使用规则格式:格式:DELETE TRIGGER O

20、N DELETE TRIGGER ON TableName TableName FOR DELETE|INSERT|UPDATEFOR DELETE|INSERT|UPDATE功能:删除表的触发器功能:删除表的触发器12/6/202222四、数据库表的约束机制及其激活时机综述四、数据库表的约束机制及其激活时机综述五、数据库表的索引五、数据库表的索引 数据库表可建立主索引、候选索引、普通数据库表可建立主索引、候选索引、普通索引和唯一索引。索引和唯一索引。每张数据库表只能设置一个每张数据库表只能设置一个主索引主索引。12/6/202223六、数据库表的添加与移去六、数据库表的添加与移去 向数据库中

21、添加或移去表可在向数据库中添加或移去表可在“项目管理项目管理器器”窗口或窗口或“数据库设计器数据库设计器”窗口中进行,也窗口中进行,也可用命令实现。可用命令实现。格式:格式:ADD TABLE ADD TABLE TableName TableName NAME NAME LongTableNameLongTableName 功能:向数据库中添加表功能:向数据库中添加表其中:其中:NAMENAME子句用于指定长表名子句用于指定长表名12/6/202224格式:格式:REMOVE TABLE REMOVE TABLE TableName TableName DELETEDELETE功能:将表从数

22、据库中移去功能:将表从数据库中移去其中:其中:DELETEDELETE用于说明从数据库中移去表后用于说明从数据库中移去表后删除该表删除该表格式:格式:FREE TABLE FREE TABLE TableNameTableName功能:删除存储在数据库表中的后链,使之功能:删除存储在数据库表中的后链,使之成为自由表成为自由表12/6/202225七、有关数据库及数据库表的几点说明七、有关数据库及数据库表的几点说明数据库表具有自由表的所有特性,还具有一些字段数据库表具有自由表的所有特性,还具有一些字段扩展属性、表属性、主索引以及表间关系等扩展属性、表属性、主索引以及表间关系等在使用多个数据库时,

23、如要打开或说明非当前数据在使用多个数据库时,如要打开或说明非当前数据库中的表,可使用库中的表,可使用“!”符号,即符号,即!。在移动数据库文件的存储位置时,应相应地考虑该在移动数据库文件的存储位置时,应相应地考虑该数据库的数据库表文件的存储位置,否则可能会出现数据库的数据库表文件的存储位置,否则可能会出现数据库与数据库表之间的前后链不一致。数据库与数据库表之间的前后链不一致。不要轻易地从数据库中移去表,因为数据库表移去不要轻易地从数据库中移去表,因为数据库表移去时会丢失存储在数据库中的字段扩展属性、表属性等。时会丢失存储在数据库中的字段扩展属性、表属性等。多次修改数据库结构、数据库表结构之后,

24、应进行多次修改数据库结构、数据库表结构之后,应进行数据库清理操作。数据库清理操作。12/6/2022264.6 永久关系与参照完整性永久关系与参照完整性一、表之间的关系一、表之间的关系关系的种类关系的种类一对一关系一对一关系一对多关系一对多关系多对多关系多对多关系分析并确定表之间关系分析并确定表之间关系12/6/202227二、表之间的永久关系二、表之间的永久关系 数据库表间的永久关系是根据表的索引建立的,数据库表间的永久关系是根据表的索引建立的,索引的类型决定了要创建的永久关系类型。索引的类型决定了要创建的永久关系类型。永久关系的创建永久关系的创建确定两张具有一对一或一对多关系的表确定两张具

25、有一对一或一对多关系的表建立主表的主索引或候选索引建立主表的主索引或候选索引建立子表的主索引或候选索引(一对一关系)或建立建立子表的主索引或候选索引(一对一关系)或建立子表的普通索引(一对多关系)子表的普通索引(一对多关系)在在“数据库设计器数据库设计器”窗口中,将主表的主索引或候选窗口中,将主表的主索引或候选索引标识拖放到子表相应的索引标识上,即完成了永索引标识拖放到子表相应的索引标识上,即完成了永久关系的设置久关系的设置(如下图所示如下图所示)12/6/202228永久关系的创建(续)永久关系的创建(续)12/6/202229永久关系的编辑永久关系的编辑 在在“数据库设计器数据库设计器”窗

26、口中,双击关窗口中,双击关系连线打开系连线打开“编辑关系编辑关系”对话框,在该对对话框,在该对话框中可重新选择用以建立关系的两张表话框中可重新选择用以建立关系的两张表的索引标识。的索引标识。永久关系的删除永久关系的删除 在在“数据库设计器数据库设计器”窗口中,单击关窗口中,单击关系连线后(此时连线变粗),按【系连线后(此时连线变粗),按【DelDel】键。】键。12/6/202230三、参照完整性三、参照完整性 “参照完整性参照完整性”(Referential ”(Referential IntegrityIntegrity,简称,简称RI)RI)是用来控制数据的完整性,是用来控制数据的完整性

27、,尤其是控制数据库中相关表之间的主关键字和尤其是控制数据库中相关表之间的主关键字和外部关键字之间数据一致性的规则。外部关键字之间数据一致性的规则。12/6/202231参照完整性的一般要求参照完整性的一般要求 对于一对多关系的两张表,其数据的完对于一对多关系的两张表,其数据的完整性、一致性要求相关表之间应该满足如下整性、一致性要求相关表之间应该满足如下三个规则:三个规则:子表中的每一个记录在对应的主表中必须子表中的每一个记录在对应的主表中必须有一个记录。有一个记录。在子表中插入记录时,其外部关键字必须在子表中插入记录时,其外部关键字必须是父表主关键字值中的一个。是父表主关键字值中的一个。在父表

28、中删除记录时,与该记录相关的子在父表中删除记录时,与该记录相关的子表中的记录必须全部删除。表中的记录必须全部删除。12/6/202232编辑参照完整性编辑参照完整性12/6/202233参照完整性的设置参照完整性的设置 更新规则更新规则(当当父表父表中记录的关键字中记录的关键字值被更新时触发值被更新时触发)删除规则删除规则(当当父表父表中记中记录被删除时触录被删除时触发发)插入规则插入规则(当在当在子表子表中插中插入或更新记录时入或更新记录时触发触发)级级联联用新的关键字值更新子用新的关键字值更新子表中的所有相关记录表中的所有相关记录删除子表中所删除子表中所有相关记录有相关记录限限制制若子表中

29、有相关记录,若子表中有相关记录,则禁止更新则禁止更新若子表中有相若子表中有相关记录,则禁关记录,则禁止删除止删除若父表中不存在若父表中不存在匹配的关键字值,匹配的关键字值,则禁止插入则禁止插入忽忽略略允许更新,不管子表中允许更新,不管子表中的相关记录的相关记录允许删除,不允许删除,不管子表中相关管子表中相关记录记录允许插入允许插入四、四、VFPVFP数据完整性综述数据完整性综述 12/6/2022344.7 几个常用函数几个常用函数格式:格式:DBCDBC()()功能:返回当前打开的数据库的完整文件名。功能:返回当前打开的数据库的完整文件名。格式:格式:DBUSED(DBUSED(cDatab

30、aseName)cDatabaseName)功能:返回指定的数据库是否已经打开。如果已功能:返回指定的数据库是否已经打开。如果已打开,则函数返回值为打开,则函数返回值为.T.T.,否则函数返回值为,否则函数返回值为.F.F.。格式:格式:DBGETPROP(DBGETPROP(cName,cType,cPropertycName,cType,cProperty)12/6/202235功能:返回当前数据库的属性,或返回当前数据功能:返回当前数据库的属性,或返回当前数据库中的表字段、表或视图属性。库中的表字段、表或视图属性。其中:其中:cNamecName用于指定数据库名、字段名、表名用于指定数据

31、库名、字段名、表名或视图名;或视图名;cType cType用于指定对象名的类型;用于指定对象名的类型;cPropertycProperty用于指定属性名称。用于指定属性名称。格式:格式:DBSETPROP(DBSETPROP(cName,cType,cProperty cName,cType,cProperty,ePropertyValue,ePropertyValue)功能:为当前数据库或当前数据库中表的字段、功能:为当前数据库或当前数据库中表的字段、表或视图设置属性。表或视图设置属性。其中:其中:ePropertyValueePropertyValue为设置的属性值为设置的属性值12/6/202236

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com