240 likes | 363 Views
普通高等教育“十一五”国家级规划教材. Visual FoxPro 程序设计基础教程. 刘甫迎 党晋蓉 刘焱. 第 8 章 数据库 (Database). 8.1 数据库的意义. 8.2 建立数据库 (.DBC 文件 ). 8.3 数据字典 (Data Dictionary). 8.1.1 表 (Table) 和数据库 (Database 8.1.2 数据库的优缺点 8.1.3 数据库的使用范围. 8.2 建立数据库 (.DBC 文件 ). 8.2.1 打开、关闭和删除数据库. 1 、打开数据库命令: OPEN DATABASE〈 数据库名 〉
E N D
普通高等教育“十一五”国家级规划教材 Visual FoxPro程序设计基础教程 刘甫迎 党晋蓉 刘焱
第8章 数据库(Database) 8.1 数据库的意义 8.2 建立数据库(.DBC文件) 8.3 数据字典(Data Dictionary)
8.1.1 表(Table)和数据库(Database 8.1.2 数据库的优缺点 8.1.3 数据库的使用范围
8.2 建立数据库(.DBC文件) 8.2.1 打开、关闭和删除数据库 1、打开数据库命令: OPEN DATABASE〈数据库名〉 2、关闭数据库命令: CLOSE DATABASE 或 CLOSE ALL 3、删除数据库命令: DELETE DATABASE 〈数据库名
8.2.2 在数据库中创建新表 格式:CREATE DATABASE <数据库名> 功能:生成名为<数据库名>的数据库文件,同时进 入数据库设计器。 8.2.3 添加一个表到数据库 格式:ADD TABLE <表名字> 例1:添加表Orditems到数据库testdata OPEN DATABASE testdata ADD TABLE orditems
8.2.6 察看和修改数据库结构 1.察看数据库模式(Schema) 格 式: MODIFY DATABASE 〈数据库名) 修改: 2.浏览数据库文件 CLOSE DATABASE <数据库名> USE <数据库名.dbc> EXCLUSIVE BROWSE 3.扩展数据库文件 USE <数据库名.DBC> EXCLUSIVE MODIFY STRUCTURE
8.3 数据字典(Data Dictionary) 8.3.1 字段级和表级数据字典特性 表级 表属性(Properties): 字段级
1、长表名与注释 长表名可包含128个字符,并可用来代表短表名识别数据表,表在一些界面中将显示长表名。 表的注释用来对表的使用功能进行简明说明。
2、长字段名、标题与注释 与长表名一样字段也可以有长字段名、标题与注释,同样都在“表设计器”中设置。如图8.3-2 在“字段名”框输入长字段名,在“标题”框输入字段的标题,在“字段注释”框输入注释。 (1) 数据库的字段名最多可以包含128个字符。 (2)如果从数据库中移去一个表那么该表的长字段名被截为10个字符存贮在.DBF文件中作为字段名。如果长字段名的前10个字符对此表不唯一,将取长字段名的前几个字符后追加顺序号共同形成10个字符的长字段名。 例2:长字段名 短字段名 customer_contact_name customer_c customer_contact_address customer_2 以此类推。但对于汉字的短字段名有时无法区分。 客户联系人姓名 客户联系人 客户联系人电话 客户联系人
(3)当一个表和数据库关联时必须使用长字段名来引用该中的字段。(3)当一个表和数据库关联时必须使用长字段名来引用该中的字段。 (4)标题:每个字段都可以有一个标题,VFP在浏览窗口中的字段标题处显示新输入的标题文字。 (5)注释:为每个字段添加说明。
3.对表字段的默认值 4.字段级和记录级规则 例3:打开AA1库文件,以stu1库表的学号字段为例: 规则:LEN(学号>=6) 信息:学号字段的输入的数据必须大于或等于6位数 默认值:学号为6位空格,表达式是SPACE(6)
例4:计算机基础成绩不能小于60是分。否则此记录不能保存。例4:计算机基础成绩不能小于60是分。否则此记录不能保存。
5.使用触发器(Triggers) 触发器(Trigger)是针对“表”的表达式,当表中的任何记录被指定的操作命令修改时,触发器被激活。通常需要输入一个程序或存贮过程。 记录级有三个触发器: (1)插入触发器(insert Trigger) (2) 更新触发器(Update Trigger) (3) 删除触发器 (Delete Trigger) 见书P159 例8.8:
6.主(Primary)和候选(Candidate)关键字值 (1)Candidate候选关键字值:“候选”的意义在于这样的索引关键字值可变成主(Primary)索引关键字值,其所具有的特性如下: 该索引键值字段不能有重复数据输入。 该索引键值字段不能包含Null(空值)。 可设置在自由表(Free Table)或数据库(.DBC)中的表中。 是一种定义在行级(Row_Level)对于数据重复输入的检核 规则 (2)Primary主关键字值:主关键值Primary的具体功能与候选 一样,对它的几个不同的属性说明如下: 只能建立在数据库(.DBC)中的表(Table)中。 数据库中任一表中能建立一个主Primary索引。 Primary只能以表设计工具或用指令CREATE Table或 Alter Table进行建立或修改,无法使用Index指令建立。
(3)Unique唯一性键值:Unique键为旧式索引方式,其特特性如下:(3)Unique唯一性键值:Unique键为旧式索引方式,其特特性如下: 自由表和数据库中的表字段均可建立。 它所定义的数据重复并非象Candidate及Primary建 立的字段数据不能重复,而是整项记录所有字段 内容(记录)不能重复。 只对索引文件产生唯一性建立方式(Unique叫唯一 索引),对实际的表并不设置数据唯一性要求。 .配合Set Unique On或OFF,可使该索引特性关 闭或启动 7.指定输入掩码 指定输入掩码就是定义字段中的值必须遵守的标点、空格和其它要求,这样字段中的值就有了统一风格,可提高输入效率。
8.控制字段显示 控制字段显示定义格式实质上是一个输出掩码,它决定了字段在表单、“浏览”窗口或报表中的显示风格。 9.设置默认类 为字段设置默认类可节省以后创建表单(详见第十章)的时间。一旦指定,每次将字段加入表单时,表单控件使用指定的默认类。 8.3.2 建立存贮过程(Stored Procedures)
8.3.3 建立永久性(Persistent)关系 1、存贮在数据库文件中数据表之间的永久关系,特点: (1)在查询设计器和视图设计器中,自动作为默认连接条件。 (2)在数据库设计器中,显示为联系表索引之间的连线,作为表单和报表之间的连线。 (3)在数据环境设计器中显示,它的功能是实现表参照的完整性。 2、说明:(1)它与SET RELATION 命令给自由表建的临时关系不一样,永久关系不控制表中记录指针之间的关系。所以在开发应用程序时,用户需要同时使用永久关系和临时关系。 (2)建立永久关系的表必须先建立索引文件,当子表的索引是主索引或候选索引,则关系是一对一的,当子表的索引为普通索引或唯一索引时,建立的关系是“一对多”关系。
8.3.4 生成参照完整性RI 更新规则、删除规则、插入规则 (1)级联:主(父)文件与子文件联合同步删除或修改 。 (2)限制:禁止更改父表中的主关键字段或候选关键字段中的值。 (3)忽略:完全忽略不需进行判断操作