47
1 茂茂茂茂茂茂茂茂 授授 -5 授授授授授(一) 5.1 茂茂茂茂茂 5.2 茂茂茂茂茂茂茂 5.3 茂茂茂茂茂茂茂茂茂茂

授课 -5 数据库管理(一)

  • Upload
    aggie

  • View
    74

  • Download
    0

Embed Size (px)

DESCRIPTION

授课 -5 数据库管理(一). 5.1 创建数据库 5.2 数据字典的编辑 5.3 建立表索引与表间关系. 任务(高新考试第 3.3 题): 将 C:\2006vfp\Unit3 文件夹中的文件夹 Y3-03 复制到考生文件夹中,重命名为 “ X3-03 ” ,然后新建项目管理器,并命名为 “ 项目 3-3 ” ,保存在文件夹 X3-03 中完成下列操作。 1. 建立数据库 在 “ 项目 3-3 ” 中新建数据库 “ X3-03.dbc ” ,保存到文件夹 X3-03 中; - PowerPoint PPT Presentation

Citation preview

Page 1: 授课 -5   数据库管理(一)

1茂名职业技术学院

授课 -5 数据库管理(一)

5.1 创建数据库

5.2 数据字典的编辑

5.3 建立表索引与表间关系

Page 2: 授课 -5   数据库管理(一)

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代表汉族”。

Page 3: 授课 -5   数据库管理(一)

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 所示。

Page 4: 授课 -5   数据库管理(一)

4茂名职业技术学院

样文 3-03A

样文 3-03B

Page 5: 授课 -5   数据库管理(一)

5茂名职业技术学院

5.1 创建数据库

【学习目标】 创建数据库的基本操作

【关键概念】 建立数据库 添加数据库表

Page 6: 授课 -5   数据库管理(一)

6茂名职业技术学院

【授课】5.1.1 建立数据库VFP 提供了 3种建立数据库的方法: 1. 用项目管理器 在 [数据 ]选项中选择 [数据库 ],然后点击[新建 ]钮,打开“新建”对话框,如下图所示 ,点击 [新建文件 ]钮。

Page 7: 授课 -5   数据库管理(一)

7茂名职业技术学院

2. 菜单方式 在 [ 文件 ] 菜单

中选择 [ 新建 ] 命令,或单击 [ 常用 ] 工具栏中的 [ 新建 ] 按钮,打开“新建”对话框,如右图所示。

Page 8: 授课 -5   数据库管理(一)

8茂名职业技术学院

3. 命令方式 格式: CREATE DATABASE [ 数据库名/? ] 功能:创建一个数据库并打开它。 若命令中包含可选项或可选项选择了“?”,则系统显示一个对话框,请求用户指定新数据库的存取路径和名称。 [ 例如 ] 建立 cjk.dbc 的命令如下: CREA DATA cjk

Page 9: 授课 -5   数据库管理(一)

9茂名职业技术学院

【相关知识】5.1.2 使用数据库 1. 打开数据库 打开数据库的方式有三种: • 通过“项目管理器”打开 • 通过“打开”对话框打开 • 使用命令打开 格式: OPEN DATABASE [[EXCLUSIVE/SHARED]; [NOUPDATE][VALIDATE]] [ 例 ]打开数据库 cjk.dbc 的命令如下: OPEN DATA cjk

Page 10: 授课 -5   数据库管理(一)

10茂名职业技术学院

2. 指定当前数据库: • 使用命令 VFP 可以打开多个数据库,但在同一时刻只有一个

当前数据库。 命令: SET DATABASE TO 数据库名 • 使用工具栏 通过“常用”工具栏上的数据库下拉列表选择

Page 11: 授课 -5   数据库管理(一)

11茂名职业技术学院

3. 修改数据库 修改数据库实际上是打开数据库设计器进行修改 • 通过“项目管理器”打开 • 通过“打开”对话框打开 • 使用命令 格式: MODIFY DATABASE [ 数据库名 /? ][NOWAI

T];[NOEDIT] 参数说明: NOWAIT :打开数据库设计器后继续执行程序 (只在程序中使用,在命令窗口中无效) NOEDIT :禁止对数据库进行修改

