第3章数据库表及其操作.ppt

上传人:本田雅阁 文档编号:2527002 上传时间:2019-04-05 格式:PPT 页数:79 大小:1.20MB
返回 下载 相关 举报
第3章数据库表及其操作.ppt_第1页
第1页 / 共79页
第3章数据库表及其操作.ppt_第2页
第2页 / 共79页
第3章数据库表及其操作.ppt_第3页
第3页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第3章数据库表及其操作.ppt》由会员分享,可在线阅读,更多相关《第3章数据库表及其操作.ppt(79页珍藏版)》请在三一文库上搜索。

1、2019/4/5,第三章 数据库、表及其操作,1,本章内容简介 本章介绍数据库与数据表的设计、创建、使用及表属性的设置。 学习目标 理解关系型数据库保存数据的特点,重点掌握数据库中表间的联系,学习数据库与数据表的设计、建立与使用的方法,学会在Visual FoxPro中操作数据库与数据表。 通过对本章学习,理论上要求能深入地理解关系型数据 库的特点,掌握设计数据库表的方法,理解索引的功能和数据完整性的意义。 学习切入点及方法 以数据管理的需求分析为切入点,通过分析数据库的表间联系来加深对关系型数据库的理解,多上机练习,掌握数据库与数据表的操作方法。 建议学时 课堂讲授8 10学时,上机15 2

2、0学时。另外学生在课后应有预习、复习及练习设计各种不同的数据库的时间。,2019/4/5,第三章 数据库、表及其操作,2,3.1 设计数据库 3.2 数据库的创建和操作 3.3 数据表的创建 3.4 数据表的基本操作 3.5 索引 3.6 数据完整性,2019/4/5,第三章 数据库、表及其操作,3,Visual FoxPro是一个关系数据库管理系统。 关系型数据库管理系统以表的形式管理所有的数据。 数据库:指存储在外存上的有结构的数据集合。 在Visual FoxPro中,数据库用于存储数据库表的属性,组织、关联表和视图,创建存储过程。,在Visual FoxPro中,表分为数据库表和自由表

3、两类。 属于某一数据库的表称为数据库表; 不属于任何数据库而独立存在的表称为自由表。,2019/4/5,第三章 数据库、表及其操作,4,设计数据库一般包括以下几个基本过程: 1. 分析数据需求:确定需要数据库保存那些信息。 2. 确定需要的表:按不同的主题将信息分配到不同的数据表中。 3. 确定所需字段:确定每个表中要保存哪些信息。 4. 确定表间联系:分析数据库中的表间联系。 5. 完善设计:对设计进一步分析,查找错误,对设计方案进一步完善。,在数据库应用系统中,数据库的设计是一项非常重要的工作,数据库性能的优劣将直接影响到最终应用系统的性能。经过长期摸索,人们提出了数据库设计方法以及各种设

4、计准则和规程,这就是规范化设计方案。,3.1设计数据库,2019/4/5,第三章 数据库、表及其操作,5,设计数据库,3.1.1 分析数据需求,数据库设计的第一步是明确数据库的使用目的。需要从数据库中得到哪些信息,数据库是作什么用途。明确目的之后,才可以确定需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(字段),这些主题之间的关系如何。,3.1.2 确定数据库表,在关系型数据库中,每一个关系都是一个二维表。在一个数据库中可以有若干个关联的二维表(关系)。,3.1.3 确定所需字段,字段:是表中最小的数据单位,决定了表中要保存的信息类型。 为了保证数据的不多余性且不遗漏信息,在确定表

5、中所需字段时应考虑字段的唯一性、无关性及主关键字和外部关键字等要求。,2019/4/5,第三章 数据库、表及其操作,6,3.1.4 确定表间联系,Visual FoxPro将表间的联系归结为3种:一对一、一对多和多对多。,3.1.4.1 一对一联系,如果A表的一个记录在B表中只能对应一个记录,而B表中的一个记录在A表中也只能有一个记录与之对应,则两表之间就是一对一的联系。 例如:一个单位人事部的职工表和财务部的工资表就是一对一的联系。,2019/4/5,第三章 数据库、表及其操作,7,3.1.4 确定表间联系,3.1.4.2 一对多联系,如果对于A表中的任意一个记录,在B表中可以有多个记录与之

