版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教材:?VisualFoxPro8.0实用教程?谢维成陈永强郑海春编著清华大学出版社第6章数据库的创立及操作6.1数据库设计概述6.2创立数据库6.3设置数据库表属性6.4创立数据库表间的关系6.5习题6.1数据库设计概述VFP中的表分为数据库表和自由表两类,文件扩展名为.dbf。数据库表具有自由表所没有的一些属性。数据库表和自由表可以相互转换,自由表参加到某一数据库时就成为数据库表,而数据库表从数据库中移出就成为自由表。
数据库设计的一般步骤1、分析数据需求:确定数据库要存储哪些信息;2、确定需要的表文件:一旦明确了数据库所要实现的功能,就可以将必需的信息分解为不同的相关主题,在数据库中为每个主题建立一个表;3、确定需要的字段:这实际上就是确定在表中存储信息的内容,即确立各表的结构;4、确定各表之间的关系:仔细研究各表字段之间的关系,确定各表之间的数据应该如何进行连接;5、改进整个设计:可以在各表中参加一些数据作为例子,然后对这些例子进行操作,看是否能得到希望的结果。如果发现设计不完备,可以对设计作一些调整。例:?学生学籍管理系统?1、分析数据需求:系统需要存储学生情况、课程、成绩信息。2、确定需要的表文件:xsqk.dbf,kc.dbf,xscj.dbf,xb.dbf,zy.dbf3、确定需要的字段:如表6.1~6.5所示;4、确定各表之间的关系5、改进整个设计表6.1“xsqk.dbf〞〔学生情况〕表中的字段标题学号姓名性别出生日期民族政治面貌说明照片字段名nonamesexbirthnationclannotephoto类型CCCDCCMG宽度982810444NULL否否否否否否可可主索引升序记录000802102朱欣男02/01/1982汉族团员000802103朱玥女12/01/1981汉族团员6.2“xscj.dbf〞〔学生成绩〕表标题学号课程代码成绩学期说明字段名nocourseidscoretermdetail类型CCNNM宽度935,11,04NULL否否否否可主索引no+courseid+STR(term)普通索引升序升序记录00080210100269.01Memo00080210100166.11Memo6.3“kc.dbf〞〔课程〕表标题课程名称课程代码字段名coursecourseid类型CC宽度203NULL否否主索引升序记录低频电路000计算机导论0016.4“xb.dbf〞〔系部〕表标题系部名称系部代码字段名depdcode类型CC宽度222NULL否否主索引升序记录电子信息与电气工程系08计算机科学与工程系096.5“zy.dbf〞〔专业〕表标题专业名称专业代码系部代码字段名majormcodedcode类型CCC宽度2222NULL否否否主索引dcode+mcode普通索引升序记录电气技术0108信息工程0208电子信息0308计算机及应用0109软件理论02096.2创立数据库建立数据库文件结合?学生学籍管理系统?数据库的建立,讨论如何创立数据库。1.利用“数据库设计器〞创立数据库【例6.1】利用“数据库设计器〞来创立“学生学籍管理系统〞数据库2.使用CREATEDATABASE命令创立数据库
数据库的操作〔1〕翻开数据库命令OPENDATABASE语法:OPENDATABASE[<数据库文件名>|?]功能:翻开一个数据库。〔2〕关闭数据库命令语法1:CLOSEDATABASES功能:关闭所有翻开的数据库和数据表语法2:CLOSEALL功能:关闭所有翻开的数据库和数据表,同时关闭除主窗口外的各种窗口。〔3〕修改数据库命令语法:MODIFYDATABASE[<数据库文件名>|?]功能:翻开当前数据库的“数据库设计器〞,修改数据库。〔4〕删除数据库命令语法:DELETEDATABASE<数据库文件名>|?功能:从磁盘上删除数据库文件。说明:删除数据库文件,原数据库中的表随即变成自由表。
数据库中表的操作VFP有两种形式的数据表,即自由表和数据库表。数据库表和自由表相比,具有一些自由表所没有的属性,如主关键字、触发器、默认值、表关系等。1.向数据库中添加表【例6.2】将前面建立的两个自由表“xsqk.dbf〞〔学生情况〕表和“xscj.dbf〞〔学生成绩〕表添加到数据库中,使它们成为“学籍管理数据库〞中的数据库表。2.从数据库中移去或删除表3.重命名数据库中的表
新建数据库表图“学籍管理数据库〞中的各个数据表【例6.3】使用数据库的“表设计器〞来创立“kc.dbf〞表6.3设置数据库表属性数据库表属性的常用概念1.触发器触发器是在对数据库表进行一个插入、更新、删除操作之后运行的事件级代码。不同的事件激发不同的动作,触发器在有效规那么之后运行。它们常用于检查已建立永久关系的数据库表之间的数据完整性。触发器只存在于数据库表中,自由表中不存在触发器,触发器是数据库的一局部,受数据库的管理。2.有效性规那么有效性规那么是检查输入数据是否满足某些条件的过程。3.记录规那么记录规那么是一种与记录有关的有效性规那么。当插入或修改字段值时被激活,多用于检查数据输入的正确性。记录规那么在字段规那么之后和触发器之前被激活。4.字段规那么字段规那么是一种与字段有关的有效性规那么,当插入或修改字段值时被激活,多用于数据输入正确性检查。字段规那么在记录规那么和触发器之前被激活。设置字段的显示属性1.设置字段的标题字段标题2.设置字段的显示格式常用的格式码:A表示只允许输出文字字符〔禁止输出数字、空格或标点符号〕;D 表示使用当前系统设置的日期格式;L 表示在数值前显示填充的前导零,而不是用空格字符;T 表示禁止输入字段的前导空格字符和结尾空格字符;! 表示把输入的小写字母字符转换为大写字母。3.设置字段的掩码常用的输入掩码:X 表示可输入任何字符;9表示可输入数字和正负符号;# 表示可输入数字、空格和正负符号;比方指定“xsqk.dbf〞表中的“no〞字段的输入掩码为“999999999〞,再把“name〞字段的显示格式指定为“AT〞。在这个表的浏览窗口中,当增加新记录时,“no〞字段只能接受数字输入,而不能输入空格字符、字母等。“name〞字段只能接受字母或汉字输入,而不能输入空格字符、数字等。设置“格式〞和“输入掩码〞,它们是相辅相成的。输入字段的注释字段注释字段注释表达式生成器窗口
字段有效性在数据库表的表设计器中,在“字段有效性〞的框线内有3个表达式文本框:规那么、信息和默认值。1.设置字段的默认值默认值2.设置字段的有效性规那么当在数据库中设置了有效性规那么,如果输入无效数据,那么VFP就产生警告信息,要求用户重新输入。根据有效性规那么激活方式的不同,有效性规那么分为两种:字段有效性规那么和记录有效性规那么。字段有效性规那么检查字段中单个信息输入的数据是否有效;记录有效性规那么只有在整条记录输入完成后才开始检查数据的有效性。字段有效性规那么记录有效性1.设置记录有效性规那么记录有效性规那么2.设置触发器字段级有效性和记录级有效性规那么主要限制非法数据的输入,而数据输入后还要进行修改、删除等操作。假设要控制对已经存在的记录所作的非法操作,那么应使用数据库表的记录级触发器。触发器是在某些事件发生时触发执行的一个表达式或一个过程。这些事件包括插入记录、修改记录和删除记录。当发生了这些事件时,将引发触发器中所包含的事件代码。6.4创立数据库表间的关系数据库表之间存在着永久关系和临时关系这两种关系。永久关系一旦创立就保存在数据库文件中;临时关系是在使用时临时创立的。索引可以对数据库表进行排序,也可以用其建立关系。在“数据库设计器〞中,通过连接不同表的索引可以很方便地建立表之间的关系。当把关系当作永久关系存储在数据库文件中以后,VFP就自动将永久关系作为查询、视图、表单和报表的默认关系。此外,利用永久关系还可以存储参照完整性信息。设置表间的临时关系在建立表间的临时关系后,就会使得一个表〔子表〕的记录指针自动随另一个表〔父表〕的记录指针移动。这样,便允许在关系中“一〞方〔或父表〕选择一条记录时,会自动去访问表关系中“多〞方〔或子表〕中的相关记录。【例6.4】通过“数据工作期〞对话框创立“xsqk.dbf〞表与“xscj.dbf〞表间的临时关系。设置表间的永久关系永久关系是数据库表间的关系,它们存储在数据库文件中,具有如下特点:•在“查询设计器〞和“视图设计器〞中,自动作为默认连接条件。•在“数据库设计器〞中,显示为联系表索引线。•作为表单和报表的默认关系,在“数据环境设计器〞中显示。•用来存储参照完整性信息。永久关系与临时关系不同,它不必在每次使用表时重新创立。在VFP中,可使用索引在数据库中建立表间的永久关系。【例6.5】使用“数据库设计器〞创立“学籍管理数据库〞中“xsqk.dbf〞表与“xscj.dbf〞表间的永久关系。在数据库的两个表中建立永久连接时,要求两个表的索引中至少有一个是主索引。必须先选择父表的主索引,而子表中的索引类型决定了要创立的永久连接类型:如果子表中的索引类型为主索引或候选索引,那么建立起来的就是一对一关系;如果子表中的索引类型为普通索引,那么建立起的就是一对多关系。被选中的关系线关系线快捷菜单参照完整性前面已经讲到字段级有效性和记录级有效性规那么,这里讲的参照完整性属于表间规那么。建立参照完整性涉及到生成一系列规那么,以便在输入或删除记录时,能保持已定义的表间关系。参照完整性应满足如下3个规那么:•在关联的数据表间,子表中的每一个记录在对应的父表中都必须有一个父记录。•对子表作插入记录操作时,必须确保父表中存在一个父记录。•对父表作删除记录操作时,其对应的子表中必须没有子记录存在。在VFP中,可使用“参照完整性生成器〞来设置规那么,控制如何在关系表中插入、更新或删除记录。【例6.6】将“xsqk.dbf〞表和“xscj.dbf〞表设置成级联性更新。在“参照完整性生成器〞中,用户可以对更新、删除或插入父表与子表记录时所遵循的规那么进行如下设置:〔1〕更新规那么级连:当修改父表中的某一记录时,子表中相应的记录将会改变。限制:当修改父表中的某一记录时,假设子表中有相应的记录,那么禁止该操作。忽略:两表更新操作将互不影响。〔2〕删除规那么级连:当删除父表中的某一记录时,将删除子表中相应的记录。限制:当删除父表中的某一记录时,假设子表中有相应的记录,那么禁止该操作。忽略:两表删除操作将互不影响。〔3〕插入规那么限制:当在子表中插入某一记录时,假设父表中没有相应的记录,那么禁止该操作。忽略:两表插入操作将互不影响。6.5习题一、选择题1.在数据库中可以存放的文件是〔〕。A〕数据库文件 B〕数据库表文件C〕自由表文件 D〕查询文件2.要关闭已经翻开的数据库,可使用以下命令〔〕。A〕CLEARB〕CLOSEC〕CLOSEDATABASE D〕CLEARALL3.在“表设计器〞的字段有效性验证中可以设置〔〕、信息和默认值三项内容。A〕格式 B〕标题C〕规那么D〕输入掩码4.翻开数据库文件的命令是〔〕。A〕USE B〕USEDATABASE C〕OPEN D〕OPENDATABASE5.VisualFoxPro系统,在“参照完整性生成器〞中选择“删除规那么〞选项卡,当按下“限制〞按钮时完成的功能是〔〕。A〕删除子表中的所有相关记录B〕允许删除,不管子表中的相关记录C〕对所有记录均限制删除D〕假设子表中有相关记录,那么禁止删除6.字段或记录的有效性规那么的设置是在〔〕中进行。A〕工程管理器 B〕数据库设计器 C〕表设计器 D〕表单设计器7.在数据库“表设计器〞的“显示〞栏中不包括〔〕。A〕规那么 B〕格式 C〕输入掩码 D〕标题二、填空题1.在VisualFoxPro8.0中,创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《学前教育法》是学前教育工作者的新征程
- 中考物理复习主题单元4第7课时运动的世界课件
- 第一章集合与常用逻辑用语考点三充分条件与必要条件教案
- 《玛丽哭了》教案讲解
- 员工灾难救助与重建指导
- 学校地下车库建设合同
- 供水管道维修班组施工合同
- 武汉市足球场租赁合同
- 保安巡逻安全操作手册
- 校园安全保卫工作手册
- 第7章国际资本流动与国际金融危机
- 藏传佛教英文词汇
- 模拟法庭刑事案例解析
- 人像摄影构图(PPT)
- 铁路杂费收费项目和标准
- 丹麦InteracousticsAD226系列临床诊断型听力计使用手册
- 万达会计综合实训
- 糖尿病健康知识宣教PPT课件
- 廉政风险防控台账
- 沪科版七年级上册数学总复习知识点考点
- 公路工程安全技术交底(完整版)
评论
0/150
提交评论