收藏 分销(赏)

数据库第五章ppt课件.ppt

上传人:二*** 文档编号:12483459 上传时间:2025-10-17 格式:PPT 页数:42 大小:238.50KB 下载积分:5 金币
下载 相关 举报
数据库第五章ppt课件.ppt_第1页
第1页 / 共42页
本文档共42页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,Visual FoxPro,第五讲,1,.,第5章 数据库,5.1 数据库设计概述,5.2 数据库操作,Visual FoxPro 6.0,与以前版本相区别的强大功能之一是使用了数据库。在,Visual FoxPro 6.0,中,数据库已不再用于存储数据,而是用来存储数据库对象的属性,例如在数据库中可以设置默认字段值、创建数据验证规则和触发器。另外,在数据库中还可以创建视图、存储过程和表间永久关系。,2,.,5.1 数据库设计概述,采用可靠的数据库设计过程,就可以快速高效地创建一个设计完善的数据库,为以后访问所需信息提供方便。数据库设计一般包括以下步骤。,5.1.1 需求分析,5.1.2 确定需要的表,5.1.3,确定表的字段,5.1.4,确定表间关系,5.1.5,检验与测试,3,.,5.1.1 需求分析,要设计一个结构合理的数据库,首先要了解用户需要从数据库中得到哪些信息以及用户是如何使用这些数据的。例如,我们打算建立教学管理数据库,主要用来管理学生信息、教师信息、课程信息以及考试成绩信息。,4,.,5.1.2 确定需要的表,要建立一个数据库,需要收集许多资料和信息。将这些信息按主题进行分类,分解为各个基本实体,每个实体可以设计为数据库中的一个表。例如,教学管理数据库包括学生表、教师表、课程表和学生成绩表。,5,.,5.1.3 确定表的字段,根据用户需要从表中了解哪些信息,确定数据库表的结构,也就是每个数据库表需要包括哪些字段。一般情况下,表中数据都是原始数据,不必包含可通过推导得到或通过计算可以得到的字段。另外,还需要确定数据库中每个数据表的主关键字,它能唯一确定表中各条记录。,6,.,【例5-1】,按照以上要求,建立教学管理数据库,主要包括四个表,其中加下划线者是主关键字。,学生表:,学号,、姓名、性别、年龄、是否团员、,入学日期、简历、照片。,教师表:,教师号,、姓名、性别、职称。,课程表:,课程编号,、课程名称、教师号、课时、,授课地点、授课时间。,学生成绩表:,学号、课程编号,、成绩。,7,.,5.1.4 确定表间关系,在关系型数据库中各个独立表存储的数据之间可能存在一定的关系,为了对这些内容进行组合,以得到有意义的信息,用户可以在这些表之间定义关系。要建立表间关系,可以在一个表中将另一个表的主关键字作为其外关键字添加进来,也可以通过创建一个新表来表示这种关系。,8,.,例如,教师表和课程表之间存在着一对多关系,因此我们将教师表中的教师号添加到课程表中。“学生表”和“课程表”之间存在着多对多关系,我们加入“成绩表”,使得“学生表”和“学生成绩表”可以通过学号建立关系,“成绩表”和“课程表”可以通过课程编号建立关系,进而表示出学生表和课程表之间的关系。,9,.,5.1.5 检验与测试,确定表、字段和关系后,应该对设计方案进行分析,检查其中的错误和缺陷。具体方法可以先创建表,在表中添加几个示例数据,检验是否能够从表中得到想要的结果。,在最初的设计中,不要担心发生错误或遗漏东西,这只是一个初步方案。在测试过程中如果发现错误,通过,Visual FoxPro,可以很方便地对设计方案进行修改。,10,.,5.2 数据库操作,5.2.1 数据库所包含的主要对象,5.2.2 创建数据库,5.2.3 使用数据库,5.2.4 在数据库中添加表、移去表,5.2.5 数据词典,5.2.6 教学管理数据库示例,11,.,5.2.1 数据库所包含的主要对象,Visual FoxPro,数据库文件的扩展名为.,DBC,,建立数据库后,与之相关的还会自动建立一个扩展名为,.,dct,的数据库备注文件,和一个扩展名为,.,dcx,的数据库索引文件,。,Visual FoxPro,系统中数据库管理的主要对象有:表、远程视图、本地视图、存储过程和连接。以上这些对象,只有表是真实存在的文件,其他对象必须存储于数据库中。,12,.,1.数据库表,我们在第四章介绍的表都是与数据库无关的,称为自由表。如果将表存放在数据库中,称为数据库表。数据库表增加了许多新功能,例如可以为数据库表设置字段属性、设置记录规则、建立永久关系以及建立参照完整性。,2.视图,视图是一种虚表,利用视图可以把分散在相关表中的数据收集到一起,视图的使用方法将在下一章介绍。,13,.,3.存储过程,使用存储过程主要为了创建用户自定义函数,这些函数的代码保存在数据库文件中,数据库表的字段级规则和记录级有效性规则可以引用这些函数。,4.连接,使用连接对象可以通过,ODBC(,开放式数据库互连)技术与远程数据库相连,创建远程视图,使用后台数据库。,14,.,5.2.2 创建数据库,一、数据库设计器,数据库设计完成后,就可以通过数据库设计器和命令方式创建数据库。数据库设计器能显示当前数据库中的全部对象,包括表、视图、关系和连结等,并且可以让用户操作这些对象。通过数据库设计器用户可以建立数据库表,也可以将自由表添加到数据库中。,15,.,二、启动数据库设计器,通过命令方式来实现,命令格式如下:,【格式】,CREATE DATABASE|?,EXCLUSIVE,【,功能】创建并打开一个数据库文件。,【说明】:指出要创建的数据库名称。,使用参数?或不使用任何参数会打开“创建”对话框,在其中可以指定数据库名称。,例如:,Create database c:vfpexjxgl.dbc。,选择“文件”菜单中的“新建”命令,会出现“新建”对话框。单击“数据库”单选按钮,然后单击“新建文件”按钮,出现“创建”对话框。在该对话框中选择文件夹:,c:vfpex,,输入数据库文件名:,jxgl,,最后单击“保存”按钮,就可以启动数据库管理器,创建数据库,jxgl.dbc。,16,.,三、数据库设计器界面,启动数据库设计器会显示“数据库设计器”窗口,同时在系统菜单中会增加“数据库”菜单。用户可以通过“数据库”工具栏(见图5-2所示)或者“数据库”菜单对数据库进行操作。,添加表,移去表,新建表,浏览表,连接,编辑存储过程,建立远程视图,建立本地视图,修改表,图5-2 数据库设计器工具栏,17,.,5.2.3 使用数据库,1.打开数据库,在数据库中建立或使用表时,需要先打开数据库。,在“数据库”菜单中选择“打开”命令,通过“打开”对话框打开。,【格式】,OPEN DATABASE|?,EXCLUSIVE|SHARED,NOUPDATEVALIDATE,【,功能】打开数据库。,【说明】在打开数据库时,如果不使用数据库名,或者使用?,将启动“打开”对话框。数据库的打开有独占方式(,EXCLUSIVE),和共享方式(,SHARED),两种方式。,使用,NOUPDATE,选项只能读取数据库中的信息,不能更新数据库。,使用,VALIDATE,子句表示打开数据库时将检查数据库中引用的对象是否合法,如检查数据库中的表和索引是否有效。,打开数据库后,如果使用,USE,命令打开表,,Visual FoxPro,将首先在当前数据库中打开指定表,如果找不到,再从数据库外查找。,18,.,2.修改数据库,用户还可以通过数据库设计器修改数据库,打开数据库的命令格式如下。,MODIFY DATABASE|?,NOWAIT NOEDIT,【,功能】修改数据库。,【说明】不使用任何选项,会启动数据库设计器对已经打开的数据库进行修改,若当前没有打开数据库,则启动“打开”对话框要求用户选择一个数据库。,NOWAIT,选项只在程序中使用,其作用是在打开数据库设计器后继续执行该命令之后的语句。如果不使用该选项,在打开数据库后,应用程序会暂停,直到数据库关闭后应用程序才会继续执行。,使用,NOEDIT,选项只打开数据库设计器,而不能对数据库进行修改。,19,.,3.,关闭数据库,使用,CLOSE DATABASES ALL,命令可以关闭打开的数据库,其中,ALL,子句表示关闭所有数据库,否则只关闭当前数据库。,20,.,5.2.4 在数据库中添加表、移去表,创建数据库后就可以向其中添加新表或从中移去旧表。,一、添加表,1.新建数据库表:,打开数据库设计器后,选择“数据库”菜单中的“新建表”命令或者单击“数据库设计器”工具栏中的“新建表”按钮,会出现“新建表”对话框。在其中选择“新建表”按钮,输入表文件名称,然后单击“确定”按钮。,另外,也可以使用,create,命令来创建数据库表。,21,.,2.添加自由表:,也可以使用命令“,add table”向数据库中添加自由表。例如:,OPEN DATABASE jxgl,&,打开数据库,jxgl,ADD TABLE student,&,将,student.dbf,加入数据库,22,.,二、移去表,数据库不需要某个表时,可以将该表从当前数据库中移除,使其成为自由表。操作方法如下:,在数据库设计器中选择要移除的表,然后从“数据库”菜单中选择“移去”命令或者单击“数据库设计器”工具栏中的“移去”按钮。,另外,使用命令“,remove tables,delete”,也可以从数据库中移去表,如果在命令中使用,delete,子句会将该表从磁盘上删除。,23,.,5,.3,数据库表的使用,数据词典用来保存数据库中各种对象的定义和设置信息,包括表属性、字段属性、记录有效性规则、表间关系以及参照完整性等。用户可以通过数据库设计器设置、显示和修改这些属性,而自由表一般没有这么多的属性,下面介绍数据库表的属性信息及其设置方法。,24,.,一、字段属性,数据库表的字段除了具有自由表字段的基本属性外,还具有许多扩展属性。通过表设计器可以对这些属性进行设置,,1.基本属性设置,字段的基本属性包括字段名、类型、宽度、小数位数等,这些属性的设置方法已经在自由表中介绍过,在此不再赘述。,25,.,2.显示属性设置,字段的显示区用于设置字段显示格式和输入格式,包括3项内容:,格式、输入掩码和标题。,格式:指定字段在浏览、表单或报表中的显示格式。例如:设置该字段显示为大写,则在格式文本框中输入:!。,输入掩码:用于限制或控制用户输入数据的格式。输入掩码可以是以下字符:,X,允许输入字符 9 允许输入数字,#允许输入数字,空格,+,-,$显示,set currency,命令指出的货币号,*在指定宽度内,值左显示星号,.指出小数点位置 ,用逗号分隔小数点左的数字,例如,要指定电话号码的区号为4位,电话号码为8位,可以指定输入掩码为:(9999)99999999。,标题:用来为浏览窗口、表单或报表中的字段指定显示标题。,26,.,3.字段注释,用来对字段的用途、功能等进行说明,以便日后或其他人对数据库进行维护。,4.字段有效性,字段有效性用于为选中字段设置某些限制。各设置项的含义如下:,规则:,设置字段级有效性检查规则。用户可以直接输入表达式,也可以在表达式生成器中输入。字段级规则在字段值改变时发生作用。,信息:,指定出错信息,当该字段输入的数据违反有效性规则时,将显示此处提供的出错信息。,默认值:,指定字段的默认值。,27,.,【例5-2】在学生表中设置“学号”字段的属性。,设置输入掩码为“99999999”,标题为“学号”,字段有效性规则为:,LEN(TRIM(sno)=8,,出错信息为:“学号应为8位!”。,28,.,二、表属性,选择表设计器中的“表”选项卡,可以设置表注释、记录验证规则和触发器。,1.表名,用户可以为数据库表指定最长不超过128个字符的长表名,但该名称不作为表文件名,它只是表的别名,可以在项目管理器、数据库设计器、表单设计器中显示。,2.记录有效性,规则:指定记录级有效性检查规则。该规则在用户插入记录或从记录离开时进行检验。,信息:用于指定出错提示信息,当记录不符合记录级有效性规则时显示。,29,.,3.触发器(略),触发器是在进行插入、更新或删除操作后执行的记录级事件代码。,触发器分为,插入触发器、更新触发器和删除触发器,,当数据库进行插入、更新、删除时,数据库会自动启动这些触发器,以保证数据的完整性。,例如,删除学生表中的某个学生记录,那么该学生所对应的成绩也应该从成绩表中删除,这样的操作可以在学生表的删除触发器中进行。,4.表注释,用于指定出现在项目管理器中的注释信息。,30,.,三、主索引,本书4.3节介绍了四种类型的索引,其中主索引不允许在指定关健字段或表达式中出现重复值,主要用于主表或被引用的表,用来在永久关系中建立参照完整性。主索引可以用作主关键字,仅适用于数据库表。每个数据库表,只能建立一个主索引。主索引可以在表设计器的“索引”选项卡中设置,如图5-6所示。使用命令方式也可以建立或删除主索引,命令格式如下:,Alter table,Add|drop primary key ,tag,说明:命令中的,ADD,用于添加主索引,缺省,tag,子句表示索引关键字与字段名相同。,Drop,用于删除主索引。例如:以“学号”为关键字建立主索引可以使用以下命令。,Alter table student add primary key sno tag sno,31,.,四、建立永久关系,1.永久关系,永久关系是存在于数据库表之间的一种关系,这种关系可以作为数据库的一部分保存起来。要在数据库表之间建立永久关系,必须保证在父表中已经创建了索引。,在一对多关系中,主表必须使用主索引关键字(主索引标识)或侯选索引关键字(侯选标识),子表使用普通索引关键字(普通索引标识)。,在一对一关系中,两个表必须都用主索引关键字(主索引标识)或侯选索引(侯选索引标识)。,永久关系在查询和视图中,会自动作为联接条件,并且能够作为表单和报表的默认关系,显示在数据环境设计器中。此外,还允许通过永久关系建立参照完整性。,32,.,2.建立永久关系,建立永久关系可以通过以下步骤完成:,确定两个具有一对多或一对一关系的表。,建立主表的主索引或侯选索引。,建立子表索引。如果关联是一对多关系,需要在子表中以,主表关键字建立普通索引。如果是一对一关系,在子表中需要建立与主表相同的主索引或候选索引。,从主表的主索引或侯选索引到子表的相关索引建立永久关系。,举例演示,(例,5-4,),33,.,五、参照完整性,1.参照完整性的定义,参照完整性用来控制数据一致性,尤其经常用来控制数据库相关表之间的主关键字与其外关键字之间的数据一致性。相关表的参照完整性规则是建立在永久关系基础上的,可以在主表或子表的触发器中设置,规则代码被保存在数据库的存储过程中。对于建立永久关系表,在一个表中插入、修改或删除记录时,相关表的记录也要发生变动。,34,.,2.设置参照完整性规则,打开数据库设计器,选择,“数据库”,菜单中的,“编辑参照完整性”,命令或者用鼠标指向永久关系连线单击右键,然后在快捷表单中选择“参照完整性”命令或者双击永久关系的连线,然后在“编辑关系”对话框中选择“参照完整性”按钮,会出现完整性生成器”对话框。,参照完整性成器具有,更新、删除,和,插入,三个规则:,35,.,更新规则,用于指定修改父表中的关键字值时所触发的规则。选择“级联”表示更新父表关键字值时,同时会更新子表中相关记录的对应值;选择“限制”表示如果子表中有相关记录,则禁止更新父表关键字;选择“忽略”表示不管子表中的相关记录,都允许更新父表。,删除规则,用于指定删除父表中的记录时所触发的规则。选择“级联”表示删除父表记录时,同时会删除子表中的相关记录;选择“限制”表示如果子表中有相关记录,在删除父表中的记录时会出现“触发器失败”的提示信息;选择“忽略”表示不管子表中的相关记录,都允许父表删除记录。,插入规则,用于指定子表在插入新的记录或更新已存在的记录时所触发的规则。选择“限制”表示如果父表中没有相关的记录,在子表添加记录时产生“触发器失败”的提示信息;选择“忽略”表示允许子表插入记录,与父表无关。,36,.,5.2.6 教学管理数据库示例,下面,我们参照5.1节说明建立教学管理数据库,整个数据库涉及四个表,学生表,student.dbf、,教师表,teacher.dbf、,课程表,course.dbf、,成绩表,score.dbf,,学生表和成绩表结构与内容在第四章已经给出,这里我们只对教师表和课程表的结构与内容进行说明。,37,.,字段名,类型,宽度,小数位,索引,含义,Tno,字符型,5,升序,教师号,TNAME,字符型,8,姓名,TSEX,字符型,2,性别,TTITLE,字符型,10,职称,教师表,teacher.dbf,结构,38,.,教师表内容:,Tno,Tname,Tsex,Ttitle,01001,王利国,男,实验师,00002,肖建斌,男,副教授,00003,李树华,女,教授,00004,徐克,男,讲师,01005,刘建新,男,讲师,01003,耿静,女,助教,39,.,课程表,course.dbf,结构:,字段名,类型,宽度,小数,索引,含义,Cid,字符型,8,升序,课程编号,CID,字符型,16,课程名称,Tno,字符型,5,教师号,cperiod,数值型,2,0,课时,CCLASS,字符型,12,班级,cLOC,字符型,10,授课地点,cTIME,字符型,12,授课时间,40,.,课程表内容,cid,cname,tno,cperiod,cloc,ctime,20000101,大学体育,00002,24,操场,13,20000102,英语,00003,80,数学楼202,1133,20000103,计算机文化基础,00004,72,数学楼301,2243,20000104,数据结构,01005,60,数学楼301,1251,20000105,组合数学,01001,72,数学楼301,2142,20000106,数据库原理,01003,60,数学楼301,3152,41,.,第五讲 结束,42,.,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服