vfp数据库的创建和使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、默认值:
例如:仅招收来自“乌鲁木齐”的学生。
3wenku.baidu.com字段级规则
用于控制或检查用户输入到字段中的信息。 例如:性别只能是“男”或“女”。
§ 4.6 数据库表的表属性
一、长表名
库表的最大长度为128个字符。
二、表记录的验证规则
通常是比较同一记录中两个以上字段的值。
例:如何设置JS表中不允许招收18周岁以下的职工?
P89
§ 4.7 表之间的关系
1 永久性关系:
利用索引建立的数据库表间所特有的关系。 分类: 一对多关系(主表XS,子表CJ)
多对多关系(甲表XS,乙表KC ;纽带表CJ)
一对一关系(不常用,可简单合并为一张表)
2 永久性关系的创建:
一对多关系中,主表必须用主索引或侯选索引, 子表则使用普通索引。 (演示)
一对一关系中,则两表都必须是主索引或侯选 索引。
3 永久性关系的作用:
1、用来存储参照完整性信息;
*2、在查询或视图设计器中自动作为 默认联接条件;
*3、作为表单和报表的默认临时关系。
临时关系与永久关系的区别:

p90
1. 前者控制相关表间记录的访问(指针移动) ,后者存储 相关表间的参照完整性(更新、删除和插入);
§ 4.3 创建数据库
一、创建
库文件 .DBC、备注文件.DCT、索引文件.DCX
方式:
•项目管理器、 •菜单、 •工具栏中“新建”按钮、
•CREATE DATABASE
[数据库名]
二、数据库的组成
数据库表 存储过程 连接 本地视图 远程视图
三、数据库中添加、新建和移去表
▲通过项目管理器、 ▲ 命令方式(须先打开库)
数据字典:是存储在数据库中用于描述所管理的表
和对象的数据,即数据的数据(元数据)。
例:use sjk.dbc browse
§ 4.5 数据库表字段的扩展属性
1、显示属性和输入掩码 p84
• 字段的标题(Caption) • 输入掩码(Input Mask) • 字段的显示格式(Format) 例1:将xs表中的xb字段设置为汉字“性别” 例2:只可输入数字、空格和正负号 例3:字段中只允许以大写字母显示
&&返回当前打开的数据库的文件名
DBUSED()
&&测试指定的数据库文件是否
已经打开,返回值为.t.或.f.
3、使用数据库中的表
格式: USE 库名!表名 例: use sjk!xs
练习(03秋)
1. 为xs表设置删除触发器:只有学号开头两 位是“00” 的记录允许删除,否则不允许删除。
2. 数据库SJK.dbc中以XS表为主表,CJ表为子 表按xh建立永久关系,并设置XS表和CJ表之间 的参照完整性:删除限制。
2. 前者随表的关闭而解除,后者永久保存在数据库中;
3. 前者可以在自由表、库表或自由表与库表之间建立, 后者只能在库表间建立;
4. 前者中不能有两张主表,永久关系则不然;
5. 前者的建立仅需子表中建普通索引,后者则两表中都 需索引。
§ 4.8 相关表之间的参照完整性
一、 “参照完整性”概念

ADD TABLE 自由表文件名 CREA TABLE REMOVE TABLE 表名 [DELETE]
四、数据库的打开和关闭
Open data 数据库名 Close database Close all &&关闭项目管理器及数据库
五、数据库与库表之间的双向链接
前链 数据库表 后链 表数据库
规则
功能:控制数据库相关表之间的主关键字
和外部关键字之间数据一致性。
数据一致性的三个原则:
1.子表中的每个记录在对应的主表中必须有一个 记录;
2.如果修改了父表中主关键字的值,则子表中相 关记录的外部关键字值必须同样修改;
3.在父表中删除记录时,与该记录相关的子表中 的记录必须全部删除。
否则将出现“ 孤立记录 ”的错误!
二、设置参照完整性
建立在永久关系基础上,规则代码存于 存储过程中。
参照完整性规则有三种: 更新、删除、插入。
每一种规则又具体分为: 级联、限制、忽略。
演示
三、VFP数据完整性综述
分为三类:
实体完整性:字段级和记录级的完整性;
(分别通过字段有效性规则、记录有效性规则、表 的触发器实施。)
参照完整性:相关表之间的数据一致性; 用户自定义完整性:用户通过编程实现的
第4章数据库的创建和使用
本章要点
1.数据库的创建、打开和关闭; 2.组成:库表、永久关系、视图、存储过程; 3.双向链接; 4.永久关系的创建、删除; 5.库表字段的扩展属性:默认值、掩码、标题; 6.字段有效性规则、记录有效性规则、表触发器、库
表之间参照完整性。
§ 4.1 VFP数据库
Year(gzrq)-year(csrq)>=18
何时被激活?
P87
三、表的触发器
是在删除、插入或更新操作之后运行
的记录级事件代码。 触发器是绑定在表上的逻辑表达式,当
表中的任何记录被指定的命令修改时, 触发器被激活; 触发器必须为.T.时,操作才能执行。
例:
1)kc表中,只允许选修课的信息被更新: 更新触发器: bxk=.F.
二、DBSETPROP()函数
给当前库或库中的表的字段、表或视图设置属性 语法: DBSETPROP(cName,cType,cProperty,epropertyValue) 例:设置xs表的xh字段的标题属性的命令为: DBSETPROP(“xs.xh”, “FIELD”, “Caption”, “学号”)
(以上是补充内容.)
六、磁盘中的意外
如果误删除了某个数据库文件,但库表 仍保留着对该数据库引用的后链;需要先
从表中删除后链,然后这些表才能添加
到其它数据库中。 格式:
• FREE TABLE 表文件名
例:2012.10.21江苏省计算机等级考试第3场,要求在SJK数 据库中添加另一数据库中的表。
§ 4.4 数据字典
许多相关的表的集合 (包括表间关系) 。

数据 世界
据 库
现实 相关联的实 世界 体集的组合
自由表 库表
库表 实体集
记录
记录 实体
字段
字段 属性
§ 4.2 *数据库的设计过程
1 数据库设计中技巧性最强的一步: 确定所需的表。
2* 设计表中字段的原则:
a、和表的主题相关; b、不要包含可推导得到的数据字段; c、以最小的逻辑单位存储信息。
§4.10 查看和设置数据库的属性
一、DBGETPROP()函数
返回当前库的属性或当前库中表、字段的属性
语法:DBGETPROP(cName,cType,cProperty)
例:获取CJ表中CJ字段的显示标题: ? DBGETPROP(“cj.cj”, “field”, “Caption”) 例:获取XS表中XB字段的默认值: ? DBGETPROP(“xs.xb”, “field”, “default”)
对数据完整性的约束。
§4.9 使用多个数据库
1、打开多个数据库
命令: OPEN DATABASE 库名1 OPEN DATABASE 库名2 OPEN DATABASE 库名3
2、设置当前数据库
从工具栏的“数据库下拉列表框”中选择;
or
SET DATABASE TO 库名
相关函数:
DBC()
2)js表,只允许删除工龄超过30年的职工记录: 删除触发器: year(date())-year(gzrq)> =30
3)xs表,只招收外语系(xdh=“09”)学生: 插入触发器: xdh =‘09’
四、库表的约束机制及其激活时机
字段规则、记录规则及触发器,为数据 实施了约束.
字段规则:离开字段、insert、replace 记录规则:发生记录更新、指针离开 表触发器:insert、update、delete
相关文档
最新文档