数据库及其应用.ppt

上传人:牧羊曲112 文档编号:5270359 上传时间:2023-06-21 格式:PPT 页数:39 大小:244.99KB
返回 下载 相关 举报
数据库及其应用.ppt_第1页
第1页 / 共39页
数据库及其应用.ppt_第2页
第2页 / 共39页
数据库及其应用.ppt_第3页
第3页 / 共39页
数据库及其应用.ppt_第4页
第4页 / 共39页
数据库及其应用.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《数据库及其应用.ppt》由会员分享,可在线阅读,更多相关《数据库及其应用.ppt(39页珍藏版)》请在三一办公上搜索。

1、数据库及其应用,第4章 数据库及表的操作,第4章 数据库及表的操作,创建数据库及表;表的基本操作;表的排序与索引;表数据的统计汇总;数据库表间的关系与参照完整性;表之间的关联。,4.1 创建数据库及表,数据库:数据库是一个容器,通过一组系统文件将相互联系的数据库表及其相关的数据库对象进行统一的组织和管理,使它们成为相互关联的数据集合。数据库将有关信息存放在扩展名为.DBC的文件及附属文件中。表:关系模型中的关系在Visual FoxPro中称为表(Table),一个表以一个文件的形式保存(扩展名.DBF)。VFP 中的表分为两种:数据库表和自由表。创建表包括建立表结构和输入记录。建立数据库,先

2、做好设计:文件夹、数据库文件名、各表名及字段定义等,然后依次创建数据库和表。,创建数据库,建立数据库有菜单方式和命令方式。菜单方式:“文件”“新建”“文件类型”中选“数据库”“新建文件”“创建”“保存”。命令方式:CREATE DATABASE 打开数据库:一个已建数据库每次操作前应打开。菜单方式:“文件”“打开”选择文件“打开”;命令方式:OPEN DATABASE EXCLUSIVE|SHAREDNOUPDATE指定当前库:SET DATABASE TO 编辑数据库:MODIFY DATABASE,创建表,用数据库设计器建立表:打开数据库和数据库设计器,选择“数据库”或快捷菜单的“新建表”

3、;打开创建对话框,选择存放目录输入文件名,“保存”,此时打开表设计器。建立表命令:首先打开要建立表的数据库,然后输入创建表的命令(表文件扩展名.DBF可省略)。CREATE|?定义M型、G型字段自动生成与表同名的备注文件(.FPT)。若创建表前指定当前数据库,则创建的表将作为数据库表,否则作为自由表。许多数据库表的功能在自由表中不能使用。表设计器中定义字段名、类型、宽度、小数位、索引、检验规则等;,数据库表与自由表,自由表不能建立字段级和记录级的规则及约束等。,自由表的字段名最长为10个字符,数据库表字段名最长为128个字符,可以有128个字符的长表名。自由表可加入数据库成为数据库表,数据库表

4、也可移出数据库而成为自由表。数据库设计器中选择“添加表”,然后从“打开”对话框中选择要添加到当前数据库的自由表;添加命令:ADD TABLE NAME 数据库设计器中选中表选择“移去”变成自由表。若选择“删除”,将表移出并从磁盘上删除该表文件。移出命令:REMOVE TABLE DELETE,4.2 表的基本操作,定义好的表可以进行以下的基本操作:表的打开与关闭;指定表的记录(当前记录);表记录的显示;表记录的输入、修改、删除;表的排序、索引、检索;表中数据的统计运算;数据库表建立联系,实现参照完整性;多表关联操作。,表的打开与关闭,表的打开:建好的表存放在磁盘上,使用表首先要将表调入内存,这

5、称为表文件的打开。每个表在内存中占用一块区域,即文件工作区。可同时打开多个表,内存事先划分为多个文件工作区并从1开始编号,最多32767区。前10个区还可以使用区的别名AJ。一个区最多打开一个表。每一时刻,VFP总是位于某个工作区,即当前工作区,绝大部分命令都是针对当前区的表进行操作。VFP刚进入时当前区是第1区。选区命令:SELECT|打开表命令:USE ALIAS 关闭表命令:USE|CLOSE DATABASE|CLEAR ALL,记录与记录指针及定位,VFP传统操作以记录为单位。表中记录从1开始连续编号。操作数据时先进行记录定位。用“记录指针”作标识,指针指向的记录为当前记录。记录定位