6、对应,但反过来B表中的任意记录,在A表中只有一个记录与之对应,则两表之间就是一对多的联系。 在一对多联系中,位于“一”端的表称为父表,和父表关联的那个表为子表。父表也称为主表或主控表,子表又称为相关表或受控表。 在一对一或一对多联系中,位于“一”端的表中用于建立联系的字段必须是主关键字字段,而位于“多”端的表中用于建立联系的字段是外部关键字字段。,2019/4/5,第三章 数据库、表及其操作,8,3.1.4 确定表间联系,3.1.4.2 一对多联系,例如学校里的班级和学生:一个班级有多个学生,而一个学生只能在一个班级里,所以班级和学生之间就是一对多的联系。班级表和学生表通过编号建立起了一对多联

7、系。,一对多关系示意图,2019/4/5,第三章 数据库、表及其操作,9,3.1.4 确定表间联系,3.1.4.3 多对多联系,如果A表的一个记录在B表中可以对应多个记录,同样B表中的一个记录在A表中也可以对应多个记录,则两表之间就是多对多的联系。 在设计数据库时,应将多对多联系分解成两个一对多联系,其方法就是在具有多对多联系的两个表之间创建第三个表。,用于分解多对多联系的表称为“纽带表”。因为它在两表之间起着纽带的作用,可以把两个表的主关键字都放在这个纽带表中。,纽带表可以只包含它所链接的两个表的主关键字,也可以包含其它信息。在纽带表中,两个字段连在一起就能使每个记录具有唯一值。,2019/

8、4/5,第三章 数据库、表及其操作,10,3.1.4 确定表间联系,3.1.4.3 多对多联系,例如学校里的课程和学生:一门课程有多个学生学习,而一个学生也要学习多门课程,所以课程和学生之间就是多对多的联系。,因为学生学习的每门课程都有相应的成绩,可以通过成绩将课程和学生联系起来。 “成绩”表就是“学生”表和“课程”表之间的纽带表。,多对多关系的分解,2019/4/5,第三章 数据库、表及其操作,11,3.1.4 确定表间联系,3.1.4.3 多对多联系,多对多关系分解成两个一对多关系的分解示意图,2019/4/5,第三章 数据库、表及其操作,12,3.1.5 完善数据库设计,在试验最初的数据

9、库时,很可能会发现需要改进的地方。 是否遗忘了字段?是否有需要的信息没有包括进去?如果是, 是否属于已创建的表?如果不在创建的表中,需要另外创建一个表。 是否为每个表选择了合适的主关键字?在使用主关键字查找记录 时,它是否很容易记忆和输入?要确保主关键字值不会出现重复。 是否在某个表中重复输入了同样的信息?如果是,需要考虑将 此表分成两个一对多联系的表。 是否有字段很多、记录却很少的表,而且许多记录中的字段值为 空?如果是,要考虑重新设计该表,使它的字段减少,记录增多。,2019/4/5,第三章 数据库、表及其操作,13,3.1.6 示例数据库:“世界杯”,数据需求:,存放各届足球世界杯举办的

10、时间、地点、参赛队以及冠军、最佳球员、最佳射手归属等方面的信息。,可以查出每届的参赛队成绩、每届的冠军、最佳球员、最佳射手的信息;以及每个参赛队参赛次数、参赛成绩等信息。,设计要求:,数据表信息如下:,2019/4/5,第三章 数据库、表及其操作,14,字段及主关键字:,届次、日期、举办国、队数、冠军、点球决胜、举办背景、照片。,参赛队、地区、备注。,届次、参赛队、成绩。,届次、姓名、国籍。,“基本信息”,“参赛队”,“参赛成绩”,“最佳球员”,“最佳射手”,届次、姓名、国籍、进球数。,3.1.6 示例数据库:“世界杯”,2019/4/5,第三章 数据库、表及其操作,15,世界杯数据库中各表间

11、关系,表间关系:,3.1.6 示例数据库:“世界杯”,2019/4/5,第三章 数据库、表及其操作,16,创建数据库的常用方法有以下3种: 1. 在“项目管理器”中创建数据库; 2. 使用“文件”菜单的“新建”命令创建数据库; 3. 在“命令”窗口中输入创建数据库的命令。 Visual FoxPro数据库文件的扩展名是.DBC。建立.DBC文件的同时, 自动建立.DCT (备注)和.DCX(索引)文件。,3.2 数据库的建立和操作,3.2.1 创建数据库,2019/4/5,第三章 数据库、表及其操作,17,例如,在项目管理器中创建数据库。 在前面已创建的“世界杯”项目中创建数据库的操作步骤如下

