第5章数据库的基本操作_第1页
第5章数据库的基本操作_第2页
第5章数据库的基本操作_第3页
第5章数据库的基本操作_第4页
第5章数据库的基本操作_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章数据库的基本操作,第章,数据库的基本操作,第5章数据库的基本操作,5.1 数据库的创建、打开、修改与删除,5.1.1 使用菜单操作方式 5.1.2 使用命令操作方式,第5章数据库的基本操作,5.1.1 使用菜单操作方式,1创建数据库 例1:新建一个学生成绩管理数据库,文件名为CJGL,保存在D:XSCJGLDB文件夹下。,第5章数据库的基本操作,2打开数据库,例2:打开D:XSCJGLDBCJGL.DBC数据库文件。,第5章数据库的基本操作,3修改数据库,当打开一个数据库文件时,其数据库设计器同时处于激活状态,可通过“数据库”菜单或快捷菜单中的命令对该数据库进行添加表、删除表或设置关系参

2、照完整性等操作,具体内容将在后面介绍。,第5章数据库的基本操作,4删除数据库,例3:将例1中创建在D:XSCJGLDB文件夹下的数据库文件CJGL删除。,若出现图5.6所示的错误提示时,表示要删除的文件正在使用,应先行关闭数据库,再执行删除操作。 关闭数据库的方法:在VFP的命令窗口中执行命令CLOSE DATABASES ALL,,第5章数据库的基本操作,5.1.2 使用命令操作方式,1以命令方式建立数据库 格式:CREATE DATABASE |? 例4:新建一个学生成绩管理数据库,文件名为CJGL,保存在D:XSCJGLDB文件夹下。 操作:如下图5.8所示,在命令窗口中输入CREATE

3、命令,按下Enter键。,第5章数据库的基本操作,2以命令方式打开数据库,格式: OPEN DATABASE |?EXCLUSIVE|SHAREDNOUPDATEVALIDATE 例5: 以独占和只读方式打开存放在D:XSCJGLDB文件下的数据库文件CJGL.DBC。 操作:在命令窗口中,执行下面的命令即可。 OPEN DATABASE D:XSCJGLDBCJGL EXCLUSIVE NOUPDATE,第5章数据库的基本操作,3以命令方式设置当前数据库,设置当前数据库,可使用下面的SET命令。 如SET DATABASE TO CJGL,表示将CJGL.DBC设置为当前数据库。 格式:SE

4、T DATABASE TO 功能:指定已打开的某一数据库为当前数据库。 说明:如果省略数据库名,将取消当前数据库的设置,即所有打开的数据库均不为当前数据库。,第5章数据库的基本操作,4以命令方式关闭数据库,格式:CLOSE DATABASESALL 功能:关闭当前数据库和它包含的表; 若没有当前数据库,将关闭所有工作区中打开的自由表和索引; 若命令中包含ALL选项,将关闭所有打开的数据库及其包含的表,并关闭相关的索引文件和格式文件。,第5章数据库的基本操作,5以命令方式修改数据库,格式:MODIFY DATABASE |? 功能:激活数据库设计器。 说明:如果省略数据库名或使用?号,将会弹出“

5、打开”对话框以指定数据库。 例如,修改数据库CJGL.DBC,可使用下面的命令: MODIFY DATABASE CJGL.DBC,第5章数据库的基本操作,6以命令方式删除数据库,格式:DELETE DATABASE DELETETABLES 功能:将指定的数据库文件从磁盘上删除。 说明:如果命令中包含DELETETABLES可选项,则指定在删除数据库的同时,将该数据库中的表文件也删除;否则,只删除指定数据库,并将其包含的表变为自由表。 例如:DELETE DATABASE CJGL 表示将名为CJGL的数据库从磁盘上删除,该数据库中所包含的表则变为自由表。 DELETE DATABASE C

6、JGL DELETETABLES 表示将名为CJGL的数据库及其所包含的表一同从磁盘上删除。,第5章数据库的基本操作,5.2 数据库与表,5.2.1 数据库、表与自由表 1数据库 执行下面的两条命令,将弹出图5.10所示的窗口: USE CJGL.DBC &打开数据库文件CJGL.DBC, 扩展名.DBC不能省略 BROWSE &浏览表内容,第5章数据库的基本操作,2表与自由表,表是基本的数据组织单位,对数据管理的核心是对表的管理,表是按一定结构组织起来的。根据表是否属于数据库,可将表分为数据库表和自由表。通常将数据库表简称为表。,第5章数据库的基本操作,3数据库与表,第5章数据库的基本操作,

7、5.2.2 在数据库中建立表,例6:在已创建的D:XSCJGLDBCJGL.DBC数据库中建立学生信息表XSXI.DBF(表的结构参见第四章),要求存储在D:XSCJGLDBTABLES文件夹下。,第5章数据库的基本操作,5.2.3 向数据库添加自由表,例7:将自由表KCXI.DBF添加到CJGL.DBC数据库中。,第5章数据库的基本操作,5.2.4 将数据库表删除或移去,1移去表 例8:将XSXI.DBF表文件从CJGL.DBC数据库移去。,第5章数据库的基本操作,2将表删除,例9:将KCXI.DBF表文件从CJGL.DBC数据库删除。,第5章数据库的基本操作,5.2.5 设置“表名”,例1

