程序设计课件第4章.ppt_第1页
程序设计课件第4章.ppt_第2页
程序设计课件第4章.ppt_第3页
程序设计课件第4章.ppt_第4页
程序设计课件第4章.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、基本要求与基本知识点 (1)掌握数据库文件的建立、修改与删除 (2)掌握向数据库文件中添加或删除数据表的操作 (3)掌握数据库表和自由表的区别 (4)掌握数据库表的字段级规则和记录级规则的设定 (5)掌握工作区的选择、建立数据表之间的关联关系,设置数据表之间的参照完整性,第4章 创建与操作数据库,(1)数据库文件的建立、修改与删除 (2)数据库表的字段级规则和记录规则的设定 (3)数据完整性的设置 (4)数据表之间的关联关系的设置,教学重点与难点,数据库: 是表和表间关系的集合 数据库设计:明确存储数据的方式与关联方式 1. 分析数据需求 2. 确定需要的表 3. 确定所需字段 4. 确定各表

2、之间的关系 5. 设计优化,4.1 数据库设计概述,一.创建数据库 1.数据库:主要是由多个表、视图或查询组成的,各 个表之间具有相关性. 注意数据库文件的扩展名为.DBC. 2.创建数据库: 用“数据库设计器” :“文件”“新建” 用“向导” 命令:create database ,4.2 创建与操作数据库,1.交互方式打开与关闭数据库 “文件”“打开” “文件”“关闭” 2.打开数据库: open database exclusiveshared 显示的状态是数据库设计器窗口. 3.关闭数据库:close database或close all 4.打开“数据库设计器”窗口 Modify d

3、atabase |?,二.数据库的操作,delete database delete tables delete tables选项表示在删除数据库的同时 也删除其中的表文件,若无此项,则只删数据 库,库中的表将变成自由表。 注意:删除前关闭数据库文件,5.删除数据库,三.数据库中表的操作,在数据库中建立新表 方法一:在数据库打开状态下,建立的表 方法二:利用“数据库”菜单项中的“新建表” 方法三:利用open database 打开数据库,Create ,所建表属于数据库。,方法一:在数据库设计器窗口单击右键,弹出数据库快捷菜单,选“添加表”方法二: 选“数据库”菜单项中的“添加表”子菜单项。

4、方法三:命令add table 注意:一个表只能属于一个数据库文件,2.向数据库添加数据表:,命令: remove table delete 注:delete选项表示从库中移出并删除表 菜单方式,3.从库中移出数据表,use 数据库名!数据表名该库不是当前处在工作状态的数据库,而是随着表的打开而自动打开,随表关闭自动关闭 5.重命名表 Rename table to ,4.访问其他数据库中的表数据,1.新增的表属性在数据库环境中,可以对表进行各种操作,同时也增加了新的属性,但表从数据库中移去时,相应的新属性也消失.,4.3 设置数据库表的属性,新增的属性如下(主要用于字段值的规则验证): 主关

5、键字 数据表间的永久关系 长表名和长字段名:最长为128个字符,自由表中的字段为10 设置字段的显示标题:用汉字或其他形式显示字段名 设置字段、表、库的注释:对字段等的解释 设置字段的默认值:提高输入速度和准确性,4.3 设置数据库表的属性,有效性规则:字段值的取值规定可以提高数据输入时的准确性,以免接受无效数据。只存在于数据库表中。字段级(字段有效性规则)和记录级(表设计器的“表”选项卡) 触发器:对数据库表中的记录进行插入、删除、更新时运行的记录事件级代码。只存在于数据库表中。表设计器的“表”选项卡,2. 有效规则、触发器,设置字段的输入掩码、格式、信息等 输入掩码 描 述 X 可以输入任

6、何字符 A 字符型字段只允许输入字母 9 字符型字段只允许输入数字和正负号(+、-) # 可以输入数字、空格和正负号,不允许字母 ! 把输入的小写字母转换为大写字母 $ 在固定位置显示当前的货币符号 * 在数值的左边显示星号 . 指示小数点的位置 , 分隔小数点左边的数字串 显示格式:输出掩码,用于确定在表单、浏览窗口或报表 中显示字段值的方式。见P87表4.2 如“R999-9999999”,字段的输入为“1234567890”,则显示为“123-4567890”,一.工作区 内存中开辟的一块区域,用于存放打开的表。 1.当前工作区 数据表文件在内存中打开时,所对应的存放位置。 VFP6.0

7、提供了32767个工作区,编号分别为: 132767 ,默认1号为当前工作区。,4.4 多表操作,前十个工作区对应一个编号1 10或AJ 其它的为W11-W32767 表的别名:use alias noupdate 省略alias时,别名默认为表名 Noupdate:不允许修改表结构,2.别名,一个工作区中只能打开一个数据表文件,要同时使用多个数据表文件,就需要在不同的工作区中打开相应的数据表文件. 命令:select 说明:select 0表示选择当前尚未使用的编号最小的工作区作为当前工作区 别名可以是系统规定的别名,用户规定的别名,或用表名代替工作区别名,3.选择工作区,例如:select