12、: 在“世界杯”项目中选择“数据”选项,选择“数据库”,单击“新建” 按钮,打开“新建数据库”对话框。 在“新建数据库”对话框中单击“新建数据库”按钮 ,打开“创建”对 话框。 在“创建”对话框的“数据库名”文本框中输入“世界杯”作为数据库 文件的名称;选择保存数据库文件的文件夹“D:世界杯”;保存类型为默 认的“数据库(*.DBC)”。 单击“保存”按钮,打开“数据库设计器”对话框。,3.2 数据库的建立和操作,3.2.1 创建数据库,2019/4/5,第三章 数据库、表及其操作,18,3.2.2 操作数据库,3.2.2.1 在项目中添加/移出数据库,3.2.2.2 打开/关闭数据库,3.2

13、.2.3 打开数据库设计器,“数据库设计器”窗口是一个带有工具栏的设计窗口。“数据库设计器”工具栏一般随 “数据库设计器”窗口同时打开,如果“数据库设计器”工具栏没有打开,可选“显示”菜单下的“工具栏”命令,在“工具栏”对话框中选中“数据库设计器”工具栏将其打开。,“数据库设计器”和 “数据库设计器”工具栏,3.2.2.4 给数据库添加注释,3.2.2.5 使用多个数据库,3.2.2.6 数据库错误,2019/4/5,第三章 数据库、表及其操作,19,3.2.2.7 操作数据库的常用命令,3.2.2 操作数据库,建立数据库:CREATE DATABASE 打开数据库:OPEN DATABASE

14、 打开数据库设计器:MODIFY DATABASE 设置当前数据库:SET DATABASE TO 显示当前数据库结构:DISPLAY DATABASE 关闭数据库:CLOSE DATABASE ALL 删除数据库:DELETE DATABASE ,2019/4/5,第三章 数据库、表及其操作,20,3.3 数据表的创建,前面建立的“世界杯”数据库还是一个空数据库。 在使用“世界杯”数据库之前,需要先将前面为这个数据库设计的的5个表:“基本信息”、“参赛队”、“参赛成绩”、“最佳射手”和“最佳球员”表建立起来。,在Visual FoxPro中,创建一个新表分为两个步骤: 步骤一:创建表的结构。

15、即说明表包含哪些字段,每个 字段的长度及数据类型等。 步骤二:输入记录。即向表中输入数据。,2019/4/5,第三章 数据库、表及其操作,21,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.1 表的特征,表可存储若干条记录。 每条记录可以有若干个字段,而且每条记录的字段结构相同,也就是具有相同的字段名、字段类型和字段顺序。 字段可以是不同的类型,以便存储不同类型的数据。 记录中每个字段的顺序与存储的数据无关。 每条记录在表中的顺序与存储的数据无关。,2019/4/5,第三章 数据库、表及其操作,22,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.2 设计字段属性,一个表

16、中的所有字段组成了表的结构,字段属性决定了表的结构。 字段属性包括:字段名称、类型、宽度、小数位数及是否允许为空。,字段类型说明,2019/4/5,第三章 数据库、表及其操作,23,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.3 创建数据库表,可以使用以下3种方法启动数据库表的创建: 方法一:在“项目管理器”中选择“数据库” 的“表”选项,单击“新建”按钮,即可创建属于该数据库的数据库表。 方法二:在“数据库设计器”中,从“数据库”菜单中选择“新建表”命令或单击“数据库设计器”工具栏上的“新建表”按钮。 方法三:选择“文件”菜单中的“打开”命令打开数据库,然后再选择“文件”菜单中

17、的“新建”命令来创建表,此时创建的新表自动成为当前数据库中的数据库表。,2019/4/5,第三章 数据库、表及其操作,24,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.3 创建数据库表,采用前述3种方法,都将进入创建方法选择框,可以选择表向导或表设计器来创建数据库表。,下面将分别采用表设计器和表向导 来创建世界杯数据库中的4个数据库表,而“基本信息”表,可以从自由表转为数据库表。,为方便管理,在“D:世界杯”下创建一个名为“表”的文件夹,用于存放所有创建的表。保存类型为“表/DBF(*.DBF)”,将创建的表保存为.DBF文件。,2019/4/5,第三章 数据库、表及其操作,25

