资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4讲,第3章 数据表与数据库,2,教学内容,第3章 数据库与数据表 3.4 表的索引 3.5 数据完整性 3.6 Visual FoxPro中的常用命令,第3章 数据表与数据库,3,教学重点 实体的完整性、参照完整性和域完整性 索引的概念、主索引、候选索引、唯一索引、普通索引等分类 表之间的关联 教学难点 工作区和多表操作的方法,表之间的关联,第3章 数据表与数据库,4,3.4 表的索引,3.4.1 基本概念 索引的概念 索引是按照表文件中某个关键字段或表达式,以升序或降序的排列方式对表中的记录进行逻辑排序,它不改变表中数据的物理顺序,而是另外建立一个索引文件 索引文件是一个指针文件,由记录号、源表文件中提取的索引表达式值和链接指针等组成 【例】对“学生”表按入学成绩升序建立索引,第3章 数据表与数据库,5,3.4 表的索引,3.4.1 基本概念 索引的类型,第3章 数据表与数据库,6,3.4 表的索引,3.4.1 基本概念 索引文件 单索引文件(.IDX) 复合索引文件 (.CDX) 结构复合索引文件:文件名与表名相同,随表文件名的打开而打开 非结构符合索引文件:文件名与表名不同,使用时需单独打开,单索引,第3章 数据表与数据库,7,3.4 表的索引,3.4.2 在表设计器中建立索引 【例3.14】在“教学”数据库的“学生”表中,按“学号”字段升序建立主索引,按“出生日期”字段降序建立普通索引,索引名和索引表达式相同。,在“表设计器”中建立的索引是结构化复合索引(.CDX),第3章 数据表与数据库,8,3.4 表的索引,3.4.2 在表设计器中建立索引 【例3.15】在“教学”数据库的“学生”表中,按“性别”+“出生日期”字段的升序建立主索引,索引名为sdate,第3章 数据表与数据库,9,3.5 数据完整性,3.5.1 实体完整性与主关键字 实体完整性是保证表中记录惟一的特性 利用主关键字或候选关键字来保证实体完整性 3.5.2 域完整性与约束规则 域完整性是表中域(字段)的特性 字段的类型、字段的宽度和字段的有效性规则 3.5.3 参照完整性与表之间的关系 参照完整性是指在建立了关系的两个表之间插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。,第3章 数据表与数据库,10,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 建立表之间的联系,1)建立表之间的联系: 【条件】 两个表具有相同属性的字段 两个表都依据相同字段建立索引 父表中字段必须建立主索引 :若子表中该字段为主索引或候选索引1对1的关系 :若子表中该字段为普通索引1对多的关系,第3章 数据表与数据库,11,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 建立表之间的联系 【例3.16】在“教学”数据库中,通过“学号”字段建立“学生”表和“选课”表间的永久联系;通过“课程号”字段建立“课程”表和“选课”表之间的永久联系;通过“教师号”字段建立“教师”表和“课程”表之间的永久联系。,第3章 数据表与数据库,12,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 清理数据库 在建立参照完整性之前必须先清理数据库 “数据库清理数据库”,表处于打开状态,需要关闭,第3章 数据表与数据库,13,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 设置参照完整性约束,【含义】 参照完整性是指在建立了关系的两个表之间插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确 【设置】 必须先“清理数据库”:“数据库” “清理数据库” 参照完整性生成器,第3章 数据表与数据库,14,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 设置参照完整性约束,更新规则 级联:用新的连接字段值自动修改子表中的所有相关记录; 限制:若子表中有相关的记录,则禁止修改父表中的连接字段值; 忽略:不作参照完整性检查,可以随意更新父记录的连接字段值。,删除规则 级联:自动删除子表中的所有相关记录; 限制:若子表中有相关的记录,则禁止删除父表中的记录; 忽略:不作参照完整性检查,即删除父表的记录时与子表无关,插入规则: 限制:若父表中没有相匹配的连接字段值则禁止插入记录; 忽略:不作参照完整性检查,即可以随意插入记录,第3章 数据表与数据库,15,3.5 数据完整性,3.5.3 参照完整性与表之间的关系 设置参照完整性约束 【例3.17】为“教学”数据库中的“学生”和“选课”两个表设置参照完整性规则,更新规则为“级联”,删除规则为“级联”,插入规则为“限制” “数据库清理数据库” “数据库编辑参照完整性”,第3章 数据表与数据库,16,3.6 VFP中的常用命令,3.6.1 Visual FoxPro命令语法规则 Visual FoxPro的命令格式 说明: “”表示必选项 “”表示可选项 “”表示任选项 :任何命令必须以命令动词开头,可只写前4个字母 :限定命令操作的记录范围 ALL:对当前表中所有记录操作。 RECORD:仅对当前表中记录号为n的记录操作。 NEXT:对当前表中从当前记录开始的连续n条记录操作。 REST:对当前表中从当前记录开始到表尾的所有记录操作。,第3章 数据表与数据库,17,3.6 VFP中的常用命令,3.6.1 Visual FoxPro命令语法规则 Visual FoxPro的命令格式 说明: :限制只对符合指定条件的记录进行操作 FOR:选择表中符合条件的所有记录 WHILE:选择符合条件的记录,到第一个不符合条件的记录 :限制只对指定的若干个字段进行操作 FIELDS,第3章 数据表与数据库,18,3.6 VFP中的常用命令,3.6.1 Visual FoxPro命令语法规则 命令书写规则 任何命令必须以命令动词开始。 除命令动词外,命令中其他各子句的排列顺序不会影响命令的功能。 命令动词与子句之间、各子句之间都以空格分隔。 一个命令行最多包含8192个字符,一行书写不完可以在行尾加分号作为续行标志,然后换行继续书写。 不区分命令字符的大小写。 命令中除了汉字外所有的字符和标点都应在半角情况下输入。 文件名、字段名和变量名应避免使用保留字,第3章 数据表与数据库,19,3.6 VFP中的常用命令,3.6.2 有关数据库的基本操作命令 创建数据库 【格式】CREATE DATABASE|? 【说明】如果不指定数据库名或输入“?”,系统会弹出“创建”对话框,请用户输入数据库名。 【例3.18】通过命令方式建立“教学”数据库。 CREATE DATABASE 教学 打开数据库 【格式】OPEN DATABASE|? EXCLUSIVE|SHAREDNOUPDATE 【说明】 EXCLUSIVE|SHARED:表示以独占或共享的方式打开数据库 NOUPDATE:表示不能更改数据库,即数据库是只读的,第3章 数据表与数据库,20,3.6 VFP中的常用命令,3.6.2 有关数据库的基本操作命令 修改数据库 【格式】MODIFY DATABASE|? 【功能】打开数据库设计器界面修改数据库 关闭数据库 【格式】CLOSE DATABASE 【功能】关闭当前打开的数据库和数据表 删除数据库 【格式】DELETE DATABASE |?DELETETABLESRECYCLE 【说明】 DELETETABLES:在删除数据库的同时删除表(.DBF)等对象 RECYCLE:将删除的数据库文件和表文件等放入Windows回收站中,第3章 数据表与数据库,21,3.6 VFP中的常用命令,3.6.2有关数据库的基本操作命令 向数据库中添加表 【格式】ADD TABLE|?NAME 【功能】在当前数据库中添加指定的表。 【说明】 :指添加到数据库中的表名。 NAME:为表指定一个长文件名,最多128个字符 【例】 ADD TABLE 课程 NAME 2009级学生课程信息表 从数据库中移去或删除表 格式】REMOVE TABLE |?DELETE 【功能】将指定的表从数据库中移出。 【说明】DELETE表示移出表的同时将该表从磁盘上删除 【例】 REMOVE TABLE 课程,第3章 数据表与数据库,22,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 建立表结构 【格式】CREATE |? 【功能】调用表设计器,创建一个新表 修改表结构 【格式】MODIFY STRUCTURE 【功能】打开当前表的“表设计器”对话框,可对表结构进行修改 【说明】当字段宽度改小时,如果该字段为字符型,则超出字段宽度的字符会丢失;如果该字段为数值型,则会溢出,这时在表的浏览窗口看到的是几个“*”号,并且丢失的字符或数字不能通过将字段改为原有长度而恢复,第3章 数据表与数据库,23,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 打开和关闭表 打开表 【格式】USE |? 【功能】打开指定的表文件。若该表含有备注型或通用型字段,则自动打开同名的FPT文件 【例】USE D:教学管理系统学生 关闭表 【格式1】USE:关闭当前打开的表。 【格式2】CLOSE ALL:关闭所有打开的文件。 【格式3】QUIT:关闭所有文件,退出Visual FoxPro系统,第3章 数据表与数据库,24,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 记录指针定位 【说明】 记录首标记:指向表文件第一条记录的前面,此时BOF( )的值为.T. 记录尾标记:指向表文件最后一条记录的后面,此时EOF( )的值为.T.,第3章 数据表与数据库,25,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 记录指针定位 直接定位 【格式】GO|GOTO |TOP|BOTTOM 【功能】将记录指针定位于指定的记录 相对定位 【格式】SKIP 【功能】将记录指针从当前记录向上或向下移动若干个记录 【例3.23】打开“学生”表,在命令窗口输入命令,在主窗口观察记录指针的变化,第3章 数据表与数据库,26,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 显示表记录 【格式】LIST|DISPLAY FIELDSFOR 【功能】显示当前表中的内容。若没有范围选项,LIST命令显示全部记录,DISPLAY命令显示当前一条记录 【例3.24】学生表共有9条记录,显示第一条和后三条记录。 USE 学生 DISPLAY GO 7 LIST REST,第3章 数据表与数据库,27,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 修改表记录 少量修改:CHANGE、EDIT和BROWSE 批量修改:REPLACE 【格式】REPLACE 范围 WITH ; , WITH ,FOR 【功能】用表达式的值替换对应的字段值,默认对当前记录操作 【例3.25】将“学生”表中所有党员的入学成绩增加10分。 USE 学生 REPLACE ALL 入学成绩WITH 入学成绩+10 FOR 党员否,第3章 数据表与数据库,28,3.6 VFP中的常用命令,3.6.3 有关数据表的基本操作命令 追加和插入表记录 追加记录 【格式1】APPEND BLANK 【功能】向打开的表文件末尾添加新记录。 【说明】BLANK子句表示在表的末尾追加一条空白记录 【格式2】APPEND FROM FIELDS FOR 【功能】从指定的表文件中读取数据并追加到当前表文件的末尾。 【例3.26】现有一空表“学生1”,其表结构与“学生”表结构相同,要求将“学生”表的记录追加到“学生1”表中。 USE 学生1 APPEND FROM 学生 LIST,第3章
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号