6、就是移动指针指向新当前记录。表刚打开时,记录指针总是指向首记录。函数 RECNO()求当前记录号,EOF()、BOF()用于判断指针是否指向表的首尾。指针定位方式:绝对定位、相对定位和条件定位。绝对定位:命令中指明记录号。GOTO TOP|BOTTOM|相对定位:以当前记录为基准,指出上下位移数。SKIP 条件定位:指针定位在满足给定条件的记录上。LOCATE FOR/CONTINUE,关于操作表命令的说明,VFP的表由记录、字段组成,以记录为单位。因此,表处理命令的一般格式如下:命令名 FIELDS FORWHILE命令名:表示命令的操作功能。用动词或缩写形式。记录范围:确定命令所操作的记录

7、范围。4种情况:ALL 所有记录 NEXT 当前记录开始N个记录 RECORD 第N条记录 REST 当前记录到尾记录 缺省范围子句,默认为ALL或默认为当前记录。FIELDS子句:指定操作的字段,逗号相隔。可缺省。FOR 和 WHILE 子句:按条件筛选记录。注意命令书写要求。,显示表、修改表结构,显示记录:LIST|DISPLAY FOR FIELDS TO FILE|TO PRINT OFF LIST和DISPLAY的区别:缺省范围,LIST显示所有记录,DISPLAY显示当前记录;显示的记录超出一屏时,LIST为连续滚动显示,DISPLAY为分屏显示。窗口浏览:BROWSE指定字段:?

8、字段名,显示表结构:LIST|DISPLAY STRUCTURE修改表结构:MODIFY STRUCTURE,增加、修改、修改表记录,插入记录:INSERT BLANK BEFORE追加记录:APPEND BLANK APPEND FROM 交互式修改记录:EDIT|CHANGE(为保持兼容)替换修改:REPLACE WITH ADDITIVE,FOR 删除和恢复记录:记录删除操作分逻辑删除和物理删除两步:逻辑删除对要删除的记录加删除标记;物理删除将带删除标记的记录真正删除。逻辑删除的记录,可以去掉删除标记从而恢复为正常记录。,删除表记录相关命令和函数,逻辑删除记录:DELETE FOR 删除

9、标记检测:函数 DELETED()检测当前记录是否做了删除标记,.T.表示有标记,.F.未做标记。物理删除记录:PACK 恢复记录:RECALL FOR 上述命令中缺省“范围”(无条件)表示当前记录。逻辑删除生效设置:SET DELETED ON|OFF清除表:ZAP(清除表中全部记录,保留表)ZAP命令等价于:DELETE ALL/PACK的功能,因此VFP在清表前要询问。打开SET SAFE开关(ON)将取消询问而直接清表。,复制表文件,防止数据丢失损坏或其他原因,表需要备份或复制。表结构复制:COPY STRUCTURE TO FIELDS WITH CDX表文件复制:COPY TO F

10、OR FIELDS LIKE|EXCEPT|FIELDS 其它参数 任何文件复制:COPY FILE TO,4.3 表的排序与索引,记录的物理顺序:记录的编号顺序。表记录按输入的先后排列编号。若要以另一种与原表物理顺序不同的顺序来处理记录,便须对表进行排序或索引。排序:排序是根据表的某些字段值的大小顺序重排记录。排序产生重新排列记录顺序的新表,但原来的表文件不变。排序方法的效率不高,实用性较差。排序命令:SORT TO ON/A|/D/C,/A|/D/C FOR|WHILE FIELDS,9.索引与索引文件,索引是使记录按某个或某些字段值有序,但不改变记录物理顺序的方法,使记录有序的字段表达式

11、称为索引项(关键字)。索引方法建立一个专门存放索引项的文件,在该文件中保存索引项的逻辑顺序,并通过记录指针指向对应物理记录。存放索引的为索引文件。建立索引的目的:使记录有序;快速定位记录指针;建立主索引实现主键的作用;建立表的联系必须使用索引;用于提高处理速度。,索引文件概述,在索引文件中,索引项的值可按升序(Ascending)或降序(Descending)排列,每个值对应于表中的一个记录号,这样便确定了物理记录的逻辑顺序。可以对同一个表创建和使用不同的索引关键字。创建索引就是创建一个由指向相应表记录的指针构成的文件。VF的索引文件有单项索引与复合索引两种。复合索引又分为结构复合索引和非结构