18、,3.3 数据表的创建,3.3.1 建立表结构,3.3.1.3 创建数据库表,“世界杯”数据库中的5个表,表结构创建完成后,将得到右图所示的项目管理器窗口,显示世界杯数据库中的5个数据表。,2019/4/5,第三章 数据库、表及其操作,26,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.2 浏览窗口的使用,1. 浏览记录 滚动条、Tab键、Shift+Tab键、PageUp键、PageDown键 当前记录:记录指针 查看备注型或通用型字段:双击该字段。 2. 改变列宽和行高 3. 调整字段顺序 在浏览窗口改变列宽和列的排列顺序不会影响字段的实际结构。 4. 打开或关闭网格线

19、选择“显示”菜单中的“网格线”命令可显示或隐藏浏览窗口中的网格线。,2019/4/5,第三章 数据库、表及其操作,27,3.3 数据表的创建,3.3.2 记录的输入和删除,5. 切换显示方式,两种显示方式:浏览方式和编辑方式,2019/4/5,第三章 数据库、表及其操作,28,3.3 数据表的创建,3.3.2 记录的输入和删除,6. 拆分浏览窗口 将鼠标指向窗口左下角的拆分条,鼠标指针变为左右箭头对接的形状,将拆分条拖到所需的位置。 调整拆分窗口的大小,只需向左或向右拖动拆分条即可。 默认情况下,两个窗口是链接的。取消“表”菜单中“链接分区”的选中状态,可以中断两个窗口之间的联系,使它们的功能

20、相对独立。 拆分“浏览”窗口可以查看同一表中的两个不同区域或者分别用浏览和编辑方式查看同一记录。,2019/4/5,第三章 数据库、表及其操作,29,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.3 追加记录,利用其他表中已有的相同内容,可以快速给新表追加记录。,1. 追加源表中的所有记录 将需要追加记录的表在浏览窗口中打开。 选择“表”菜单下“追加记录”命令。 2. 有选择的追加记录和字段 在“追加来源”对话框中单击“选项”按钮,打开“追加来源选项”对话框。 如只想追加第8届世界杯的记录,表达式为:届次=”08” (因届次为查找方便定义成字符型,字段变量的值应加上英文双引号

21、)。,2019/4/5,第三章 数据库、表及其操作,30,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.1 在浏览窗口中输入记录,在“项目管理器”中选择表,单击“浏览”按钮即可打开“浏览”窗口。 打开“浏览”窗口后,选择“显示”菜单下的“追加方式”命令, 即可在“浏览”窗口中输入数据。在输入记录的字段值时,只能输入数据类型有效的值。 备注型字段和通用型字段的内容不能直接在“浏览”窗口中输入。双击该字段,打开专门的备注型字段或通用型字段输入窗口,即可在其中输入备注型字段或通用型字段的内容。 输入完所有的记录后,单击浏览窗口右上角的关闭按钮。,2019/4/5,第三章 数据库、表

22、及其操作,31,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.4 修改记录内容,在“浏览”窗口中修改表中字段的内容,只需找到记录中要修改的字段所在的单元格,输入正确的内容即可。 编辑“备注型”字段,可在“浏览”窗口中双击该字段。这时会打开一个“编辑”窗口,其中显示了“备注型”字段的内容。 通过双击“浏览”窗口中的“通用型”字段,可以编辑这个对象。,2019/4/5,第三章 数据库、表及其操作,32,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.5 删除记录,在Visual FoxPro中删除记录的过程,分为两大步骤: 第一步:对要删除的记录作删除标记,又称为

23、逻辑删除。 第二步:彻底删除,又称为物理删除。,在浏览窗口中,记录前的小方块就是记录的删除标记条。 记录删除标记条变成了黑色,表示记录已被作了删除标记。此时系统就不能对记录进行任何操作,但记录仍然保存在表中。 对已作了删除标记的记录,用户既可以将其彻底删除,也可以将其恢复。,2019/4/5,第三章 数据库、表及其操作,33,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.5 删除记录,条件删除:使用 “删除”对话框进行条件删除。 打开“浏览”窗口。 选择“表”下“删除记录”,出现“删除”对话框。 在“作用范围”列表框中选择操作范围: All:全部记录。 Next:从当前记录开

24、始的若干个记录。 Record:特指某个记录。 Rest:从当前记录开始直到最后一个记录。,“删除”对话框,1. 作删除标记 逐一删除:在浏览窗口中,用鼠标单击记录前的删除标记条,使其变黑,就给该记录加上了删除标记。, 选择“For”或“While”构造逻辑表达式来设置删除记录需要满足的条件。 单击“删除”,符合条件的记录打上删除标记。,2019/4/5,第三章 数据库、表及其操作,34,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.5 删除记录,2. 彻底删除 若要将已作了删除标记的记录真正地从表中删除,从“表”菜单中选择“彻底删除”命令,在弹出的“移去已删除记录”对话框中

