您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第五章 数据库的操作
VisualFoxPro程序设计刘鹏山西农业大学信息学院制作人:刘鹏2本节内容第五章数据库的操作5.1数据库的操作5.2设置数据字段信息5.3数据库表间关系和参照完整性制作人:刘鹏3引言在关系数据库中,为了减少数据的冗余,通常把一个复杂的表分解成多个表,表和表之间存在相互的联系。数据库就是由一个以上相互关联的数据表组成的,可被多个用户所共享,是数据库管理系统的重要组成部分。制作人:刘鹏45.1数据库的操作5.1.1创建数据库创建一个新的数据库时,相应的数据库文件的扩展名为“.dbc”,同时还会自动建立一个扩展名“.dct”的数据库备注文件和一个扩展名“.dcx”的数据库索引文件,这3个文件的文件名称相同,扩展名不同,是供VisualFoxpro数据库管理系统使用的,用户一般不直接使用这些文件。1.用菜单创建数据库2.使用命令方式创建数据库命令格式:CREATEDatabase[数据库文件名|?]3.使用项目管理器创建数据库制作人:刘鹏55.1.2打开与关闭数据库1.打开数据库(1)用菜单方式打开数据库(2)使用命令方式打开数据库命令格式:OpenDatabase[数据库文件名|?][EXCLUSIVE|SHARED][NOUPDATE]图5-3【数据库设计器】窗口制作人:刘鹏6VISUALFORPRO允许同时打开多个数据库,但只有一个数据库是当前数据库,可以在打开的多个数据库之间进行选择。①用命令方式选择数据库命令格式:SetDatabase[打开的数据库文件名]②用菜单方式选择数据库图5-7选择当前数据库制作人:刘鹏72.关闭数据库(1)在“项目管理器”中关闭数据库(2)用命令方式关闭数据库命令格式:CloseDatabase[All]5.1.3编辑数据库命令格式:ModifyDatabase[数据库文件名|?][Nowait][Noedit]说明:①Nowait:表示在打开数据库设计器后继续程序运行。②Noedit:表示禁止修改数据库。制作人:刘鹏81.在数据库中新建表2.在数据库中添加自由表3.在数据库中移去数据库表5.1.4删除数据库(1)在“项目管理器”中删除数据库(2)用命令方式删除数据库命令格式:DeleteDatabase数据库文件名[DeleteTables][Recycle]说明:①DeleteTables:从磁盘上删除包含在该数据库中的表和包含表的数据库。②Recycle:从数据库中移去表且不直接删除,而是移到Windows回收站中。制作人:刘鹏95.2设置数据字典信息数据字典(DataDictionary)用于保存数据库表中各种数据的定义或设置信息,存储在数据字典中的信息称为元数据,即记录关于数据的数据,如长表名或长字段名、有效性规则和触发器等信息。设置数据字典信息的目的是使得数据库表更加严谨。数据字典信息是通过表设计器来设置和修改的。制作人:刘鹏105.2.1字段显示属性及注释1.设置字段格式(输出掩码)为字段设置一个显示格式,可以指定这个字段在表单、浏览窗口或者报表中的显示格式,包括字母大小写、字体字号、字体样式等。可以在该字段中输入一个格式码,格式码实际上是字段输出的掩码(因此格式也叫做输入掩码),表5-1列出了常用的输入掩码。制作人:刘鹏11格式码(输出掩码)功能A表示只允许输字母字符(不允许输出数字、空格和标点)D表示使用当前系统设置的日期格式E表示以英国日期格式编辑日期型数据L表示在字段前输出前导零,而非空格字符R表示显示文本框的格式掩码,掩码字符不存储在控制源中T表示删除输入字符的前导空格分和结尾空格!表示把字母字符转换为大写字母;此格式代码仅适用于字符类型字段^表示使用科学记数法显示数值型数据,此格式化代码仅适用于数值类型字段$表示在字段数据前面显示货币符号表5-1VISUALFOXPRO的常用输出掩码制作人:刘鹏12实例4:将“学生信息表”的“姓名”字段数据中的英文字符全部设置为大写形式。制作人:刘鹏132.设置字段输入掩码字段输入掩码可以指定该字段输入的格式,使用输入掩码可以屏蔽非法输入,减少人为的数据输入错误,提高输入效率,保证输入的字段数据格式统一有效。表5-2列出了常用的输入掩码。制作人:刘鹏14输入掩码功能A表示只允许输入英文字母9表示只允许输入数字和正负号(第一个9表示一个数位)N表示只允许输入英文字母和数字X表示允许输入任何字符#表示只允许输入数字、空格、正负号和英文的句号(.)!表示允许输入任意字符,但所有的输入英文字母都会被转换为大写字母$表示在固定位置上显示当前货币符号*表示在值的左侧显示星号.表示用点分隔符指定数值的小数点位置,表示用逗号分隔小数点左边的整数部分,一般用来分隔千分位表5-2VISUALFOXPRO的常用输入掩码制作人:刘鹏15实例5:在“学生信息表”中增加“家庭电话”字段,字符型,宽度为14,设置“家庭电话”输入格式为(0999)99999999,即区号加括号。制作人:刘鹏16说明:①“格式码”是对当前字段值的全局性格式化控制;“输入掩码”是对当前字段值中对应单个字符的格式控制。如某字符型字段,宽度为10,假设数据内容都是英文字母,如果要求输入的都是大写字母,则可以在“格式”属性中输入“!”,或者在“输入掩码”中输入“!!!!!!!!!!”。②格式码和掩码可以互相组合或者多种格式组合使用。常用的一些格式码和掩码实例如表5-3所示。字段类型格式码掩码功能字符型(8)A!AAAAAAA表示只能输入8个字母,且第一个字母大写字符型(13)(999)99999999表示第一和第四字符为括号,其余为11个数字字符型(10)9999999999表示只能输入10位数字数值型(10,2)$999,999.99表示整数部分为6位,且以3位分节方式显示,小数部分2位,同时在最前显示货币符号。如输入1234.5,则显示$1,234,50数值型(8,2)L99,999.99如输入123.4,显示00,123.40表5-3常用格式码和掩码实例制作人:刘鹏173.设置字段标题和注释(1)字段的标题在定义数据库字段名称的时候,用户有时候使用英文名称或者缩写名称,这样定义有些使人难以理解字段的意义。使用标题属性可以指定字段名在浏览窗口、表单或报表中显示时的标题文字。如果没有设置字段标题,则默认情况下将字段名作为标题显示。对于英文字母作为字段名,使用中文的字段标题可以使得浏览窗口更加友好清楚。(2)字段的注释使用字段注释属性可以给字段加一些说明性的文字,用来说明该字段的用途、特性、使用方式等内容,以便日后自已或他人对数据库进行维护。制作人:刘鹏18实例6:设置“学生信息表”的“学号”字段的标题为“学生编号”,同时加上注释“入学年份+班级代码+座位号”,此注释说明了学号的编排方式。制作人:刘鹏19制作人:刘鹏205.2.2字段有效性规则字段有效性规则是针对字段的规则,是对字段值约束的设计。当插入或修改字段值时被激活,该规则用于检查字段数据输入的正确性。检验结果如果不符合要求,系统将显示出错提示,用户必须进行修改,直到符合规则时光标才能离开此字段。制作人:刘鹏21“字段有效性”的设置包括规则、信息和默认值。(1)规则:是指用来设置字段值输入的有效范围内或限制的规则,即条件表达式,运算结果为逻辑值.T.或.F.。(2)信息:如果输入的数据不符合有效性检验规则,则系统会显示相应的出错提示信息,是一个字符串表达式。(3)默认值:就是向数据库表中添加记录时,为字段自动填入的值,直到输入新值为止。制作人:刘鹏22实例7:在“学生选课管理”数据库中,设置“学生信息表”的字段如下有效性规则:①“性别”字段值只能输入“男”或“女”,出错信息提示“性别只能输入男或女!”,系统默认输入“男”。②“入学成绩”字段值的范围为[450,900],出错信息提示“入学成绩在[450,900]之间,不能超出!”制作人:刘鹏23制作人:刘鹏245.2.3记录有效性规则记录有效性规则是针对记录的规则,当插入或者修改记录时被激活,该规则用于检查记录输入的正确性。记录被删除时不使用有效性规则。记录有效性规则在字段有效性规则之后和触发器之前被激活。记录有效性规则只能对单条记录起到检验作用。制作人:刘鹏25实例8:在“学生选课管理”数据库中,约定“学生信息表”的“学号”不能为空,违反规则则提示“学号不能为空!”制作人:刘鹏265.2.4记录触发器插入触发器:用于指定一个规则,当每次向表中插入或追加记录时该规则被触发,检查插入的记录是否满足规则。更新触发器:用于指定一个规则,当每次更新记录时该规则被触发,检查更新的记录是否满足规则。删除触发器:用于指定一个规则,当每次删除记录时该规则被触发,检查删除的记录是否满足规则。制作人:刘鹏27实例9:在“学生选课管理”数据库中,在“学生信息表”中设置如下记录触发器。插入规则:每月份只有1~20号才能插入或追加记录,其他日期不能。更新规则:性别为“男”的学生才允许更新删除规则:姓名只有一个汉字或者2个字符以内的记录才允许删除。制作人:刘鹏28制作人:刘鹏295.3数据库表间关系和参照完整性5.3.1表间关系的概述1.一对一关系2.一对多关系3.多对一关系制作人:刘鹏305.3.2创建表间的永久关系表间的关系是建立在两个表的索引机制上的。因此首先要给两个表分别建立索引,再确定父表和子表的关系。具有关联性的两个表中,被引用关系的表称为父表(主表),而被用来进行引用设置的表称为子表(从表)。父表中的索引必须是主索引或者是候选索引;而子表中的索引可以是主索引、候选索引和普通索引。制作人:刘鹏311.创建表间的关系实例10:在“学生选课管理”数据库中有4张数据库表:学生信息表、课程表、教师表、成绩表,建立4个表的关联关系。数据库表索引关键字索引类型学生信息表学号主索引教师表教师编号主索引课程表课程代码主索引教师编号普通索引成绩表学号普通索引课程编号普通索引表5-4数据表的索引制作人:刘鹏322.编辑表间的关系如果建立表间的关系操作有误,可以随时编辑和修改关系。要编辑这些表间关系,可以双击选中表间连线(此时连线变成粗黑线),弹出【编辑关系】对话框,如图5-28所示。通过“编辑关系”可以修改指定的表间关系。3.删除表间的关系如果表间的关系不再需要时,可以删除表间的永久关系。表间关系如果设置错误时,也可以删除关系再重新设置。选择需要删除的关系连线,这时连接变粗,按【Delete】键或者右击选择【删除关系】命令,即可删除该关系。制作人:刘鹏33制作人:刘鹏345.3.3设置参照完整性参照完整性(ReferentialIntegrity,简称RI)是用来控制数据的一致性,尤其是控制数据库中相关表之间的主关键字和外部关键字之间数据一致性的规则。参照完整性属于表间的规则。制作人:刘鹏35更新规则删除规则插入规则当父表中的记录关键字值被更新时触发当父表中的记录关键字值被删除时触发当子表中插入或者更新记录时触发级联修改父表中某一记录时,子表中的相应记录将会修改删除父表中某一记录时,子表中的相应记录将被删除限制修改父表记录时,如果子表中有相应记录,则禁止操作删除父表记录时,如果子表中有相应记录,则禁止操作在子表中插入记录时,如果父表中没有相应的记录,则禁止操作忽略允许两表进行更新、插入或者删除记录等操作,互不影响表5-5参照完整性生成器选项的功能表制作人:刘鹏36小结1、复习要点。2、完成综合练习五。3、预习下一章。
本文标题:第五章 数据库的操作
链接地址:https://www.777doc.com/doc-3208542 .html