240 likes | 393 Vues
第七章 数据库. 7.1 数据库的意义. 7.2 建立数据库( .DBF) 文件. 7.3 数据字典( Data Dictionary). 第七章 数据库 7.1 数据库的意义. 一、表( Table )和数据库( Database ) 1 、在 Visual FoxPro 以前的 Xbase ,其基本数据结构是数据库( .dbf ), 在 Visual FoxPro 中则将这种结构称为表( Table ),文件扩展名( .dbf )。
E N D
第七章 数据库 7.1 数据库的意义 7.2建立数据库(.DBF)文件 7.3 数据字典(Data Dictionary)
第七章 数据库 7.1数据库的意义 一、表(Table)和数据库(Database) 1、在Visual FoxPro以前的Xbase,其基本数据结构是数据库(.dbf), 在Visual FoxPro中则将这种结构称为表(Table),文件扩展名(.dbf)。 2、在Visual FoxPro中数据库(Database)是包含了多个表(Table)以及表中各种属性的特性,是一种工作环境 。能减少数据的冗余并提高数据的完整性。 3、表可以是在数据库中建立的表 ,即数据库的成员,也可以是与数据库无联系的表,称为自由表(FreeTable)。数据库表比自由表有以下的特点: (1)长表名和表中的长字段名。(2)对各表字段的标题和注释。 (3)对表字段的默认值。(4)字段和记录级规则。
(5)对各INSERT、UPDATE、DELETE事件的触发器(Trigger)。(5)对各INSERT、UPDATE、DELETE事件的触发器(Trigger)。 (6)回复(Roll Back)等。 二、数据库的优缺点 (1)数据库的数据字典功能用在表设计器中,满足客户/服务器结构对数据安全性与一致性的要求。 (2)数据库中多个表之间可建立一种永久关系。 (3)可生成SQL View视图。 缺点: 不能用向导W izard 方便地生成和修改。在使用数据库表时必须 先打开数据库文件。
7.2建立数据库(.DBF)文件 一、数据库的建立 1、使用菜单方式 (1) 在主菜单栏上选“文件” —“ 新建”—“数据库” — “新文件” (2)在项目管理器中选“数据卡” — “数据库” — “新建” 指定数据库的文件名进入数据库设计器。 2、命令:CREATE DATABASE <数据库名> 生成名为<数据库名>的数据库文件,同时进入数据库设计器。 二、打开、关闭数据库文件 1、在主菜单栏上选“文件” —“打开”—“数据库文件名” 2、命令:打开 OPEN DATABASE〈数据库名〉 关闭 CLOSE DATABASE 或 CLOSE ALL
三、查看、修改、删除数据库 1、菜单:使用主菜单进入数据库设计器即可显示已打开数据库的结构。点击主菜单“数据库”进行各功能操作。 2、命令 修改:MODIFY DATABASE 〈数据库名〉 查看(浏览):BROWSE 删除:DELETE DATABASE 〈数据库名〉 四、数据库表 1、新建 菜单:(1)在数据库菜单笺—新表— (2)在数据库设计器中右击鼠标—(Shortcut)新表—
(3)、在项目管理器数据卡的数据库中—新建—(3)、在项目管理器数据卡的数据库中—新建— 显示出数据库表设计器
2、添加表: (1)在数据库菜单笺—添加表— (2)在数据库设计器中右击鼠标—(Shortcut)添加表— (3)在项目管理器数据卡的数据库中—添加表— 显示出打开对话框,选择需要添加的自由表。 例子1:新建数据库AA1,添加表文件Stu1t和Sty2并进行修改等操作。
7.3 数据字典(Data Dictionary) 一、字段级和表级数据字典特性 表属性(Properties): 表级 见P213表8-1 字段级 1、长表名与注释 长表名可包含128个字符,并可用来代表短表名识别数据表,表在一些界面中将显示长表名。 表的注释用来对表的使用功能进行简明说明。 操作(1)进入数据库“表设计器”——“表”选项卡如图8.3-1 (2)在“表名”框输入长表名,在“表注释”框输入该表的注释。 (3)按“确定”完成。
2、长字段名、标题与注释 与长表名一样字段也可以有长字段名、标题与注释,同样都在“表设计器”中设置。如图8.3-2 在“字段名”框输入长字段名,在“标题”框输入字段的标题,在“字段注释”框输入注释。 (1) 数据库的字段名最多可以包含128个字符。 (2)如果从数据库中移去一个表那么该表的长字段名被截为10个字符存贮在.DBF文件中作为字段名。如果长字段名的前10个字符对此表不唯一,将取长字段名的前几个字符后追加顺序号共同形成10个字符的长字段名。 如:长字段名 短字段名 customer_contact_name customer_c customer_contact_address customer_2
以此类推。但对于汉字的短字段名有时无法区分。以此类推。但对于汉字的短字段名有时无法区分。 客户联系人姓名 客户联系人 客户联系人电话 客户联系人 (3)当一个表和数据库关联时必须使用长字段名来引用该中的字段。 (4)标题:每个字段都可以有一个标题,VFP在浏览窗口中的字段标题处显示新输入的标题文字。 (5)注释:为每个字段添加说明。
二、默认值 就是向数据库表中添加新的记录时,该字段可以是预先准备好的数值或字符串。无论在“表单”、数据浏览窗口或“视图”中输入数据,默认值都起作用。并一直存在于字段中,直到它被新值修改。默认值可以是除了解通用型类型以外的任何数据类型。 例2:打开AA1库文件,以stu1库表进行操作。 三、字段级和记录级规则 为了控制数据库中表字段的数据,可以创建字段级和记录级规则,这些规则被称为有效规则。字段级和记录级规则把用户输入的值与所定义的规则表达式的值进行比较,如输入的值不满足规则要求,此值被拒绝。如图:8.3-1和8.3-2中的字段验证和记录验证
例3:打开AA1库文件,以stu1库表的学号字段为例:例3:打开AA1库文件,以stu1库表的学号字段为例: 规则:LEN(学号>=6) 信息:学号字段的输入的数据必须大于或等于6位数 默认值:学号为6位空格,表达式是SPACE(6)
练习:以stu1库表的数学字段为例 要求:其输入的数学成绩必须及格,信息是任意,默认值是0分。 例4:记录级。计算机基础成绩不能小于60是分。否则此记录不能保存。
四、设置触发器(Trigger) 触发器(Trigger)是针对“表”的表达式,当表中的任何记录被指定的操作命令修改时,触发器被激活。通常需要输入一个程序或存贮过程。 记录级有三个触发器: (1)插入触发器(insert Trigger) (2) 更新触发器(Update Trigger) (3) 删除触发器 (Delete Trigger) P203
五、建立、编辑永久关系 1、存贮在数据库文件中数据表之间的永久关系,特点: (1)在查询设计器和视图设计器中,自动作为默认连接条件。 (2)在数据库设计器中,显示为联系表索引之间的连线,作为表单和报表之间的连线。 (3)在数据环境设计器中显示,它的功能是实现表参照的完整性。 2、说明:(1)它与SET RELATION 命令给自由表建的临时关系不一样,永久关系不控制表中记录指针之间的关系。所以在开发应用程序时,用户需要同时使用永久关系和临时关系。 (2)建立永久关系的表必须先建立索引文件,当子表的索引是主索引或候选索引,则关系是一对一的,当子表的索引为普通索引或唯一索引时,建立的关系是“一对多”关系。
3、操作: (1)建立 永久性关系:将鼠标放于“一”表的主索引上,按下鼠标将主索引拖到“多”表的与其对应的索引上,此时两索引之间建立了一条“一对多”的连线,即两表之间的永久关系。 (2)编辑永久关系:将鼠标放于“一对多”的连线上,单击使其变粗(即选择),按鼠标右键,在出现的快捷菜单上选择“编辑关系”。也可在主菜单“数据库”中进行操作。
六、生成参照完整性RI 对两个及以上关联的表进行参照完整性的设置,即是建立一组规则,使在对一个表进行插入、更新、删除记录等操作时,另一个表是否同步进行,达到保护表之间已定义的关系,确保表之间记录的完整性。 操作:进入“参照完整性生成器”如下:
更新规则、删除规则、插入规则 (1)级联:主(父)文件与子文件联合同步删除或修改 。 (2)限制:禁止更改父表中的主关键字段或候选关键字段中的值。 (3)忽略:完全忽略不需进行判断操作