25、单击“是”按钮 也可以在“命令”窗口使用 PACK 命令。 3. 删除全部记录 如果想删除表中的所有记录,只留下表的结构,可使用 ZAP 命令。 在“命令”窗口中输入“ZAP”命令将彻底删除表中的所有记录。 注意:此命令破坏性极大,应慎用。,2019/4/5,第三章 数据库、表及其操作,35,3.3 数据表的创建,3.3.2 记录的输入和删除,3.3.2.6 还原记录,标记记录并不等于删除记录。可以撤销删除标记,恢复成原来的状态。 逐一恢复:用鼠标单击记录前的删除标记,使其恢复为白色,取消删除标记。 条件恢复: “表”菜单中的“恢复记录”命令。操作和“删除记录”命令相似。 注意:执行“彻底删除

26、”命令后,带有删除标记的记录被从磁盘上彻底删除。被彻底删除的记录不能再用“恢复记录”命令恢复。,2019/4/5,第三章 数据库、表及其操作,36,3.4 数据表的基本操作,3.4.1 在数据库设计器中操作表,3.4.1.1 打开/关闭表,1 打开表 方法一:在“项目管理器”窗口中选定要打开的表,单击“浏览”按钮, 则会打开该表并在“浏览”窗口中显示出来。 方法二:从“文件”菜单中选择“打开”命令或直接单击工具栏上的“打开”按钮,然后在“打开”对话框中选择要打开的表将其打开。 方法三:在“命令”窗口输入“USE ”命令。 例如,要打开“基本信息”表,在命令窗口中输入以下命令: USE 基本信息

27、 2 关闭表 在“命令”窗口输入不带参数的“USE”命令即可。,2019/4/5,第三章 数据库、表及其操作,37,3.4 数据表的基本操作,3.4.1 在数据库设计器中操作表,3.4.1.2 在“数据库设计器”中查看表,1. 展开或折叠表 2. 重排数据库的表 3. 在数据库中查找表或视图 4. 选择显示的对象,世界杯数据库中的表,2019/4/5,第三章 数据库、表及其操作,38,3.4 数据表的基本操作,3.4.1 在数据库设计器中操作表,3.4.1.3 数据库表和自由表,Visual FoxPro中的数据表可以有两种存在状态:自由表(即没有和任何数据库关联的 .DBF文件)和数据库表(

28、即与数据库关联的 .DBF文件)。 数据库表和自由表可以互相转换:当用户将数据库表从一个数据库中移出,数据库表便成了自由表;反之,如将自由表加入到某一个数据库中,自由表便成了数据库表。 数据库表只能属于一个数据库,如想将一个数据库中的表移到其他数据库,必须先将该表从数据库中移出变为自由表,再将其加入到另一数据库中。 数据库表和自由表相比,具有一些自由表所没有的属性,如主关键字、触发器、默认值、表间联系等。将表组合到数据库内,可以使它们协同工作。,2019/4/5,第三章 数据库、表及其操作,39,3.4 数据表的基本操作,3.4.1 在数据库设计器中操作表,3.4.1.4 在数据库设计器中添加

29、、移出或删除表,1. 添加数据库表 2. 移出或删除数据库表,添加、移去或删除数据库表的操作也可以直接在项目管理器中进行。 1. 在“项目管理器”窗口中添加数据库表 2. 在“项目管理器”窗口中移出或删除数据库表,3.4.1.5 在“项目管理器”中添加、移出或删除表,2019/4/5,第三章 数据库、表及其操作,40,3.4 数据表的基本操作,3.4.2 设置数据库表属性,3.4.2.1 查看或修改表结构,在“项目管理器”窗口的“数据”选项卡中选择需要查看或修改结构的表,单击“修改”按钮,打开“表设计器”对话框。 在“表设计器”中可以查看或改变已有表的结构,如增加或删除字段、改变字段的数据类型

30、及宽度等。,注意: 在将字段宽度值改小时,超出字段宽度的字符会自动丢失,如果字段是数值型则会溢出,这时在表的浏览窗口中看到的是几个“ * ”号,并且丢失的字符或数字不能通过将字段长度改为原有长度而得到恢复。 改变字段的数据类型也可能导致数据的丢失。,2019/4/5,第三章 数据库、表及其操作,41,3.4 数据表的基本操作,3.4.2 设置数据库表属性,3.4.2.2 设置数据库表的属性,数据库表的表设计器比自由表的表设计器多了一些选项: 在数据库表的表设计器 的“字段”选项卡的下部,有“显示”、“字段有效性”、“字段注释”和“匹配字段类型到类”4个输入区域。 数据库表具有自由表所没有的一些