12、复合索引两类。使用最多的是结构复合索引。,索引文件分类,VFP的索引文件有单项索引与复合索引两种。复合索引又分为结构复合索引和非结构复合索引两类。使用最多的是结构复合索引。单项索引:一个索引文件中只存放一个索引项,文件扩展名.IDX;复合索引:一个索引文件中存放多个索引项,每个索引项有一个名称(TAG),文件扩展名.CDX,非结构复合索引文件有用户命名。结构复合索引文件名与表文件同名。,复合索引文件示意,索引类型,主索引:不允许重复值、只能数据库表中使用,主要用在参照完整性检测中;每个表最多一个;候选索引:不允许重复值,可定义多个;普通索引:定义记录的逻辑顺序。,建立索引的操作,建立主索引命令

13、:ALTER TABLE ADD PRIMARY KEY TAG 标识建立其它索引命令:INDEX ON TAG 选项 不同的选项决定产生不同形式的索引。索引项可以是一个字段、或多个字段的组合;也可以是表达式;在表设计器中建立。,使用索引,索引文件的打开:索引文件只有与库文件同时打开才能发挥作用。结构复合索引在打开表时是自动打开的。其它索引用命令打开。USE 库文件 INDEX 索引1,索引2,(同时)SET INDEX TO索引1,索引2,(以后)关闭:关闭表时关闭该表打开的索引。SET INDEX TO指定发挥作用的主控索引:SET ORDER TO 索引名|数值,删除索引与索引更新,删除

14、索引:ALTER TABLE 表名 DROP PRIMARY KEY DELETE TAG ALL|索引名1|索引更新:1.自动更新:打开的索引在表修改关键值时 会自动更新索引;2.按原索引项重新索引:REINDEX,数据快速定位,传统查询的意义:传统操作以记录为单位,查询是指将指针定位在满足条件的记录上。顺序定位:在表文件中检索定位。命令:LOCATE 范围 检索条件 CONTINUE索引定位:在索引文件中检索定位。命令:(1)SEEK(2)FIND,4.4 表数据的统计汇总,记录记数:统计满足条件的记数。COUNT 范围 条件 TO 内存变量求和命令:对指定的数值字段求和。SUM 范围 指

15、定求和项 条件 TO 变量表求平均值:对指定的数值字段求平均值。AVERAGE 范围 指定项 条件 TO 变量表分类汇总:按指定项的值相等的原则分别求和;须先对指定项建索引。分类汇总的结果保存在与原库文件相同结构的汇总文件中。TOTAL TO 求和文件 ON 分类项 其它选项,4.5 数据库表之间的关系与参照完整性,VFP中在数据库表之间可以实现数据完整性的功能。首先定义数据库,然后定义数据库中各表,通过指定主索引,VFP将对主索引的字段按实体完整性的要求对待;在主键和外键(都必须建立索引)间建立联系可以自动实现参照完整性;通过触发器和有效性规则的设定实现域完整性和用户定义的完整性。这些功能都

16、由DBMS自动实现。,4.6 多表操作与表之间的关联,多工作区操作:进行多表同时处理时,必须在多个工作区将涉及的多个表同时打开。但同一时刻只有一个区是当前工作区,大部分命令只针对当前区中的表。函数SELECT()返回当前区的区号。为了使某个区变成当前工作区,要使用选区命令:SELECT|的范围是1到32767。SELECT 0选定当前尚未使用的最小编号的工作区为当前区。可以使用表的别名代表所在区(推荐)。当一个表在一个区打开,表名称同时作为这个区的别名,若打开表时使用了ALIAS定义别名,则不用表的本名而是用别名作为区的别名。另外,前l0个区还依次用AJ十个字母来作为区的别名。,数据工作期,数

17、据工作期是一个用来设置数据工作环境的交互操作窗口,所设置的环境包括打开的表及其索引,选择当前表(工作区),多个表之间的关联等状态。数据工作期打开:菜单方式:“窗口”菜单的“数据工作期”命令,打开“数据工作期”窗口。单击关闭按钮,或“文件”菜单“关闭”项关闭窗口。命令方式:SET 或 SET VIEW ON 打开;SET VIEW OFF,关闭“数据工作期”。,表之间的关联,引用其它工作区表的当前记录字段值。格式:.或-关联是使多个表协调处理的一种方法。每个打开的表都用记录指针指示当前记录,它们相互独立的。所谓关联,就是将不同工作区的记录指针建立临时的联动关系,使一个表的记录指针移动时另一个表的

