- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第04章数据库创建和使用
VFP第4章;本章要点;目录; 4.1 VFP数据库;4.2.1 确定建立数据库的目的
数据库中要保存哪些信息
4.2.2 确定需要的表
数据库设计中技巧性最强的一步
4.2.3 确定表的字段
确定每张表中要保存哪些详细信息
原则:
a、每个字段直接和表的主题相关
b、不要包含可推导得到和需计算的数据字段
c、收集所需的全部信息
d、以最小的逻辑单位存储信息
e、每张表都必须明确主关键字; 4.2.4 确定表之间的关系
在每张独立的表中存储的数据之间有一定的关系,利用关系来查找数据库中有联系的信息。
一、关系的种类
一对多关系(主表XS,子表CJ)
多对多关系(甲表XS,乙表KC;纽带表CJ)
一对一关系(不常用,可简单合并为一张表)
例
二、 分析并确定表之间关系
确定每张表数据和其它表中数据的关系,必要时,可在表中加入字段或创建新表来明确关系
4.2.5 设计的改进;例; 4.3 建立数据库文件;新建表;;; 4.5 数据库表字段的扩展属性;4.5.1 字段的显示属性;4.5.2 字段的有效性规则;Math=0 and math=100;;;返回; 4.6 数据库表的表属性;4.6.1 长表名
VFP规定最大长度128个字符。
使用长表名打开表前,必须打开所属的数据库。
长表名和文件名可以同样使用
例如:给sx表设置长表名“学生情况表”,则以后打开此表可有2种方法:
use xs 此时表的别名是“xs”
use 学生情况表 此时表的别名是“学生情况表 ”
用命令设置长表名*
用CREATE TABLE 命令时用NAME子句指定长表名;4.6.2 表记录的有效规则;4.6.3 表的触发器
什么是表的触发器
是记录级事件代码。会在事件(插入、更新或删除操作)之后运行的代码。不同事件对应不同的代码操作。
触发器何时被激活
触发器是绑定在表上的,当表中的任何记录被操作时,触发器被激活。
触发器在记录的验证规则之后运行。
例1) 只招收外语系学生:
插入触发器: ximing =‘外语系’
例2) 只允许删除工龄超过30年的职工记录:
删除触发器: year(date())-year(gzrq) 30
可以用命令创建各触发器;有3个触发器
1、插入触发器 插入或追加记录时触发规则
2、更新触发器 修改记录时触发规则
3、删除触发器 删除记录时触发规则;4.6.4 约束机制及其激活时机
库表的字段级和记录级规则及触发器,为数据的输入和修改实施了约束。
激活时机(P.89 表 4-11)
1、字段有效规则:字段级
2、记录有效规则:记录级
3、触发器: 表级; 4.7 表之间的关系;;永久关系;; 4.8 参照完整性;4.8.2 设置参照完整性
它建立在永久关系基础上,规则代码存于存储过程中
在“数据库设计器”中右击关联线或利用菜单进行设置;参照完整性规则有三种:更新、删除、插入。
每一种规则又具体分为:级联、限制、忽略。;参照完整性规则(见P.92表4-12);注:主表作删除标记,子表也自动加删除标记;4.8.3 数据完整性综述
三类完整性:实体、参照和用户自定义完整性。
实体完整性:字段级和记录的完整性;分别通过字段和记录的有效性规则实施。
参照完整性:相关表之间的数据一致性;
用户自定义完整性:用户通过编程实现的对数据完整性的约束。;4.9 使用多个数据库;;3、使用数据库中的表
格式:USE 库名!表名
例: use sjk!xs
注意:
如果数据库sjk是当前的,则可以用use xs 。
如果数据库sjk不是当前的,虽然已打开sjk???必须用
use sjk!xs
打开表,表所在的数据库会随着打开,例:
use xs 表在数据库sjk中
? DBUSED(‘sjk’) 显示.T.;;4.10 * 查看和设置数据库的属性
文档评论(0)