31、属于数据字典的属性,例如长字段名和长表名、掩码、默认值、字段级和记录级规则及触发器等。 属性被作为数据库的一部分保存起来,如果表被从数据库中移出,则原来拥有的这些属性都将失去。,2019/4/5,第三章 数据库、表及其操作,42,3.4 数据表的基本操作,3.4.2 设置数据库表属性,3.4.2.2 设置数据库表的属性,1. 设置字段的显示属性 格式 规定字段显示时的样式。格式决定了字段的显示风格。 例如,将系统日期格式设置为年/月/日,年为四位,在表设计器中设置“基本信息”表的“日期”格式为D,则在浏览窗口中显示日期为yyyy/mm/dd格式。 输入掩码 指定字段输入值的格式。使用输入掩码可

32、屏蔽非法输入,减少人为的数据输入错误,提高输入工作效率,保证输入的字段数据格式统一、有效。 标题 指定显示代表字段的标题。最多可包含128个字符。 字段的注释 在“项目管理器”中选择了这个字段时,在“项目管理器”的底部显示该字段的注释文本。,2019/4/5,第三章 数据库、表及其操作,43,3.4 数据表的基本操作,3.4.2 设置数据库表属性,3.4.2.2 设置数据库表的属性,2. 输入字段的默认值 例如,在输入“参赛队”表中数据时,如果当前正在输入非洲的球队,可将地区默认值设置为“非洲”。 3. 表名和表注释 表名 指定正在创建或修改的表的名称。但并不是文件名。 表注释 在表注释区可以

33、输入对表的注释。与字段注释一样,在选定一个表时,在“项目管理器”窗口底部显示表的注释文本。,2019/4/5,第三章 数据库、表及其操作,44,3.4.3 数据过滤和字段筛选,3.4.3.1 定位记录,在打开的表中只有一条记录是“当前记录”。在浏览窗口,当前记录前有一个黑三角标志。,1. 用“查找”命令查看数据 2. 用“转到记录”命令查看数据,“转到记录”子菜单,“定位记录”对话框,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,45,3.4.3 数据过滤和字段筛选,3.4.3.2 数据过滤与字段筛选,若有多个记录都符合定位的条件,使用“定位”命令只能定位表中的第一个

34、符合条件的记录,若想同时查出所有记录,则需使用数据过滤功能。,1. 记录过滤,例如,想在“浏览”窗口中只显示第17届和18届的世界杯的基本信息。,“工作区属性”对话框,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,46,3.4.3.2 数据过滤与字段筛选,2. 字段筛选,例如,在“浏览”窗口中显示“基本信息”表中的“届次”,“举办国”和“冠军”字段。,“字段选择器”对话框,3.4 数据表的基本操作,3.4.3 数据过滤和字段筛选,2019/4/5,第三章 数据库、表及其操作,47,3.4.4 工作区与多表操作,3.4.4.1 工作区和工作期的概念,1. 工作区 工作区

35、:是一个编号的区域,用来标识一个打开的表。 最多可以有32767个工作区。在每个工作区中只能同时打开一个表,在工作区中打开表时,原来在该工作区中打开的表自动关闭。,选择工作区使用SELECT 命令: SELECT 工作区标识可以是032767的编号,也可以是表的别名。 如果执SELECT 命令中的“工作区标识”为0时,表示选择了空闲的最小号工作区。如果打开了多个工作区,则当前工作区是指最后执行SELECT命令所选择的工作区。,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,48,3.4.4.1 工作区和工作期的概念,2. 数据工作期,“数据工作期”是当前动态工作环境的一

36、种表示,每个数据工作期包含有自己的一组工作区,这些工作区含有打开的表、表索引和联系。,3. 在“数据工作期”窗口查看工作区 从“窗口”菜单选择“数据工作期”命令,或在“命令”窗口中输入 SET 命令,打开 “数据工作期”窗口,并显示在当前数据工作期中的工作区中打开的表的别名。,“数据工作期”窗口,3.4 数据表的基本操作,3.4.4 工作区与多表操作,2019/4/5,第三章 数据库、表及其操作,49,3.4.4.2 在工作区中打开/关闭表,1. 在工作区中打开表 在 “数据工作期”窗口中单击“打开”按钮,在“打开”对话框中选择要打开的表及打开的方式(是否以“独占”的方式打开)。 2. 在工作