8、0:将CJGL.DBC数据库中的XSXI.DBF“表名”设置为“学生信息表”。,第5章数据库的基本操作,5.2.6 设置表的索引,1使用表设计器建立索引 例11:对学生成绩管理数据库CJGL.DBC中的“课程信息表”建立一个结构复合索引文件,对于学分大于2的记录按“课程号”升序排列,索引标识为“KCH”,类型为主索引。,第5章数据库的基本操作,第5章数据库的基本操作,第5章数据库的基本操作,例12:对 “成绩信息表”建立一个结构复合索引文件,其中包括三个索引标识:,(1)记录按“学号”排列,学号相同时按“课程号”升序排列,索引标识为XHKCH的候选索引; (2)记录按“学号”升序排列,索引标识

9、为XH的普通索引; (3)记录按“课程号”降序排列,索引标识为KCH的变通索引,第5章数据库的基本操作,第5章数据库的基本操作,2使用命令建立索引,格式:INDEX ON TO | TAG OF FOR COMPACT ASCENDINGDESCENDING UNIQUE|CANDIDATE ADDITIVE,第5章数据库的基本操作,例12:对学生信息表XSXI.DBF建立一个结构复合索引文件,其中包括三个索引标识: (1)记录按学号升序排列, 索引标识为XH的候选索引; (2)对于所有女学生按班级降序排列,索引标识为BJ的普通索引 (3)记录按系别排列,系别相同时按班级升序排列,索引标识为X

10、BBJ惟一索引。 命令如下: USE XSXI &打开学生信息表XSXI.DBF INDEX ON 学号 TAG XH CANDIDATE &建立结构复合索引文件XSXI.CDX,索引标识为XH的候选索引 INDEX ON 班级 TAG BJ DESCENDING FOR 性别=”女” &建立索引标识为BJ的普通索引,该索引标识追加到XSXI.CDX INDEX ON ALLTRIM(系别)+ALLTRIM(班级) TAG XBBJ UNIQUE &建立索引标识为XBBJ的惟一索引,该索引标识追加到XSXI.CDX文件,第5章数据库的基本操作,第5章数据库的基本操作,3索引的使用,(1)索引文

11、件的打开与关闭 格式:SET INDEX TO ?ADDITIVE 功能:打开当前表的一个或多个索引文件。这里的索引文件类型指的是单索引文件或非结构化复合索引文件。,第5章数据库的基本操作,(2)设置主控索引,格式: SET ORDER TO |TAG ASCENDING|DESCENDING 功能:指定表的主控索引文件或标识。,第5章数据库的基本操作,例13:在上例建立的结构复合索引文件XSXI.CDX中包含XH,BJ,XBBJ三个索引标识(对应的索引号依次为1,2,3),请依次设置为主控索引,最后取消主控索引,同时观察输出结果。 USE XSXI SET ORDER TO TAG XH &

12、设置索引标识XH为主控索引 LIST &查看结果 SET ORDER TO 2 &设置索引标识BJ为主控索引 LIST SET ORDER TO XBBJ &设置索引标识XBBJ为主控索引 LIST SET ORDER TO &取消主控索引 LIST,第5章数据库的基本操作,(3)删除索引,格式:DELETE ALLTAG 功能:删除打开的结构复合索引文件中的索引项。 说明:DELETE ALL表示删除所有的索引项,即删除了结构复合索引文件 USE XSXI DELETE TAG XH,BJ &删除结构复合索引文件XSXI.CDX中的XH,BJ索引项。 DELETE ALL &删除结构复合索引

13、文件XSXI.CDX,第5章数据库的基本操作,5.2.7 建立表间关系,(1)多表操作 SELECT命令 格式:SECLECT 工作区号别名 功能:激活指定工作区 说明: (1)VFP最多可同时打开32767个工作区,每个区只能打开一个表。因此,用户可同时使用多个表中的数据,但是当前工作区只有一个。 (2)工作区编号由1到32767,其中前十个工作区中指定的别名是从A到J。 (3)当打开一个表时,系统将该表名默认为该工作区的别名,如USE XSXI.DBF IN 2(在2号工作区打开XSXI.DBF),SELECT 2与SELECT XSXI功能相同。 (4)在打开一个表时定义其别名,如: S