Page 12: 授课 -5   数据库管理(一)

12茂名职业技术学院

4. 关闭数据库 命令格式: CLOSE DATABASE5. 删除数据库 • 使用项目管理器中“移去”按钮 注:此种方法只删除数据库,对库中的表及其他对象不进行删除

• 使用命令 格式: DELETE DATABASE [ 库文件名 /? ]; [DELETETABLES][RECYCLE]参数说明: DELETETABLES :删除该数据库中所含的表文件

RECYCLE :将删除的文件放入回收站中

Page 13: 授课 -5   数据库管理(一)

13茂名职业技术学院

任务的第 1点: 在“项目 3-3”中新建数据库“ X3-03.dbc”,保存到

文件夹 X3-03 中; 将表 Y3_03A.dbf 、 Y3_03B.dbf 、 Y3_03C.dbf 添加到数

据库 X3-03.dbc 中。操作: 先打开项目管理器“项目 3-3”,在 [ 数据 ] 选项中选

择 [ 数据库 ] ,然后点击 [ 新建 ] 钮,打开“新建”对话框,

点击 [ 新建文件 ] 钮。 在建立好的数据库中,再点击 [添加 ],添加各数据表。

Page 14: 授课 -5   数据库管理(一)

14茂名职业技术学院

5.2 数据字典的编辑【学习目标】 数据字典的编辑操作

【关键概念】 数据字典 有效性规则

Page 15: 授课 -5   数据库管理(一)

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

Page 16: 授课 -5   数据库管理(一)

16茂名职业技术学院

【授课】5.2.1 数据字典的编辑1. 进入表设计器 ( 1)使用项目管理器 ( 2)使用数据库设计器 ( 3)使用命令

数据字典

Page 17: 授课 -5   数据库管理(一)

17茂名职业技术学院

【相关知识】 显然,与自由表相比,数据库表的表设计器多了

数据字典等内容。

数据字典 数据字典就是包含数据库中所有表信息的一个表。

存储在数据字典中的信息称之为元数据,包括长表名、长字段名、有效性规则、触发器,表间永久关系以及数据库对象的定义等。

使用数据字典,可以设置字段级和记录级的有效性检查,保证主关键字字段内容的唯一性。

Page 18: 授课 -5   数据库管理(一)

18茂名职业技术学院

“ 格式”文本框中输入格式化代码,确定该字段在浏览窗口、表单和报表中显示的格式,它是对字段格式进行整体控制的。 字段级规

则设置

“ 输入掩码”文本框中键入掩码代码,输入掩码是按位来控制格式的。

显示的标题改为自己希望的标题

字段有效性规则就是用于数据输入正确性的检验。

说明该字段的用途、特性、使用说明等补充信息

字段有效性信息是用于数据检验发现不符合规则显示的信息。

Page 19: 授课 -5   数据库管理(一)

19茂名职业技术学院

2. 设置字段级规则 (重点 ) 字段级规则主要包括:显示属性、字段有效性和字段注

释等。( 1)设置字段显示属性 格式:指定字段在浏览窗口、表单或报表中显示和输入

数据的样式; 输入掩码:用以限制或控制用户输入数据的格式,对非

法输入进行屏蔽; 标题:该字段在显示时的名称,可达 128个字符。( 2)对字段进行有效性检验 字段有效性检查是在完成特定字段的数据项输入后,系

统自动检查所输入的数据项是否符合规则( 3)匹配字段类型

Page 20: 授课 -5   数据库管理(一)

20茂名职业技术学院

( 4)为字段输入注释( 5)设置记录的有效性规则

( 6)设置触发器

Page 21: 授课 -5   数据库管理(一)

21茂名职业技术学院

3. 设置记录级规则记录级规则主要包括记录有效性、触发器的设置和表注释。