37、区中关闭表 在“数据工作期”窗口中选定要关闭的表别名,然后单击“关闭”按钮。 或使用SELECT 命令选择工作区后再用USE命令打开或关闭当前工作区中的表。 当在同一工作区中打开其他表时,自动关闭原工作区中已打开的表。,3.4 数据表的基本操作,3.4.4 工作区与多表操作,2019/4/5,第三章 数据库、表及其操作,50,3.4.4.3 使用表别名,1. 创建用户自定义别名 例如,可以使用以下命令打开表文件“基本信息.dbf”,指定别名“JBXX”: SELECT 0 USE 基本信息 ALIAS JBXX 2. 使用Visual FoxPro指定的别名 在前 10 个工作区中指定的默认别

38、名是工作区字母 A J,在工作区 11 32767 中指定的别名是 W11 W32767。,别名是指定给一个表或表达式的另一个名称,通常用来缩短在代码中引用的名称。表的别名是用来引用工作区中打开的表的。当打开一个表时,自动将表名作为默认的别名。也可以另外指定一个别名。,3.4 数据表的基本操作,3.4.4 工作区与多表操作,2019/4/5,第三章 数据库、表及其操作,51,3.4.4.3 使用表别名,3. 使用别名选择工作区 如果执行了下面两条命令: SELECT 1 USE 基本信息 ALIAS JBXX,则下面三条命令是等价的: SELECT 1 SELECT A SELECT JBXX

39、,4. 引用在其他工作区中打开的表 在别名后加上点号分隔符“.”或“-”操作符,然后再加字段名,可以引用其他工作区中的字段。 例如,访问其他工作区中打开的“基本信息”表的“冠军”字段: 基本信息.冠军 如果要引用的表是用别名打开的,则也可以使用别名。 例如:JBXX.举办国,3.4 数据表的基本操作,3.4.4 工作区与多表操作,2019/4/5,第三章 数据库、表及其操作,52,3.4.5 操作表的常用命令,3.4.5.1 建立与修改、打开与关闭表的命令,(1)建立数据表:CREATE (2)打开数据表:USE IN | (3)关闭数据表:USE IN | (4)关闭所有工作区中的数据表:C

40、LOSE TABLES ALL (5)关闭所有打开的文件:CLOSE ALL (6)打开表设计器(显示/修改表结构):MODIFY STRUCTURE (7)打开“浏览”窗口(显示/修改表记录):BROWSE FIELDS,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,53,3.4.5 操作表的常用命令,3.4.5.2 显示表结构与表记录的命令,(1)显示表结构 DISPLAY | LIST STRUCTURE TO PRINTER PROMPT|TO FILE (2)显示表记录 DISPLAY | LIST FIELDS FOR WHILE TO PRINTER P

41、ROMPT|TO FILE 当“范围”省略时,DISPLAY命令默认为当前记录,而LIST默认为全部记录。,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,54,3.4.5 操作表的常用命令,3.4.5.3 更新、添加与删除表记录命令,(1)交互式修改记录 EDIT | CHANGE FOR WHILE (2)直接修改记录 REPLACE WITH ,字段名2 WITH表达式2 . 范围 FOR | WHILE (3)在表的末尾追加(空白)记录:APPEND BLANK (4)利用已有文件追加记录 APPEND FROM FIELDS FOR SDF (5)在当前记录之

42、后(之前)插入(空白)记录:INSERT BEFORE BLANK (6)删除记录(删除标记):DELETE 范围 FOR WHILE (7)恢复记录(去删除标记):RECALL 范围 FOR WHILE (8)从磁盘上删除表中有删除标记的记录:PACK (9)从磁盘上删除表中所有的记录:ZAP 注意:如果在表上建立了主索引或候选索引,则不能用以上的APPEND或INSERT命令插入记录,必须使用SQL的INSERT命令。,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,55,3.4.5 操作表的常用命令,3.4.5.4 查找与定位、过滤与筛选及移动记录指针的命令,(1

43、)查找(定位)记录 LOCATE FOR 范围 WHILE (2)继续查找(满足LOCATE条件的)下一记录 CONTINUE (3)过滤记录 SET FILTER TO (4)筛选字段 SET FIELDS TO | ALL (5)定位记录指针 GO | GOTO | BOTTOM | TOP (6)移动记录指针 SKIP 数值表达式,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,56,3.4.5 操作表的常用命令,3.4.5.5 其他命令,(1)复制表文件的结构: COPY STRUCTURE TO FIELDS (2)复制表文件: COPY TO 范围 FOR