18、记录指针能随之移动。表之间的关联与数据库表之间的永久关系不同,它是一种临时关系,每次都需要重新建立。无论自由表或数据库表,都可以建立关联。,建立关联,建立关联的两个表,一个为主动表,也称为父表;另一个为被动表,也称为子表。在执行涉及这两个表数据的命令时,父表记录指针的移动,会使子表记录指针自动移到满足关联条件的记录上。反之,子表记录指针的移动不会带动父表记录指针的移动。建立关联命令:SET RELATION TO 关联字段 INTO 子表,课后练习与上机实践,1。完成习题四;2。完成指定实验,写出实验报告。3。重点理解数据库及表的创建,记录的不同输入方法,记录指针,当前记录,索引等。,已经学习

19、重要概念汇编,数据库系统,数据库设计,三个世界;数据模型,ER模型,ERD,实体与属性,联系关系模型,元组,属性,主键,外键,关系运算,数据完整性规则;数据库,数据库文件,表,记录,字段,数据类型,各种类型及其表示符号,常量,变量,运算符,函数,表达式,命令,记录指针,记录范围,条件,索引工作区,文件的打开与关闭数据库的操作:更新(增加、删除、修改),查询。数据库完整性的实现。,已经学习命令汇编(1),退出VFP:QUIT清窗口:CLEAR赋值命令:STORE 表达式 TO 变量表 变量=表达式显示值:?|?表达式表设置缺省路径:SET DEFAULT TO 路径有关日期SET命令:SET D

20、ATE/STRICTDATE显示内存变量:LIST|DISPLAY MEMORY,命令汇编(2),创建数据库:CREATE DATABASE 数据库名打开数据库:OPEN DATABASE 数据库名指定当前库:SET DATABASE TO 编辑数据库:MODIFY DATABASE 选区:SELECT 区号|别名创建:CREATE 表文件名.DBF追加:APPEND BLANK打开:USE 文件ALIAS 别名INDEX 索引关闭:USE|CLOSE DATABASE|CLOSE ALL,命令汇编(3),显示结构:LIST|DISPLAY STRUCTURE修改结构:MODIFY STRUC

21、TURE指针定位;GO TOP|BOTTOM|记录号相对定位:SKIP 数值条件定位:LOCATE FOR 条件记录函数:RECNO()、BOF()、EOF();记录范围:ALL、NEXT n、REST、RECORD n显示:LIST|DISPLAY 范围 字段表 条件浏览、维护库文件:BROWSE,命令汇编(4),插入记录:INSERT BEFOREBLANK逻辑删除:DELETE FOR 条件 逻辑删除生效开关:SET DELETED ON|OFF恢复:RECALL FOR 条件 物理删除:PACK清库:ZAP编辑修改:EDIT|CHANGE替换修改:REPLACE 范围 字段 WITH

22、表达式,字段 WITH 表达式,FOR 条件,命令汇编(5),排序:SORT TO ON/A/D/C,范围 字段表 条件建索引:INDEX ON TAG 打开索引:USE 文件 INDEX 索引1,索引2,SET INDEX TO 索引1,索引2,关闭:SET INDEX TO CLOSE INDEX指定主索引:SET ORDER TO 索引名|数值重新索引:REINDEX,命令汇编(6),顺序查询:LOCATE 范围 检索条件 CONTINUE索引查询:SEEK 记录记数:COUNT 范围 条件 TO 变量求和:SUM 范围求和项条件TO 变量表求平均:AVERAGE 范围 指定项 条件 TO 变量表分类汇总:TOTAL TO 文件 ON 分类项 选项,*命令汇编(7),复制:COPY TO 库文件名结构复制:COPY STRUCTURE TO 文件复制:COPY FILE 源文件 TO 目标文件关联:SET RELATION TO 关键字 INTO 别名连接:JOIN WITH TO FIELDS FOR 更新:UPDATE ON 字段 FROM 别名 REPALCE 字段 WITH 表达式 RANDOM,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号