14、ELECT 3 USE XSXI ALIAS 学生信息表 此时XSXI.DBF的别名为“学生信息表”。 (5)工作区号或别名用来指定工作区。如果指定工作区号为0,则激活尚未使用的编号最小的工作区。,第5章数据库的基本操作,例如: SELECT A &打开别名为A的工作区 USE XSXI &在A工作区打开表XSXI.DBF SELECT B &打开别名为B的工作区 USE CJXI &在B工作区打开表CJXI.DBF ? ”学号: ”+A.学号,”姓名:”+A.姓名 &当前工作区为B,引用A工作区中XSXI.DBF的首记录 ? “学号:”+学号,”课程号:”+课程号,”成绩: “+STR(成绩

15、,3) &显示当前工作区中CJXI.DBF的首记录 注意:在访问非当前工作区中打开表的字段时,应使用下面的格式 别名.字段名 或者 别名-字段名,第5章数据库的基本操作,(2)使用命令建立临时关系,格式: SET RELATION TO INTO , INTO . , INTO ADDITIVE 功能:创建单个父表与单个或多个子表之间的关系,各关系之间用逗号分隔。,第5章数据库的基本操作,例14:按学号相等,建立学生信息表XSXI.DBF与成绩信息表CJXI.DBF的临时关系。 SELECT A USE CJXI &在1号工作区打开成绩信息表 INDEX ON 学号 TAG XH &按关联字段

16、,为表建立普通索引 SELECT B USE XSXI &在2号工作区打开学生信息表 SET RELATION TO 学号 INTO A &按学号相等建立当前表与成绩信息表的一对多关系 接下来,执行下面的命令: SELECT A BROWSE &浏览成绩信息表 SELECT B BROWSE &浏览学生信息表,第5章数据库的基本操作,例15:建立CJXI.DBF、XSXI.DBF和KCXI.DBF三表间的临时关系。要求能够同时显示学号,姓名,课程名,成绩的信息。 第一步:在1号区打开XSXI.DBF; 按“学号”建立候选索引(如果该索引已经存在,将其设置为主控索引) 第二步:在2号区打开KCX

17、I.DBF; 按“课程号”建立建立候选索引(如果该索引已经存在,将其设置为主控索引) 第三步:在3号区打开CJXI.DBF; 建立CJXI.DBF与XSXI.DBF的多对一关系; 建立CJXI.DBF与KCXI.DBF的多对一关系;,第5章数据库的基本操作,具体操作如下: SELECT 1 USE XSXI INDEX ON 学号 TAG XH CANDIDATE SELECT 2 USE KCXI INDEX ON 课程号 TAG KCH CANDIDATE SELECT 3 USE CJXI SET RELATION TO 学号 into A SET RELATION TO 课程号 int

18、o B ADDITIVE LOCATE for 学号=24 ? ”学号: ”+A.学号,”姓名:”+A.姓名, ”课程名:”+B.课程名,”成绩: “+STR(成绩,3) CONTINUE ? ”学号: ”+A.学号,”姓名:”+A.姓名, ”课程名:”+B.课程名,”成绩: “+STR(成绩,3),第5章数据库的基本操作,第5章数据库的基本操作,例16:按学号相等,(1)建立学生信息表XSXI.DBF对成绩信息表CJXI.DBF的关联, (2)建立学生信息表对成绩信息表的“一对多”关系。使用“数据工作期”窗口完成。,第5章数据库的基本操作,2永久关系,与前面的临时关系不同的是永久关系(也称永

19、久性关联)。自由表和数据库表之间都可以建立临时关系,但是永久关系只是数据库表间的关系,它保存在数据库文件中。,第5章数据库的基本操作,例17:在成绩管理数据库CJGL.DBC中,建立学生信息表XSXI.DBF、课程信息表KCXI.DBF和成绩信息表CJXI.DBF间的永久关系。,第5章数据库的基本操作,5.3 关系完整性的设置,5.3.1 实体完整性,第5章数据库的基本操作,5.3.2 用户定义完整性,1字段级约束规则 设置字段属性和字段约束规则,其目的是为了保证字段级数据的正确性。在表设计器中的“字段”选项卡中,可以实现对表中每个字段属性和规则的设置,具体包括: (1)字段类型、宽度等属性

20、(2)“显示”规则 (3)“字段有效性”规则 (4)“字段注释”属性 (5)“匹配字段类型到类”属性。,第5章数据库的基本操作,例18:对于课程信息表KCXI.DBF,设置其“课程号”字段的约束规则。 设置结果如图5.53所示。,第5章数据库的基本操作,2记录级约束规则,例19:在成绩信息表中,当某一课程的成绩大于或等于60分时就没有补考成绩。,第5章数据库的基本操作,3表级约束规则,表级约束规则可通过表设计器中的“表”选项卡中的“触发器”选项组来设置。以下是“触发器”选项组的简要功能。 插入触发器:指定在插入记录时,对数据库所进行的指定操作。 更新触发器:指定在更新记录时,对数据库所进行的指

21、定操作。 删除触发器:指定在删除记录时,对数据库所进行的指定操作。,第5章数据库的基本操作,例20:在向成绩信息表输入信息的过程中,要求实现以下功能: 每当所输入的成绩60时,则在补考信息表中记录这个学生的学号、课程号和成绩。使用插入触发器实现此操作。,第5章数据库的基本操作,5.3.3 参照完整性,参照完整性主要是用来控制数据的一致性,尤其是用来协调不同数据库表的主关键字和外部关键字之间的关系。参照完整性与表的永久关系有关,即在表的永久关系基础上设置参照完整性规则。,第5章数据库的基本操作,例21:为成绩管理数据库中的学生信息表、课程信息表和成绩信息表设置参照完整性约束,具体要求如下: (1)将它们的更新规则设置为“级联

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论