8、 1 或 select a use 学生成绩表 alias xsb sele xsb Use in | 在指定的工作区打开表,但不改变当前工作区。,3.选择工作区,当前工作区:直接用字段名 非当前工作区:用 .或 例如:sele 1 use 学生表 sele 2 use 学生成绩表 display 姓名,学号,总分, A-出生日期, A-家庭住址,4.访问工作区中的数据,关联:在两个表之间建立一种逻辑联系,使两表中的记录指针同时移动,可以同时对两个表文件之间的相关记录进行处理. 永久关系:创建后保存在数据库文件中,随数据库打开而打开。 临时关系:使用时临时创建,关闭其中一个表,关系自动关闭。可

9、在“数据工作期”窗口或使用命令set relation to 创建。,二.数据表之间的关联,set relation to | into |additive 作用:将当前工作区中的数据表文件与其他工作区 中的表文件通过关键字建立关联. 说明: (1)关键字表达式中包含的字段必须是相关联的两个表文件共同具有的字段,被关联表应建立索引并打开,1.使用命令设置表间的临时关系,学生表,成绩表,(2)数值表达式:两个表之间按记录号进行关联, 被关联表不需建立索引. (3)ADDITIVE:表示建立本关联时仍然保留以前建立的本工作区与其它工作间的关联。,(4)当被关联表中有多个关键字值相同的记录时,指针指

10、向第1条,可以使用set skip to ,将记录定位到被关联表中相同关键字值的下一条记录. (5)可以使用set relation to 删除当前工作区的所有关系,1)sele 1 use stud sele 2 use sc index on 学号 to xh sele 1 set relation to 学号 into B list 学号,姓名,B-成绩 2)Sele 1 Set relation to recno()+3 into b,例,2.使用“数据工作期”窗口建立两表之间的临时关系,“窗口”“数据工作期” 3.创建表之间的永久关系 1.建立关系的条件: 表之间必须有相同的字段;

11、每一个表以相同的字段建立索引,至少有一个是主索引。 2.表之间存在的关系有 一对一的关系:主表为主索引,子表为主索引或侯选索引. 一对多的关系:主表为主索引,子表为普通索引或唯一索引. 3.建立的方法:用鼠标左键拖动主表的关键字段到子表的相 同索引字段。,对两个数据表进行物理连接,形成一个新表 格式:join with | to fields for ,三.数据表之间的连接,从当前表文件中第一条记录开始,与被连接表 的全部记录进行比较,连接条件为真值的,就将 两条记录连接为一条记录存放到新表中。 新文件生成后为关闭的 fields:指定新表中包括的字段 for :根据该条件进行连接,说明,用另

12、外一个数据表文件中的数据来修改当前数据 表文件中的内容。Replace命令只能修改当前表 中的记录。 格式:update on from | replace with , with random,四.数据表文件之间的数据更新,作用:记录指针从别名指定的表中开始移动,当 别名表文件中的记录与当前数据表文件中记录的 关键字段值相同时,进行指定字段的替换。 注:关键字段名:必须是两个表文件都有的字段。 Random:有该选项,则表示只需当前数据表 按关键字段建立索引或排序,否则两个表都必须 建立索引或排序,四.数据表文件之间的数据更新,更新时的三种情况: 1)如果当前表文件中关键字值相同的记录有多

13、个,则只有第一条被更新。 2)如果别名表中有多条记录的关键字值相同, 则先对别名表中关键字值相同的记录进行汇总, 然后再进行更新 3)如果无相同的关键字值则不进行更新,例如: sele 1 use 学生表 index 学生表_学号 sele 2 use 成绩表 (已经按学号建立一个结构复合索引) set order to tag 学号 sele 1 update on 学号 from B replace 总分 with 总分+B.成绩 或update on 学号 from B replace 总分 with 总分+B.成绩 random (使用random选项时,该语句对别名数据表文件不要求索

14、 引或排序),参照完整性:指一系列规则,当用户在一个表中插入、更新或删除记录后能保持已定义的表间关系。 表间建立永久关联之后,可以对关联记录设置相应的参照完整性。控制主表或子表中记录的插入、删除或修改,以便检查数据的正确性。,4.5 参照完整性,含义:是保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参照完整性实体完整性:保证表中记录唯一的特性,即在一个表中无重复记录存在。域完整性:字段的取值类型和取值范围,可以通过字段的类型定义、字段的有效性规则、默认值、出错信息等限制字段。参照完整性:记录级的验证,插入、更新、删除。当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的操作是否正确。,1.数据完整性,2. 在“参照完整性生成器窗口”设置参照完整性 设置步骤: 在“数据库设计器”窗口,单击要设置参照完整性的 两表间的连线,使连线变粗. 方式一:打开“数据库”菜单,选“编辑参照完整性” 子菜单项,进入“参照完整性生成器”窗口,进行设置. 方式二:单击

温馨提示

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

评论

0/150

提交评论