“ 教授的基本工资要≥ 1650 元,其他职工为:550≤ 基本工资≤ 3000"

职称 =" 教授 ".AND. 基本工资 >=1650.OR. 职称 #" 教授 ".AND.( 基本工资 =>550.

AND. 基本工资 <=3000)

每逢星期一才可做插入、追加、更新和删除记录的操作:CDOW(DATE())="Monday"

Page 22: 授课 -5   数据库管理(一)

22茂名职业技术学院

任务的第 2、 3点操作示范:2. 设置字段属性:( 2分) 选 Y3_03A.DBF ,进入表设计器;选“字段”选项,选“民

族代码”字段;在“默认值”内输入 “ 01” ; “字段注释”内输入“ 01

代表汉族” 3. 设置表属性:( 4分) 选 Y3_03B.DBF ,进入表设计器;选“表”选项,在表注释内输入“该表为考生报名表”;

选“字段”选项,选“民族代码”字段,在字段有效性的规则内输入…… ;

“信息”内输入字符: " 民族代码的值必须用 01 、 02 、 03 或 04 代表,请重新输入 "

Page 23: 授课 -5   数据库管理(一)

23茂名职业技术学院

5.3 建立表索引和表间关系【学习目标】 建立表索引和表间关系数据库的操作

【关键概念】 索引的种类 索引的建立和应用 表间永久关系的建立

Page 24: 授课 -5   数据库管理(一)

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

Page 25: 授课 -5   数据库管理(一)

25茂名职业技术学院

【授课】5.3.1 索引 1. 基本概念 索引是按索引表达式使数据表中的记录有序地进行逻辑排列的技术。索引不改变当前数据表记录的物理顺序,而是建立一个与数据表相对应的索引文件。

• 按文件扩展名分为 2类: 单索引文件( *.IDX )和复合索引文件( *.CDX )

• 按索引功能分为 4类: 主索引、候选索引、普通索引和惟一索引。

Page 26: 授课 -5   数据库管理(一)

26茂名职业技术学院

• 按文件结构形式分为 2类: ①结构复合索引文件:复合索引文件名与表名相

同,打开表时,索引文件将自动打开。 ②非结构复合索引(独立索引)文件:复合索引

文件名与相关表不同(扩展名仍为 .CDX )。 我们把表中记录实际排列次序称为物理顺序,此顺序在输入记录时已确定;把由索引决定的顺序称为逻辑顺序或索引顺序。因此,索引只是改变了记录的逻辑顺序。

Page 27: 授课 -5   数据库管理(一)

27茂名职业技术学院

2. 简单索引的建立 用表设计器建立索引(见后) 用命令建立索引 格式: INDEX ON <关键字表达式 > TO 索引文件名; [.IDX][UNIQUE][FOR 条件 ][COMPACT] 功能:给当前表中符合条件的记录按给定的关键字表达式建立索引文件。

参数说明: UNIQUE :表示建立惟一索引; COMPACT :表示建立一个压缩的 .IDX 索引文件。注意:目前,简单索引已很少使用。

Page 28: 授课 -5   数据库管理(一)

28茂名职业技术学院

3. 简单索引的打开与关闭 • 索引的打开: 格式 1: USE <表名 > INDEX <索引文件名清单 > 功能:打开表的同时打开多个表 格式 2: SET INDEX ON <索引文件名清单 > 功能:先打开数据表,然后才打开单索引文件 • 索引的关闭: 格式: SET INDEX TO

Page 29: 授课 -5   数据库管理(一)

29茂名职业技术学院

4. 复合索引的建立 在表设计器中建立索引(结构复合索引)

在“索引名”文本框中输入索引标识

在“类型”列表框中,选定索引类型

在“表达式”文本框中,输入索引关键字表达式

向上箭头为升序索引,向下箭头为降序索引

如果需要,可输入筛选条件表达式

Page 30: 授课 -5   数据库管理(一)

30茂名职业技术学院