44、WHILE FIELDS (3)将表文件复制成文本文件:COPY TO TYPE DELIMITED (4)文件复制命令:COPY FILE TO (5)将表的结构复制成记录内容: COPY STRUCTURE EXTENDED TO FIELDS (6)选择当前工作区:SELECT | (7)物理排序: SORT TO ON /A | /D /C , /A | /D /C. ASCENDING | DESCENDING FIELDS FOR (8)显示文件内容: TYPE TO PRINTER PROMPT | TO FILE (9)设置是否以独占的方式打开数据表:SET EXCLUSIVE

45、 ON | OFF,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,57,3.4.5 操作表的常用命令,3.4.5.6 使用命令对表中记录排序,所谓“排序”,就是指定记录排列的先后顺序。建表时,输入到新表的记录按照输入顺序存储,在浏览表时,记录按输入的顺序出现。 SORT TO ON /A | /D /C , /A | /D /C. ASCENDING | DESCENDING FIELDS FOR /A | /D:/A按升序排列,/D按降序排列,默认为按升序排列; /C:排序时不区分大小写字母,默认区分大小写; ASCENDING | DESCENDING:除了用/A

46、 | /D说明升序或降序的字段外,其他参与排序的字段的排序方式,默认为按升序排列; 例如,要将“基本信息”表生成一个按届次降序排序的新表: SORT ON 届次/D TO JBXX1 排序后并不改变原表的顺序,但可以生成一个排过序的新表。,3.4 数据表的基本操作,2019/4/5,第三章 数据库、表及其操作,58,Visual FoxPro表中的索引是一个记录号的列表,它指向待处理的记录,并确定了记录的处理顺序。表索引存储了一组记录指针。索引并不改变表中所存储数据的顺序,只改变Visual FoxPro读取每条记录的顺序。 用户可以用索引快速显示、查询或者打印记录,还可以选择记录、控制重复字

47、段的输入并支持表间的联系操作。索引对于数据库内表之间创建关联至关重要。在数据库中要建立各表之间的联系,就要正确合理地建立所有表中的索引。,3.5 索引,3.5.1 索引的概念,2019/4/5,第三章 数据库、表及其操作,59,3.5.1.1 索引文件的类型,1. 结构复合索引文件 扩展名为.CDX。结构复合索引文件具有与表相同的文件名,当打开与它同名的表时也自动打开该结构复合索引文件,关闭的同时自动关闭它。当在表中进行记录的添加、修改和删除时,系统会自动对结构复合索引文件中的全部索引记录进行维护。 2. 单独索引文件 只包含单个索引项,扩展名为.IDX,其主文件名称不能和相关表同名,而且该文

48、件不会随着表的打开而自动打开。 3. 非结构复合索引文件 包含多个索引项,扩展名为.CDX。必须用命令打开,只有在该文件打开时,系统才能维护索引标记。可以看作是多个.IDX文件的组合。 结构复合索引文件是在数据库中最普遍也最重要的一种索引文件。以下讨论的是.CDX结构复合索引文件。,3.5 索引,3.5.1 索引的概念,2019/4/5,第三章 数据库、表及其操作,60,3.5.1.2 索引的类型,3.5 索引,3.5.1 索引的概念,四种索引类型:主索引、候选索引、普通索引和唯一索引。 1. 主索引 不允许在索引关键字中出现重复值的索引。对于每一个表只能建立一个主索引。自由表没有主索引。 2

49、. 候选索引 在索引关键字中不允许出现重复值的索引,作为主索引的候选者出现,一个表可以创建多个候选索引。 3. 唯一索引 唯一索引无法防止重复值记录的建立。但在唯一索引中,只在索引文件中保存第一次出现的索引值。 4. 普通索引 除上述三种索引之外的索引就是普通索引。索引关键字段和表达式允许重复值出现,可用普通索引进行表中记录的排序或搜索。,2019/4/5,第三章 数据库、表及其操作,61,3.5.2.1 使用“表设计器”创建或修改索引,3.5 索引,3.5.2 创建索引,1. 创建单字段普通索引 2. 创建复合字段索引,“表设计器”对话框的“索引”选项卡,2019/4/5,第三章 数据库、表及其操作,62,3.5.2.1 使用表设计器创建或修改索引,3.5 索引,3.5.2 创建索引,3. 筛选记录 通过在“表设计器”对话框的“索引”选项卡中的“筛选

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1