当前位置:文档之家› 创建表的索引与表间关系概要

创建表的索引与表间关系概要


7、支持insert、update和delete事件的触发器。
因此,一旦某个表从数据库中移出,那么与之联系的所有 主索引、默认值及有关的规则都随之消失。因此,将某个表移 出的操作会影响到当前数据库中与该表有联系的其他表
5
设置表属性(参看P117-124)
数据库表的属性可以分为两类: 一类是涉及表的字段属性以及字段的有效性规则, 通过数据库表设计器中的“字段”选项卡设置; 另一类涉及记录的有效性规则和触发器,通过数据 库表设计器中的“表”选项卡设置;
4
与自由表相比,数据库表具有以下特点:
1、数据库表可以使用长表名,表中字段可使用长字段名;
2、可以为数据库表中的字段指定标题和添加注释;
3、可以为数据库表中的字段指定默认值和输入掩码; 4、数据库表的字段有默认的控件类; 5、可以为数据库表规定字段级规则和记录级规则; 6、数据库表支持主关键字、参照完整性和表之间的联系;
设置数据库表属性 创建数据库表的索引及表间关系
设置数据库表属性 建立数据库表根据前面所学的知识内容已经知道,组成数据模型的 三要素是:
1、数据结构——用于描述现实世界数据(系统)的静态特性 即描述所研究的对象的逻辑组成以及它们之间的逻辑关系。
有效性规则——是一个与字段或纪录相关的逻辑表达式。 当用户往表中插入新记录或修改记录值时,将利用此规则检 验输入数据的正确性。通过对用户输入的值加以限制,达到 数据有效性检查。
6
“字段”选项卡
字段值在“浏览” 输入该字段值 窗口、表单或报表 时使用的格式。 中显示时的风格。 字段显示时使 用的名称。
2、发出PACK不会激发任何触发器;
3、发出ZAP不会激发删除触发器;
4、如果更新具有删除标记的记录,不会激发触
发器。
12
1、设置字段有效性规则 课堂练习 期末成绩 <=100 .and. 期末成绩>=0 2 、设置字段有效性规则 1、为“成绩”表设置有效性规则:“期末成绩” 号))=7 字段的取值范围为0~100。 2、为“学生”表设置有效性规则:限制“学号” 3、设置记录有效性规则 字段前两位只能是“04”,并且输入的学号必 工作时间 47 、设置删除触发器 须 位。>出生日期 year(出生日期)<1945 3、为“教员”表设置有效性规则:参加工作的 或: 出生日期<{^1944-12-31} 时间必须大于出生日期。 4、为“教员”表设置触发器:禁止删除1945年 以后出生的教员纪录。
例如:为“课程”表设置 记录有效性规则。 规则:周学时>=学分 信息:”一门课程学分的设置 应小于周学时” 例如:“教员”表中教员参 加工作时间不能小于出生日 期 规则:参加工作>出生日期
信息: "参加工作时间不能 在出生日期之前"
10
设置“触发器”
触发器也是一个逻辑表达式。在发生插入记录、修改记录和 删除记录这些事件时,触发执行这个表达式。是保证数据完整 性控制的另一种形式。
2、数据操作——用于描述现实世界数据(系统)的动态特性
是数据库中各种数据的操作集合以及相应的操作规则。 3、数据的约束条件——一组完整性规则的集合 是给定的数据模型中的数据及其联系所具有的制约和依存关系, 用以保证数据的正确、有效、相容。
2
数据的约束条件(数据模型的完整性规则)
为了维护数据库中的数据与现实世界的一致性, 对关系数据库的插入、删除和修改操作必须有一定 的约束条件,这就是关系模型的三类完整性。
9607039 9907002 9801055 9902006 9704001 …
姓名 性别
注意:设置属性时,先选中要设置属 性的字段。
8
字段有效性规则:控制用户输入到字段中的信息。
例如:为学生表的“性别”字段设置有效性规则。
性别=“男” .or. 性别=“女”
没有输入字段 值时该字段的 默认值
字段值不符合 字段值的有 规则时,显示 效范围 的提示信息
9
“表”选项卡
记录有效性规则:用于记录更新时对整个记录进行检验
(SUBSTR(学号,1,2)="04“.AND.LEN(ALLTRIM(学
13
建立表索引
主要内容:
索引的概念 索引的类型 索引文件的类型 索引的创建及使用
14
一、索引的概念
以书为例:
快速找到某个 章节的方法
15
索引的概念
按“学号”排 序的索引文 件 原始记录
学号

“学生”文件
原始 记录 号
学号
1.实体完整性——指主关键字的值不能为空。若取了空值
说明存在某个不可标识的实体。
例如:学生关系中主关键字“学号”不能为空,选课关系 中的主关键字“学号+课程号”,两个属性都不能为空。
3
2、参照完整性——规定两个相关联的表之间的主关键字 和外部关键字必须保持一致性,不能因为一个表的记 录改变时,造成另一个表的内容变成无效的值。含义 是:当插入、删除或修改一个表中的数据时,通过参 照引用相互关联的另一个表中的数据,来检查对表中 的数据操作是否正确。 在VFP中,用“参照完整性生成器”设置两表之间的参照 完整性。 3、用户定义的完整性(域完整性)——某一具体应用所涉及的数 据必须满足的语义要求。 如:“课程”关系中,“周学时”和“学分”均不能为负数; 某些数据的输入格式要有一些限制等。 数据类型的定义就是属于用户定义完整性的范畴。 在VFP中,用“有效性规则”和“触发器”设置用户定义完整 性。
例如:为“教员”表定 义了规则:更新记录时, “教授的年龄应大于或 等于35岁”即可。 触发器设置完毕后,如 果将一个小于35岁的职 工的职称修改为教授, 系统将给出“触发器失 败”的提示信息。
11
25
使用触发器的注意事项
1、不能对有触发器的表使用insert命令,但可 以使用insert-SQL命令;
提醒用户该字 段的确切含义。 用于对数据库 的维护
7
例题:设置“学生”表的显示属性(P119) 1)“学号”字段设置“输入掩玛”— “9999999” 2)“姓名”字段设置“格式”——“AT” 3) “出生日期”字段设置“标题”——“学生 生日” 4)“简历”字段设置“字段注释”——“学生 入学前的简历”
相关主题