用命令建立索引 格式: INDEX ON 关键字表达式 TAG 索引标记; [OF 独立索引文件名 ][FOR 条件 ]; [ASCENDING/DESCENDING][UNIQUE] ; [CANDIDATE][ADDITIVE] 功能:对当前表按给定的关键表达式建立索引。 参数说明: OF 独立索引文件名:缺省此项,则建立结构复合索引,文

件名同表名,扩展名为 .CDX FOR 条件:只索引符合条件的记录。 ASCENDING/DESCENDING:说明建立升序或降序,默认升序。 CANDIDATE :建立候选索引。 ADDITIVE :关闭以前的索引,使新建立的索引成为当前索

引。

Page 31: 授课 -5   数据库管理(一)

31茂名职业技术学院

5. 主控索引的设置 若同时打开多个索引,则有一个起着主要作用,它决定着表的当前逻辑顺序,这个索引称为主控索引。

格式: SET ORDER TO <数值表达式 >或 <索引文件名 >

6. 删除索引 格式: DELETE TAG 索引标识 [OF 非结构索引文件名 ]

功能:删除指定的索引。

Page 32: 授课 -5   数据库管理(一)

32茂名职业技术学院

7. 复合索引打开与关闭 结构复合索引文件随表的打开而自动打开,非结构复合

索引文件的打开、关闭同简单索引文件,使用命令: 格式 1: USE 表名 INDEX 独立复合索引文件名表 功能:打开表同时打开索引。 格式 2: SET INDEX TO 非结构复合索引文件名表 功能:单独打开索引。 格式 3: SET ORDER TO <TAG 索引标识 /数值表达式 > 功能:指定主控索引。

Page 33: 授课 -5   数据库管理(一)

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

Page 34: 授课 -5   数据库管理(一)

34茂名职业技术学院

【相关知识】索引的应用: 快速查找记录 需要建立索引的查找: FIND 、 SEEK 不需要建立索引的查找: LOCA FIND 查找: 查找关键字段与所给常量表达式的值相符合的第

一个记录,若找到,指针指向该记录;否则指向文件尾。

格式: FIND <常量表达式 > 功能:在当前索引中快速查找并定位到与查找内容相匹配的记录。

说明:见书。

Page 35: 授课 -5   数据库管理(一)

35茂名职业技术学院

SEEK 查找: 查找关键字段与所给表达式的值相符合的第一个记录,若找到,指针指向该记录;否则指向文件尾。

格式: SEEK <表达式 > 功能:在当前索引中快速查找并定位到与查找内容相匹配的记录。

说明:见书

Page 36: 授课 -5   数据库管理(一)

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 查找的是表达式。

Page 37: 授课 -5   数据库管理(一)

37茂名职业技术学院

5.3.2 表间关系1.关系的类型 ( 1)永久关系: 在数据库表之间建立的一种关系,这种关系不仅在运行时存在,而且一直保留。

永久关系是数据库表间的关系,它们存储在数据库文件中。

永久关系不能控制相关表中记录指针的移动。( 2)临时关系: 在任意表之间建立的一种关系,自由表之间只能建

立临时关系,表一旦被关闭,则临时关系不存在。 在建立表间的临时关系之后就会使得一个表(子

表)的记录指针自动随另一个表(父表)的记录指针移动而移动。

Page 38: 授课 -5   数据库管理(一)

38茂名职业技术学院

2.父表和子表 父表:一对一或一对多的表关系中的主表或主控表。 子表:一对一或一对多的表关系中的相关表或受控 (跟随)表。 在临时关系中,父表中记录指针的移动将导致子

表中的当前记录指针也依据建立的关系而随之移动。 在永久关系中,由子表建立的索引类型决定两表

之间是一对一还是一对多的关系。若所建索引为主索引或候选索引,则为一对一;若所建索引为普通索引,则为一对多。

Page 39: 授课 -5   数据库管理(一)

39茂名职业技术学院

