Download - 授课 -5 数据库管理(一)
1茂名职业技术学院
授课 -5 数据库管理(一)
5.1 创建数据库
5.2 数据字典的编辑
5.3 建立表索引与表间关系
2茂名职业技术学院
任务(高新考试第 3.3 题): 将 C:\2006vfp\Unit3 文件夹中的文件夹 Y3-03 复
制到考生文件夹中,重命名为“ X3-03”,然后新建项目管理器,并命名为“项目 3-3”,保存在文件夹 X3-03 中完成下列操作。
1. 建立数据库 在“项目 3-3”中新建数据库“ X3-03.dbc”,保存
到文件夹 X3-03 中; 将表 Y3_03A.dbf 、 Y3_03B.dbf 、 Y3_03C.dbf 添加到
数据库 X3-03.dbc 中。2. 设置字段属性 在数据表 Y3_03A.dbf ,完成以下操作 : 设置“民族代码”字段的默认值为“ 01”;。 为“民族代码”字段添加字段注释“ 01代表汉族”。
3茂名职业技术学院
3. 设置表属性 对数据表 Y3_03B.dbf 完成以下操作 添加表注释“该表为考生报名表”; 设置“民族代码”字段的“记录有效性”,要求为该字段输入的值
必须为“ 01”、“ 02”、“ 03”或“ 04”; 当输入字段“民族代码”的值不是“ 01”、“ 02”、“ 03”或
“ 04”时,“信息”则提示“民族代码必须用 01、 02 、 03 或 04代表,请重新输入”,结果如样文 3-03A 所示。
4. 建立字段索引和表之间的关系 在数据表 Y3_03A.dbf 中设置字段“民族代码”为主索引, Y3_03B.
dbf 中设置字段“报名序号”为主索引,设置字段“民族代码”为普通索引。 Y3_03C.dbf 中设置字段“报名序号”为主索引。
选择正确的关联字段,为表 Y3_03A.dbf 与 Y3_03B.dbf 建立一对多关系,为表 Y3_03B.dbf 与表 Y3_03C.dbf 建立一对一关系。结果如样文 3-03B 所示。
4茂名职业技术学院
样文 3-03A
样文 3-03B
5茂名职业技术学院
5.1 创建数据库
【学习目标】 创建数据库的基本操作
【关键概念】 建立数据库 添加数据库表
6茂名职业技术学院
【授课】5.1.1 建立数据库VFP 提供了 3种建立数据库的方法: 1. 用项目管理器 在 [数据 ]选项中选择 [数据库 ],然后点击[新建 ]钮,打开“新建”对话框,如下图所示 ,点击 [新建文件 ]钮。
7茂名职业技术学院
2. 菜单方式 在 [ 文件 ] 菜单
中选择 [ 新建 ] 命令,或单击 [ 常用 ] 工具栏中的 [ 新建 ] 按钮,打开“新建”对话框,如右图所示。
8茂名职业技术学院
3. 命令方式 格式: CREATE DATABASE [ 数据库名/? ] 功能:创建一个数据库并打开它。 若命令中包含可选项或可选项选择了“?”,则系统显示一个对话框,请求用户指定新数据库的存取路径和名称。 [ 例如 ] 建立 cjk.dbc 的命令如下: CREA DATA cjk
9茂名职业技术学院
【相关知识】5.1.2 使用数据库 1. 打开数据库 打开数据库的方式有三种: • 通过“项目管理器”打开 • 通过“打开”对话框打开 • 使用命令打开 格式: OPEN DATABASE [[EXCLUSIVE/SHARED]; [NOUPDATE][VALIDATE]] [ 例 ]打开数据库 cjk.dbc 的命令如下: OPEN DATA cjk
10茂名职业技术学院
2. 指定当前数据库: • 使用命令 VFP 可以打开多个数据库,但在同一时刻只有一个
当前数据库。 命令: SET DATABASE TO 数据库名 • 使用工具栏 通过“常用”工具栏上的数据库下拉列表选择
11茂名职业技术学院
3. 修改数据库 修改数据库实际上是打开数据库设计器进行修改 • 通过“项目管理器”打开 • 通过“打开”对话框打开 • 使用命令 格式: MODIFY DATABASE [ 数据库名 /? ][NOWAI
T];[NOEDIT] 参数说明: NOWAIT :打开数据库设计器后继续执行程序 (只在程序中使用,在命令窗口中无效) NOEDIT :禁止对数据库进行修改
12茂名职业技术学院
4. 关闭数据库 命令格式: CLOSE DATABASE5. 删除数据库 • 使用项目管理器中“移去”按钮 注:此种方法只删除数据库,对库中的表及其他对象不进行删除
• 使用命令 格式: DELETE DATABASE [ 库文件名 /? ]; [DELETETABLES][RECYCLE]参数说明: DELETETABLES :删除该数据库中所含的表文件
RECYCLE :将删除的文件放入回收站中
13茂名职业技术学院
任务的第 1点: 在“项目 3-3”中新建数据库“ X3-03.dbc”,保存到
文件夹 X3-03 中; 将表 Y3_03A.dbf 、 Y3_03B.dbf 、 Y3_03C.dbf 添加到数
据库 X3-03.dbc 中。操作: 先打开项目管理器“项目 3-3”,在 [ 数据 ] 选项中选
择 [ 数据库 ] ,然后点击 [ 新建 ] 钮,打开“新建”对话框,
点击 [ 新建文件 ] 钮。 在建立好的数据库中,再点击 [添加 ],添加各数据表。
14茂名职业技术学院
5.2 数据字典的编辑【学习目标】 数据字典的编辑操作
【关键概念】 数据字典 有效性规则
15茂名职业技术学院
【任务第 3.3 题(上机 -4 ) 】2. 设置字段属性:在数据表 Y3_03A.dbf ,完成以下操作 : 设置“民族代码”字段的默认值为“ 01” ;。 为“民族代码”字段添加字段注释“ 01 代表汉族”。3. 设置表属性: 对数据表 Y3_03B.dbf 完成以下操作 添加表注释“该表为考生报名表”; 设置“民族代码”字段的“记录有效性”,要求为该字段输
入的值必须为“ 01” 、“ 02” 、“ 03” 或“ 04” ; 当输入字段“民族代码”的值不是“ 01” 、“ 02” 、“ 03”
或“ 04” 时,“信息”则提示“民族代码必须用 01 、 02 、03 或 04 代表,请重新输入”,结果如样文 3-03A 所示。
样文 3-03A
16茂名职业技术学院
【授课】5.2.1 数据字典的编辑1. 进入表设计器 ( 1)使用项目管理器 ( 2)使用数据库设计器 ( 3)使用命令
数据字典
17茂名职业技术学院
【相关知识】 显然,与自由表相比,数据库表的表设计器多了
数据字典等内容。
数据字典 数据字典就是包含数据库中所有表信息的一个表。
存储在数据字典中的信息称之为元数据,包括长表名、长字段名、有效性规则、触发器,表间永久关系以及数据库对象的定义等。
使用数据字典,可以设置字段级和记录级的有效性检查,保证主关键字字段内容的唯一性。
18茂名职业技术学院
“ 格式”文本框中输入格式化代码,确定该字段在浏览窗口、表单和报表中显示的格式,它是对字段格式进行整体控制的。 字段级规
则设置
“ 输入掩码”文本框中键入掩码代码,输入掩码是按位来控制格式的。
显示的标题改为自己希望的标题
字段有效性规则就是用于数据输入正确性的检验。
说明该字段的用途、特性、使用说明等补充信息
字段有效性信息是用于数据检验发现不符合规则显示的信息。
19茂名职业技术学院
2. 设置字段级规则 (重点 ) 字段级规则主要包括:显示属性、字段有效性和字段注
释等。( 1)设置字段显示属性 格式:指定字段在浏览窗口、表单或报表中显示和输入
数据的样式; 输入掩码:用以限制或控制用户输入数据的格式,对非
法输入进行屏蔽; 标题:该字段在显示时的名称,可达 128个字符。( 2)对字段进行有效性检验 字段有效性检查是在完成特定字段的数据项输入后,系
统自动检查所输入的数据项是否符合规则( 3)匹配字段类型
20茂名职业技术学院
( 4)为字段输入注释( 5)设置记录的有效性规则
( 6)设置触发器
21茂名职业技术学院
3. 设置记录级规则记录级规则主要包括记录有效性、触发器的设置和表注释。
“ 教授的基本工资要≥ 1650 元,其他职工为:550≤ 基本工资≤ 3000"
职称 =" 教授 ".AND. 基本工资 >=1650.OR. 职称 #" 教授 ".AND.( 基本工资 =>550.
AND. 基本工资 <=3000)
每逢星期一才可做插入、追加、更新和删除记录的操作:CDOW(DATE())="Monday"
22茂名职业技术学院
任务的第 2、 3点操作示范:2. 设置字段属性:( 2分) 选 Y3_03A.DBF ,进入表设计器;选“字段”选项,选“民
族代码”字段;在“默认值”内输入 “ 01” ; “字段注释”内输入“ 01
代表汉族” 3. 设置表属性:( 4分) 选 Y3_03B.DBF ,进入表设计器;选“表”选项,在表注释内输入“该表为考生报名表”;
选“字段”选项,选“民族代码”字段,在字段有效性的规则内输入…… ;
“信息”内输入字符: " 民族代码的值必须用 01 、 02 、 03 或 04 代表,请重新输入 "
23茂名职业技术学院
5.3 建立表索引和表间关系【学习目标】 建立表索引和表间关系数据库的操作
【关键概念】 索引的种类 索引的建立和应用 表间永久关系的建立
24茂名职业技术学院
【任务第 3.3 题(上机 -4 ) 】4. 建立字段索引和表之间的关系 : 在数据表 Y3-03A.dbf 中设置字段“民族代码”为主索引,
Y3-03B.dbf 中设置字段“报名序号”为主索引,设置字段“民族代码”为普通索引。 Y3-03C.dbf 中设置字段“报名序号”为主索引。
选择正确的关联字段,为表 Y3-03A.bf 与 Y3-03B.dbf
建立一对多关系,为表 Y3-03B.dbf 与表 Y3-03C.dbf 建立一对一关系。结果如样文 3-03B 所示。
样文 3-03B
25茂名职业技术学院
【授课】5.3.1 索引 1. 基本概念 索引是按索引表达式使数据表中的记录有序地进行逻辑排列的技术。索引不改变当前数据表记录的物理顺序,而是建立一个与数据表相对应的索引文件。
• 按文件扩展名分为 2类: 单索引文件( *.IDX )和复合索引文件( *.CDX )
• 按索引功能分为 4类: 主索引、候选索引、普通索引和惟一索引。
26茂名职业技术学院
• 按文件结构形式分为 2类: ①结构复合索引文件:复合索引文件名与表名相
同,打开表时,索引文件将自动打开。 ②非结构复合索引(独立索引)文件:复合索引
文件名与相关表不同(扩展名仍为 .CDX )。 我们把表中记录实际排列次序称为物理顺序,此顺序在输入记录时已确定;把由索引决定的顺序称为逻辑顺序或索引顺序。因此,索引只是改变了记录的逻辑顺序。
27茂名职业技术学院
2. 简单索引的建立 用表设计器建立索引(见后) 用命令建立索引 格式: INDEX ON <关键字表达式 > TO 索引文件名; [.IDX][UNIQUE][FOR 条件 ][COMPACT] 功能:给当前表中符合条件的记录按给定的关键字表达式建立索引文件。
参数说明: UNIQUE :表示建立惟一索引; COMPACT :表示建立一个压缩的 .IDX 索引文件。注意:目前,简单索引已很少使用。
28茂名职业技术学院
3. 简单索引的打开与关闭 • 索引的打开: 格式 1: USE <表名 > INDEX <索引文件名清单 > 功能:打开表的同时打开多个表 格式 2: SET INDEX ON <索引文件名清单 > 功能:先打开数据表,然后才打开单索引文件 • 索引的关闭: 格式: SET INDEX TO
29茂名职业技术学院
4. 复合索引的建立 在表设计器中建立索引(结构复合索引)
在“索引名”文本框中输入索引标识
名
在“类型”列表框中,选定索引类型
在“表达式”文本框中,输入索引关键字表达式
向上箭头为升序索引,向下箭头为降序索引
如果需要,可输入筛选条件表达式
30茂名职业技术学院
用命令建立索引 格式: INDEX ON 关键字表达式 TAG 索引标记; [OF 独立索引文件名 ][FOR 条件 ]; [ASCENDING/DESCENDING][UNIQUE] ; [CANDIDATE][ADDITIVE] 功能:对当前表按给定的关键表达式建立索引。 参数说明: OF 独立索引文件名:缺省此项,则建立结构复合索引,文
件名同表名,扩展名为 .CDX FOR 条件:只索引符合条件的记录。 ASCENDING/DESCENDING:说明建立升序或降序,默认升序。 CANDIDATE :建立候选索引。 ADDITIVE :关闭以前的索引,使新建立的索引成为当前索
引。
31茂名职业技术学院
5. 主控索引的设置 若同时打开多个索引,则有一个起着主要作用,它决定着表的当前逻辑顺序,这个索引称为主控索引。
格式: SET ORDER TO <数值表达式 >或 <索引文件名 >
6. 删除索引 格式: DELETE TAG 索引标识 [OF 非结构索引文件名 ]
功能:删除指定的索引。
32茂名职业技术学院
7. 复合索引打开与关闭 结构复合索引文件随表的打开而自动打开,非结构复合
索引文件的打开、关闭同简单索引文件,使用命令: 格式 1: USE 表名 INDEX 独立复合索引文件名表 功能:打开表同时打开索引。 格式 2: SET INDEX TO 非结构复合索引文件名表 功能:单独打开索引。 格式 3: SET ORDER TO <TAG 索引标识 /数值表达式 > 功能:指定主控索引。
33茂名职业技术学院
[ 例 5.1] 为 rsb.dbf 按下列要求建立结构复合索引文件。 ( 1)记录以姓名降序排列,索引标识 xm,索引类型为
普通索引; ( 2)记录以出生日期升序排列,索引标识 csrq,索引类型为唯一索引;
( 3)记录以职称降序排列,职称相同的按出生日期降序排列,索引标识 zccsrq,索引类型为候选索引;
USE rsb INDE ON 姓名 TAG xm DESC LIST INDE ON 出生日期 TAG csrq UNIQ LIST INDE ON 职称 +DTOC( 出生日期 ) TAG zccsrq; DESC CAND LIST
34茂名职业技术学院
【相关知识】索引的应用: 快速查找记录 需要建立索引的查找: FIND 、 SEEK 不需要建立索引的查找: LOCA FIND 查找: 查找关键字段与所给常量表达式的值相符合的第
一个记录,若找到,指针指向该记录;否则指向文件尾。
格式: FIND <常量表达式 > 功能:在当前索引中快速查找并定位到与查找内容相匹配的记录。
说明:见书。
35茂名职业技术学院
SEEK 查找: 查找关键字段与所给表达式的值相符合的第一个记录,若找到,指针指向该记录;否则指向文件尾。
格式: SEEK <表达式 > 功能:在当前索引中快速查找并定位到与查找内容相匹配的记录。
说明:见书
36茂名职业技术学院
[ 例 5.2]假设 GZJ.DBF 中有两个以上的讲师,并已按“职称”字段建立了索引,若 abc=“讲师”,分别用 FIND 、 SEEK 两种方法查找第一个讲师。
用 FIND查找: ABC=‘讲师’ USE GZJ SET ORDE TO TAG ZC FIND &ABC DISP用 SEEK 查找: ABC=‘讲师’ USE GZJ SET ORDE TO TAG ZC SEEK ABC DISP
由此例看出 :
FIND查找的是常量 ,
SEEK 查找的是表达式。
37茂名职业技术学院
5.3.2 表间关系1.关系的类型 ( 1)永久关系: 在数据库表之间建立的一种关系,这种关系不仅在运行时存在,而且一直保留。
永久关系是数据库表间的关系,它们存储在数据库文件中。
永久关系不能控制相关表中记录指针的移动。( 2)临时关系: 在任意表之间建立的一种关系,自由表之间只能建
立临时关系,表一旦被关闭,则临时关系不存在。 在建立表间的临时关系之后就会使得一个表(子
表)的记录指针自动随另一个表(父表)的记录指针移动而移动。
38茂名职业技术学院
2.父表和子表 父表:一对一或一对多的表关系中的主表或主控表。 子表:一对一或一对多的表关系中的相关表或受控 (跟随)表。 在临时关系中,父表中记录指针的移动将导致子
表中的当前记录指针也依据建立的关系而随之移动。 在永久关系中,由子表建立的索引类型决定两表
之间是一对一还是一对多的关系。若所建索引为主索引或候选索引,则为一对一;若所建索引为普通索引,则为一对多。
39茂名职业技术学院
3. 建立表间永久关系( 1)在数据库表间建立永久关系必须注意的事项 ①只能在数据库表间建立永久关系。 ②两表必须就共同的字段建立索引,且父表索引类型
必须为主索引或候选索引。 ③所建关系的类型依据子表索引类型而定。( 2)建立表间永久关系 在“数据库设计器”中,用鼠标从一个表的主索
引或候选索引拖到另一个表的任一索引,当出现表间关联连线时就表示关系已建立。用鼠标右键单击连线,弹出快捷菜单,可以进行删除关系、编辑关系和编辑参照完整性操作。
40茂名职业技术学院
一对一关系连线
一对多关系连线
41茂名职业技术学院
5.3.3 数据完整性1.实体完整性与主关键字 实体完整性是保证表中实体(即记录)惟一的特
性,即在一个表中不允许有重复的记录。在 VFP 中利用主关键字或候选关键字来保证表中记录惟一。
2.域完整性与约束规则 域完整性是表中域(即字段)的特性。对字段的限定都认为是域完整性的范围,如字段的类型、字段的宽度和字段的有效性规则等。
实体完整性和域完整性通过后面讲述的表的数据字典进行设置。
42茂名职业技术学院
3. 参照完整性 参照完整性是控制数据库中不同表的主关键字和外部关键字之间
数据一致性的关系规则。参照完整性则属于表间规则。 用户可以通过“参照完整性生成器”来进行规则设置,从而控制
相关表的更新、删除和插入记录的数据完整性。打开“参照完整性生成器”窗口 双击两表之间的连线,在“编辑关系”对话框中选定【参照完整
性】按钮。设置更新、删除、插入三个规则 更新规则:是指修改父表中关键字值时所使用的规则,包括级联、限制和忽略 3 种。
删除规则:是指删除父表中的记录时使用的规则,包括级联、限制和忽略 3 种。
插入规则:是指在子表中插入新的记录,或更新已存在的记录时所用的规则,包括限制和忽略 2 种。
43茂名职业技术学院
更新规则 删除规则 插入规则
级联
当父表中的关键字值被修改时,系统用新的关键字值更新子表中所有相关记录
当父表的记录被删除时,系统相应的删除子表中所有相关记录
限制
若子表有相关记录,则系统禁止父表中的关键字值被修改
若子表有相关记录,则系统禁止父表的记录被删除
若父表中不存在匹配的关键字值,则禁止在子表插入一个新记录或更新一个已存在的记录
忽略 允许更新 允许删除 允许插入
44茂名职业技术学院
在浏览 bmb 表时将计算机系的代码修改为“ A05”,则子表 rsb 中部门是计算机系的所有记录的部门代码字段值都被更新为“ A05”。
45茂名职业技术学院
任务的第 4点: 建立字段索引和表之间的关系: 在数据表 Y3-03A.dbf 中设置字段“民族代码”为主索
引, Y3-03B.dbf 中设置字段“报名序号”为主索引,设置字段“民族代码”为普通索引。 Y3-03C.dbf 中设置字段“报名序号”为主索引。
选择正确的关联字段,为表 Y3-03A.bf 与 Y3-03B.dbf建立一对多关系,为表 Y3-03B.dbf 与表 Y3-03C.dbf建立一对一关系。结果如样文 3-03B 所示。
操作: 先打开数据库,用表设计器建立各个表的索引。 按照要求建立数据库表的表间关系。
46茂名职业技术学院
任务的第 4点的操作示范: 修改数据库 X3_03;
用表设计器建立表的索引 ;
建立数据库表的表间关系 (拖曳 ) 。
47茂名职业技术学院
【本课小结】 1. 创建和使用数据库:菜单或工具钮,项目管理器,命令。 2. 数据库设计器的使用:添加表,删除表。 3. 编辑表的数据字典: 设置字段、表的有效性规则 编辑数据库的属性 4. 表索引的分类和建立表索引的方法: 分类: 主索引、候选索引、普通索引、惟一索引; 建立索引的方法: 表设计器、命令。 5. 建立表间关系的操作 : 拖曳。 6. 设置参照完整性的操作。 【作业】 上机 5(计算机高新考试第 3.3 题 )
返回本课目录