VFP讲稿第6周参考讲义.doc_第1页
VFP讲稿第6周参考讲义.doc_第2页
VFP讲稿第6周参考讲义.doc_第3页
VFP讲稿第6周参考讲义.doc_第4页
VFP讲稿第6周参考讲义.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP第六周电子讲义复习上节课内容索引、表之间的联系。注意建联系的索引应基于两表的公共字段。教学目的与要求1理解设计数据库2掌握数据库的建立、修改、删除操作3掌握数据库中表的操作4. 表间关系与参照完整性 重点1设计数据库2. 数据库的操作3. 表间关系与参照完整性难点表间关系与参照完整性第五章 数据库的设计和基本操作为了减少数据表的冗余,常常要把一个复杂的表分解为多个不可再分的表,而这些表之间通过关联关系连接起来,形成一个数据库。 利用多个表存储和显示一组相关的数据,就是在共享数据的前提下把多个表联系起来组成一个数据库,并使得各个表既可以独立操作,又可以利用关联关系共享数据资源,方便数据的存放。但在VFP的数据库文件中,不存储数据,而存储数据库表的属性以及组织、表关联和视图等,并可在其中创建存储过程。数据库文件由三个同名不同扩展名的文件组成:.dbc、.dcx、.dct文件,分别称作数据库文件、数据库索引文件和数据库备注文件。数据库文件中记载着所含数据库表的访问路径、表之间的联系等信息,具体的表数据存放在表文件(.dbf)中,而不是数据库文件中。数据库的好处: 在使用数据库时,可以对表进行功能的扩展,例如创建字段级规则和记录级规则、设置默认字段值和触发器等,还可以创建存储过程以及表之间的永久关系。此外,使用数据库还能访问远程数据源,并可创建本地和远程表的视图。以下内容感兴趣的同学可以自行研读:*一、数据库设计的步骤在数据库应用系统中,数据库的设计是一项非常重要的工作,数据库性能的优劣将直接影响到最终应用系统的性能。在设计时打好坚实的基础,设计出结构合理的数据库,会节省以后整理数据库所需的时间,更快地得到精确结果。经过多期的摸索,人们提出了各种数据库设计方法以及各种设计准则和规程,即规范化设计方案。1.分析数据需求若要创建高效的应用程序,必须首先分析数据需求,然后设计相应的数据库、表和索引以满足这些需求。设计数据库时要注意以下两点:要强调用户的参与,任分析数据库需求时,最好和数据库的使用人员多交换意见,不要自己凭空想象,并根据用户提出的要求。推敲数据库需要回答哪些问题;要充分考虑到数据库可能的扩充和改变、提高数据库的灵活性只有创建一个设计灵活的数据库,才能保证所建立的应用程序具有较高的性能。2确定数据库表一旦明确了数据库所要实现的功能。就可以将必需的信息分解为不同的相关主题,在数据库中为每个主题建立个表;经过细致的数据需求分析后,接下来的任务就是确定数据库中需要的表。确定数据库中需要的表是数据库设计过程中技巧性最强的一步。因为仅仅根据用户想从数据库中得到的结果(包括要打印的报表、要使用的表单等),只能确定需要数据库回答的问题。至于表的结构、表与表之间的关系,用户是不可能提出的,只能根据用户的需要及从数据库得到的内容,通过分析归纳来确定需要哪些表,并把需要的信息分门别类地归纳到相应的表中。也就是说,在设计数据库表时,应将不同主题的信息存储在不同的表中。由此可以根据数据需求确定数据库中是牵涉到的问题,起码每个主题就是一张表。在设计数据库的时候,首先分离那些需要作为单个主题而独立保存的信息,然后告诉VFP6.0这些主题之间有何关系,以便在需要时把正确的信息组合在一起。通过将不同的信息分散在不同的表中,可以使数据的组织工作和维护工作更简单,同时也容易保证建立的应用程序具有较高的性能。3确定所需字段表是由多个记录组成的,而每个记录又有多个字段组成。在确定了所需表之后,接下来应根据每个表中需要存储的信息确定该表需要的字段,这些字段既包括描述主体信息的字段,又包括建立关系的主关键字字段。为了保证数据的冗余性小且不遗漏信息,在确定表所需字段时应遵循以下几条规则。字段唯一性描述不同主题的字段应属于不同的表。表中不应有与表内容无关的数据,必须确保一个表中的每个字段直接描述该表的主题。如果多个表中重复同样信息,这表明在某些表中有不必要的字段,应将其删除。如果相同信息出现多次,不仅浪费存储空间,而且会增加出错的可能性,给数据库的维护带来很多麻烦。例如:成绩表中不应有“性别”、“生日”。字段无关性这一规则防止对表中数据作修改时出现错误。也就是在不影响其他字段的情况下,必须能够对任意字段进行修改。使用主关键字段Visual FoxPro 6.0数据库管理系统是一种关系型数据库管理系统,利用表间关系可以迅速查找存储在多个独立表中的信息,并将这些信息组合在一起。要做到这一点,数据库中的每个表都必须具有个标识符,可以唯一确定存储在表中的每个记录,这种唯一标识每个记录的信息称作表的主关键字,它由表中一个或多个字段构成。Visual FoxPor 60能利用主关键字迅速关联多个表中的数据,并把数据组合在一起。在确定表所需字段时,应该对每个表添加一个主关键字段。主关键字段不允许有重复值和NULL值,因此不能选择包含此类值的字段作为主关键字字段。外部关键字在创建新表时,应该保留与其他表相链接的少量信息,如”学号、”专业”、“课程代号”、“教师代号”等字段。这些用于“链接”的字段就是所谓的外部关键字。在一个设计的数据库中,外部关键字提高了效率。在开始设计数据库时就应保存有关的外部关键字。当定义表时,将主关键字与外部关键字链接起来,以告诉系统如何在需要从多个表中获取信息时自动地链接数据。收集所需的全部信息在设计数据库时,可能会遗漏一些重要的信息,这只有回到设计的第一步一一分析数据需求。应全面检查所需的表单和报表,重新思考需要VFP60回答的问题,确保所需的数据信息都包括在所设计的表中,或者可由这些表中的数据计算出来。以最小的逻辑单位存储信息如果把多个信息放入一个字段中,以后要获取单独的信息就会很困难,应尽量把信息分解成比较小的逻辑单位(例如,为学生姓名、学号和性别创建不同的字段)存储。4. 确定关系到目前为止,已经把信息分成了各个表,在每个表中可存储各自的数据。可是,这些表是孤立的,还需要在这些表之间定义关系。Visual FoxPro 60将利用这些关系来查找数据库中有联系的信息,并将它们重新组合,得到有意义的信息。一对一关系在一对一关系中,表一的一个记录在表二中只能对应一个记录,而表二中的一个记录在表一中也只能有一个记录与之对应。两表间的一对一关系不经常使用,因为在许多情况下,可将两个表中的信息合并成一个表。如果在数据库中存在一对一关系,那就要考虑下是不是能把这些信息合并到一个表中。也有一些因某种原因不想合并,比如,有些信息是不常用的,或者某些信息是机密的、不应给每个人看到。一对多关系一对多关系是关系型数据库中最普遍的关系。在一对多关系中,对于第一张表中的任意一个记录,在第二张表中可以有多个记录与之对应,但反过来第二张表中的任意记录,在第一张表中只有一个记录与之对应。多对多关系在多对多关系中,表一的一个记录在表二中可以对应多个记录,同样表二中的一个记录在表一中也可以对应多个记录。在具有多对多关系的两个表之间,如果将一个表的主关键字段添加到另一个表中,那么就会出现同一信息保存多次的情况,这样就不利于信息的管理和维护。因此,在设计数据库时,应将多对多关系分解成两个一对多关系,其方法就是在具有多对多关系的两个表之间创建第三个表。在VFP60中,把用于分解多对多关系的表称为“纽带表”。因为它在两表之间起着纽带的作用,可以把两个表的主关键字都放在这个纽带表中。纽带表可能只包含了它所连接的两个表的主关键字,也可以包含其他信息。在纽带表中,两个字段连在一起就能使每个记录具有唯一值。5完善数据库在设计数据库时,由于信息复杂和情况变化会造成考虑不周,设计出来的系统中会存在一些问题。例如,有些表没有包含属于自己主题的全部字段,或者包含了不属于自己主题的字段。此外,在设计数据库时经常忘记定义表与表之间的关系,或者定义的关系不正确。*以上内容做为额外补充内容,也可以不看。二、数据库的操作1数据库的建立建立数据库的常用方法有以下三种:(1)在项目管理器中建立数据库首先在“数据”选项卡中选择“数据库”,然后单击“新建”按钮并选择“新建数据库”,接着通过创建对话框提示用户输入数据库的名称,即扩展名为.dbc的文件名。(2)通过“新建”对话框建立数据库单击工具栏上的“新建”按钮或者选择“文件”菜单下的“新建”,“新建”对话框。首先在“类型”组框中选择“数据库”,然后单击“新建文件”按钮建立数据库,后面的操作和步骤在项目管理器中建立数据库相同。(3)使用命令交互建立数据库格式:CREATE DATABASE 数据库文件名|?调出数据库设计器2数据库的打开和修改在数据库中建立表或使用数据库中的表时,都必须先打开数据库,与建立数据库类似,常用的打开数据库的方式也有三种:(1)在项目管理器中打开数据库在项目管理器中选择了相应的数据库时,数据库自动打开,所以此时用户可能没有打开数据库的感觉,但不必再手工执行打开数据库的操作。(2)通过“打开”对话框打开数据库;单击工具栏上的“打开”按钮或者选择“文件”菜单下的“打开”,屏幕上显示“打开”对话框,在“文件类型”下拉列表框中选择“数据库(*.dbc)”,然后选择在“文件名”文本框后输入数据库文件名,单击“确定”按钮打开数据库,在“打开”对话在框中还有“以只读方式打开”和“独占”复选框中可供选择。“独占”:即不允许其他用户在同一时刻使用该数据库。“以只读方式打开”:即不允许对数据库进行修改,默认的打开方式是读 /写方式,即可修改。注意:为了使用数据库中的表是只读的,需要在用 USE 命令打开表的时候,再选择只读。(3)使用命令打开数据库;OPEN DATABASE 数据库文件名/? 使用命令打开数据库时,并不调出数据库设计器,包含在数据库中的所有表都可以使用,但是这些表不会自动打开,使用时需要用 USE 命令打开。Visual FoxPro在同一时刻可以打开多个数据库,但在同一时刻只有一个当前数据库,也就是说所有作用于数据库的命令或函数是对当前数据库而言的。3关闭数据库文件格式:CLOSE DATABASECLOSE ALL4删除数据库文件从项目管理器中删除数据库比较简单,直接选择要删除的数据库,然后单击命令按钮 “移去”,这时会出现提示对话框,这时可以选择:移去:从项目管理器中删除数据库,但并不从磁盘上删除相应的数据库文件;删除:从项目管理器中删除数据库,并从磁盘上删除相应的数据库文件;取消:取消当前的操作,即不进行删除数据库的操作。注意:以上提到的数据库文件是.dbc文件,而不是.dbf文件。DELETE DATABASE 数据库文件名(数据库文件关闭时才可以从磁盘上删除该文件)三、数据库中表的操作1建立新表(1)在项目管理器中建立数据库表(2)通过“新建”对话框建立数据库表(3)使用命令建立数据库表使用 OPEN DATABASE 命令打开数据库使用 CREATE 命令建立表。注:自由表字段名最长为 10 个字符。数据库表字段名最长为 128 个字符。2自由表变成数据库表(1)在项目管理器中添加数据库表(2)在数据库设计器中,添加表3数据库表的属性(1)显示组框(P94)字段显示的格式:是一个输出掩码,它决定了字段在表单,浏览窗口中的显示风格。输入的掩码:是字段的一种属性,用以限制或控制用户输入的格式。字段的标题:标题用于字段显示时的标题(2)字段有效性规则“规则”:字段有效性规则“信息”:违背字段有效性规则时的提示信息“默认值”:字段的默认值注意:“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”的类型则以字段的类型确定。4修改数据库中的表5移除或删除数据库表同自由表6.删除含有数据库表的数据库文件数据库文件被删除后,数据库表需要删除与原数据库文件的关联,重新恢复成自由表,才能被加入其它的数据库文件中。四、表间关系与参照完整性关系是表之间的一种链接,它使用户不仅能从当前选定表中访问数据,而且可以访问其他表中的数据。一旦在数据库中定义了两个以上的相关表,就应告诉VFP这些表之间的关系。这样,当以后在查询、视图、表单以及报表中使用这些表时,VFP就会知道如何链接这些表。 表之间创建关系之前,想要关联的表需要有一些公共的字段和索引。这样的字段称为主键字字段和外部关键字字段。主关键字字段标识了主表中的特定记录,外部关键字字段标识存于数据库里其他子表中的相关记录。还需要对主关键字字段做一个主索引,对外部关键字段做普通索引。 定义完关键字段和索引后,即可创建关系。通过链接不同表的索引,在“数据库设计器”中可以很方便地建立起两表之间的关系。因为在数据库中建立的关系被作为数据库的一部分而保存起来,所以这种关系称为永久关系。当在“查询设计器”或“视图设计器”中使用表,或者在创建表单时在“数据环境设计器”中使用表时,这些永久关系将作为表间的默认链接。1建立关系在VFP中,可使用索引在数据库中建立表间的永久关系。之所以在索引间创建永久关系,而不是字段间的永久关系,是因为这样可以根据简单的索引表达式或复杂的索引表达式联系表。(1)三种联系一对一:主表中每一条记录只与相关子表中的一条记录相关联。如:学生信息表与学生成绩表。 一对多:主表中的每一条记录与相关子表中的多条记录相关联,即表A的一条记录在表B中可以有多个记录与之对应,但表B中的一个记录最多只能有一个表A 的记录与之对应。一对多联系是最普遍的联系。如:系与学生。多对多:一个表中多个记录在相关表中同样有多个记录与其匹配。如:学生与课程、图书与读者。(2)在数据库设计器中建立表之间的联系(永久性联系)演示建立联系和联系连线的形态。在VFP中建立表之间的关系非常简单:在“数据库设器中,选择主表中想要关联的索引名,然后把它拖到相关表匹配的索引名上即可。(1) 一对一:父表、子表均基于连接字段(两表共有的字段)建立主索引或候选索引。(2) 一对多:父表基于连接字段建立主索引,子表基于连接字段建立普通索引。注意:建立关系时,父表的索引一定是主索引。在“数据库设计器”中各表的主索引标识前有一把钥匙图标。2编辑关系 要想编辑关系,可首先单击关系线,此时关系线将变成粗黑线。然后右击该关系线,在快捷菜单中选择“删除关系”或“编辑关系”命令即可删除或修改指定关系。删除关系编辑关系3.关系的完整性约束(1)实体完整性与主关键字实体完整性是保证表中记录惟一的特性,利用主关键字或候选关键字来保证。(2)域完整性与约束规则可以限定字段取值类型和取值范围,还可以用一些域约束规则进一步保证域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论