3. 建立表间永久关系( 1)在数据库表间建立永久关系必须注意的事项 ①只能在数据库表间建立永久关系。 ②两表必须就共同的字段建立索引,且父表索引类型

必须为主索引或候选索引。 ③所建关系的类型依据子表索引类型而定。( 2)建立表间永久关系 在“数据库设计器”中,用鼠标从一个表的主索

引或候选索引拖到另一个表的任一索引,当出现表间关联连线时就表示关系已建立。用鼠标右键单击连线,弹出快捷菜单,可以进行删除关系、编辑关系和编辑参照完整性操作。

Page 40: 授课 -5   数据库管理(一)

40茂名职业技术学院

一对一关系连线

一对多关系连线

Page 41: 授课 -5   数据库管理(一)

41茂名职业技术学院

5.3.3 数据完整性1.实体完整性与主关键字 实体完整性是保证表中实体(即记录)惟一的特

性,即在一个表中不允许有重复的记录。在 VFP 中利用主关键字或候选关键字来保证表中记录惟一。

2.域完整性与约束规则 域完整性是表中域(即字段)的特性。对字段的限定都认为是域完整性的范围,如字段的类型、字段的宽度和字段的有效性规则等。

实体完整性和域完整性通过后面讲述的表的数据字典进行设置。

Page 42: 授课 -5   数据库管理(一)

42茂名职业技术学院

3. 参照完整性 参照完整性是控制数据库中不同表的主关键字和外部关键字之间

数据一致性的关系规则。参照完整性则属于表间规则。 用户可以通过“参照完整性生成器”来进行规则设置,从而控制

相关表的更新、删除和插入记录的数据完整性。打开“参照完整性生成器”窗口 双击两表之间的连线,在“编辑关系”对话框中选定【参照完整

性】按钮。设置更新、删除、插入三个规则 更新规则:是指修改父表中关键字值时所使用的规则,包括级联、限制和忽略 3 种。

删除规则:是指删除父表中的记录时使用的规则,包括级联、限制和忽略 3 种。

插入规则:是指在子表中插入新的记录,或更新已存在的记录时所用的规则,包括限制和忽略 2 种。

Page 43: 授课 -5   数据库管理(一)

43茂名职业技术学院

更新规则 删除规则 插入规则

级联

当父表中的关键字值被修改时,系统用新的关键字值更新子表中所有相关记录

当父表的记录被删除时,系统相应的删除子表中所有相关记录

限制

若子表有相关记录,则系统禁止父表中的关键字值被修改

若子表有相关记录,则系统禁止父表的记录被删除

若父表中不存在匹配的关键字值,则禁止在子表插入一个新记录或更新一个已存在的记录

忽略 允许更新 允许删除 允许插入

Page 44: 授课 -5   数据库管理(一)

44茂名职业技术学院

在浏览 bmb 表时将计算机系的代码修改为“ A05”,则子表 rsb 中部门是计算机系的所有记录的部门代码字段值都被更新为“ A05”。

Page 45: 授课 -5   数据库管理(一)

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 所示。

操作: 先打开数据库,用表设计器建立各个表的索引。 按照要求建立数据库表的表间关系。

Page 46: 授课 -5   数据库管理(一)

46茂名职业技术学院

任务的第 4点的操作示范: 修改数据库 X3_03;

用表设计器建立表的索引 ;

建立数据库表的表间关系 (拖曳 ) 。

Page 47: 授课 -5   数据库管理(一)

47茂名职业技术学院

【本课小结】 1. 创建和使用数据库:菜单或工具钮,项目管理器,命令。 2. 数据库设计器的使用:添加表,删除表。 3. 编辑表的数据字典: 设置字段、表的有效性规则 编辑数据库的属性 4. 表索引的分类和建立表索引的方法: 分类: 主索引、候选索引、普通索引、惟一索引; 建立索引的方法: 表设计器、命令。 5. 建立表间关系的操作 : 拖曳。 6. 设置参照完整性的操作。 【作业】 上机 5(计算机高新考试第 3.3 题 )

返回本课目录