数据库表1课件_第1页
数据库表1课件_第2页
数据库表1课件_第3页
数据库表1课件_第4页
数据库表1课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 数据库与表的基本操作,3.1 VFP数据库及数据表,VFP数据库和表的概念 建立数据库和数据表前的准备工作 数据库的基本操作,3.1.1 VFP数据库和表的概念,数据库管理系统主要是通过数据库对数据进行有效的组织和管理。 VFP 引入了大型数据库管理系统的“数据库”概念,数据采用“数据库表与视图记录字段”的逻辑结构进行存储,并且引入了数据字典(数据字典是在创建数据库文件时系统自动生成的相应文件,是一个记录数据库中所有信息的表。)功能对数据库进行管理,增强了数据的可靠性、一致性和完整性。,一、数据库及作用,按照关系数据库理论,二维表就是关系模型中的一个关系,称为表(Table)。数据库则

2、是关系的集合,即表的集合,这些表协同完成某项任务。 数据库中各表之间是有联系的,称为关系。所以利用数据库除了可以存储一系列表之外;还可以在表之间建立永久关系,并存储在数据库中;可以设置表属性、字段属性及有效性规则和默认值;还可以建立和存储本地视图和外地视图,存储与远程服务器的连接。,实际上,数据库主要用于组织表,但数据并不存储于数据库文件(.DBC)中,而是存储在表文件(.DBF)中。但表间的永久关系、表属性、字段属性、视图定义、远程连接的定义等是真正存储在数据库文件中。,一、数据库及作用,二、表,表是基本的数据组织单位,数据管理的核心是对表的管理,表是按一定结构组织起来的。,二、表,根据表是

3、否属于数据库,可将表分为数据库表(Database Table,也称数据表)和自由表(Free Table)。在同一时间一个表只能属于一个数据库。可以在数据库中创造新据库表,也可以向数据库中添加自由表转为数据库表。还可以从数据库中移出表使之变为自由表,或者移出添加到别的数据库中。,二、表,我们日常用到的二维表格,对应于数据库中的一个数据表。日常二维表格有两大部分组成:表头和表格内容。在数据库的数据表中,数据表结构对应于表头,记录对应于表格内容。( 见 RSDA.DBF 数据表 ),表3-1 人事档案信息表,表3-1 人事档案信息表,从表3-1可以看到,它是由以下几部分组成的: 表的名字(标题)

4、:每张表都有一个名字,是用来概括表的内容。例如上表的名字人事档案信息表 表中每一列的栏目标题序列为表头,它标明了每一列对应数据的属性。例如在表3-1中的编号、姓名、出生日期、简历等等,即是表头。 表中每一行的数据是表的内容,由每行中具体的数据项内容组成的,它标明了某一事物的基本内容。例如在表3-1中,第二行反映的便是林文灵的个人情况。,数据表中 一行称为一个记录 一列称为一个字段 记录描述实体 字段描述实体的属性 字段应是数据表中不可再分割的基本数据项。,二维表与数据表的对应关系,一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。 数据表

5、的文件名相当于二维表中的表名,它是数据表的主要标识,用户可以依靠数据表名在磁盘上存取、使用指定的数据表。 数据表的结构相当于二维表的表头,二维表的每一列对应数据表中的一个字段,其属性决定了字段名、字段类型和字段长度。 数据表中的记录是数据表中不可分割的基本项,即二维表中的表的内容。一个数据表的大小,主要取决于它拥有的数据记录的多少。不包含记录的数据表称为空表。,1数据表名,数据表及自由表都有各自的名字标识符,以区别于其它表。 每个表都是以单独的文件存储于磁盘中,数据表名就是对应的文件名,文件名应符合Windows的规定,扩展名默认为 .DBF。可以使用字母、汉字、数字、下划线及它们的组合,但不

6、能使用*、?、空格等字符。注意:由于系统已设定了A、B、J 和W11、W12、W32767 作为数据库工作区别名,所以用户不要单独用它们作文件名。,2数据表结构,在创造数据表时,首先要定义数据表的结构,然后按数据表结构输入记录数据。定义数据表结构就是依次定义每个字段的字段名、字段类型、字段宽度、小数位数及是否允许NULL(空)值。 1)字段名 字段名是用来标识字段的,又称为字段变量。其命名规则同内存变量。 在VFP运行期间,许多操作都是通过字段名来访问这个字段的,所以字段名的定义最好与该字段所代表的数据属性相符,例如用英文单词、汉语拼音、汉字作为字段名,尽量遵循“见名知义”的原则。,2)字段类

7、型和字段宽度 VFP中的每一项数据都有固定的类型,每一个字段中的数据必须是同一种数据类型。数据类型定义了该种数据的表示方法、取值范围、所能进行的运算。在VFP数据表中,字段的数据类型共有13种,应根据具体的需要进行设置。,2数据表结构,2数据表结构,小数位数 只对数值型和浮动型数据有效。小数位的取值范围为015。 NULL值 该属性指定记录中字段是否允许输入NULL(空)值。需要注意的是,NULL值与空格、空字符串或0是不同的。NULL不是一种数据类型,当一个字段的值被置为NULL时,其数据类型并不发生改变。,3. 数据表的存在方式,数据表可以有两种存在方式:单独的一个数据表,我们称之为自由表

8、(Free Table);存在于数据库中的表,我们称之为数据库表(Database Table)。自由表是扩展名为.DBF的文件,它独立存在,不与任何数据库相关联;而数据库表的扩展名虽然也是.DBF,但是,它与某一个数据库相关联(也只能和惟一数据库相关联),隶属于某一数据库。,2. 数据表的存在方式,数据库中的表可以有一些自由表所没有的特性。这两种类型的数据表建立方式基本相同,只是数据库表需设定较多的属性,可以设置表和字段的各种规则。自由表可以很容易地添加到数据库中,使之转化成数据库表;反之,将一个数据库表从数据库中移走,则可将其转化为一个自由表,这时,表原有的一些特性或规则将会丢失。,3.1

9、.2 建立数据库和数据表的准备工作,1. 确定数据库的组织结构 在建立数据库和数据表时,应首先确定应用系统中的数据有哪些,这些数据应存放在几个数据表中,每个数据表中应包含哪些数据、数据表文件如何命名等。例如,对于一个人事管理系统,可能包含有人员编号、工作部门、姓名、性别、籍贯、出生日期、婚姻状况、工资状况、学历、职称、职务、简历等许多数据,为便于管理和避免数据的冗余,可以将这些数据组织到不同的数据表中,如档案信息数据表、工资信息表、管理信息数据表等。,3.1.2 建立数据库和数据表的准备工作,2. 数据规范化 日常生活中的表格大都是不规则表格,需要首先将其改造为规则的二维表格,按照关系理论中关

10、系的规范化原则,设计数据库的总体结构和各个数据表的结构。,3.1.2建立数据库和数据表的准备工作,3. 确立数据表的结构 在设置数据表的字段类型和宽度时,一般应遵循以下原则: (1) 文字性质内容的字段(如姓名、职称、职务、家庭住址等)以及不参加运算的数字性质内容的字段(如职工编号、身份证号、电话号码、商品代码等),其类型应定义为字符(C)型。,3.1.2 建立数据库和数据表的准备工作,(2) 参与运算的数字性质内容的字段(如工资、成绩、金额、单价等),其类型应定义为数值(N)型,并应根据实际需要保留相应的小数位。不要忘记负号和小数点都各占一位。 (3)日期性质内容的字段(如出生日期、制表日期

11、等),其类型应定义为日期(D)型。 (4)内容只能在两者中取一的字段(如婚否、性别等),其类型应定义为逻辑(L)型。,3.1.2 建立数据库和数据表的准备工作,(5) 字符个数较多的字段(如简历、简介等),其类型应定义为备注(M)型。 (6) 内容为OLE对象的字段(如照片、音乐等),其类型应定义为通用(G)型。 对非固定长度的字段,在定义其字段宽度时,既要注意目前的实际情况,也要考虑到将来的发展(如职工编号、学生证号等),要留有一定的余地。,3.1.2 建立数据库和数据表的准备工作,根据上述原则,人事档案信息表中各字段定义,3.1.3 数据库的基本操作,1. 建立数据库 (1) 在项目管理器

12、中建立数据库文件 (建立一个名为rsgl.dbc的数据库文件 ) (2) 利用菜单建立数据库文件 (3) 利用命令建立数据库文件 CREATE DATABASE 数据库名|?,3.1.3 数据库的基本操作 2. 打开数据库 (1) 在项目管理器中打开数据库文件 (2) 利用菜单打开数据库文件 (3) 利用命令打开数据库 3.关闭数据库 【格式】CLOSE DATABASE|ALL,3.1.3 数据库的基本操作,4. 数据库设计器 “数据库设计器”可以修改数据库中存放的内容,例如增加或删除数据库中的数据表等。打开“数据库设计器”,可以使用菜单中【文件】,然后选择【打开】,也可以使用MODIFY

13、DATABASE命令。 【格式】MODIFY DATABASE,3.2 数据表结构的建立、修改和显示,3.2.1 建立数据表结构 3.2.2 数据表结构的修改 3.2.3 数据表结构的显示,3.2.1 建立数据表结构 所谓建立数据表的结构,就是把数据表的字段名、字段类型、字段长度和小数位个数等数据输入到VFP系统中并保存到数据表文件中。 1. 利用表设计器创建数据表结构 (1) 在项目管理器中打开表设计器 (2) 利用菜单打开表设计器 (3) 利用命令打开表设计器,3.2.1 建立数据表结构 2. 利用表向导建立数据表结构 在数据库设计器中打开数据库rsgl.dbc,然后选择“文件”菜单中的“

14、新建”命令,出现“表向导步骤1字段选取”对话框。把rsda表添加到样表当中;选择rsda数据表;并选择样表中的字段 “表向导步骤1a选择数据库”对话框, “修改字段设置”对话框, “步骤3为表建立索引”对话框 ,忽略后将出现“步骤3a建立关系”对话框,也忽略出现“步骤4完成”对话框 ,选择“保存表,然后在表设计器中修改”,3.2.1 建立数据表结构 3. 设置数据库表的字段属性和表属性 (1) 设置数据库的字段属性 显示区域 “格式”属性 “输入掩码”属性 “标题”属性 匹配字段类型到类 字段有效性 “规则” 信息 默认值 字段注释,3.2.1 建立数据表结构 (2) 设置数据表的属性 记录有

15、效性 规则:指定记录中各字段取值必须满足的条件,也是通过表达式生成器对话框,将有效性规则用逻辑型表达式表示出来。 信息:指定当记录有效性验证不符合规则时,则弹出警告框,所显示的提示信息。 触发器 触发器也是一种检查表中记录数据有效性的机制。当对表中的记录进行插入、更新或删除操作时,将分别激活插入触发器、更新触发器、删除触发器,根据定义的验证条件进行检查。定义触发器的验证条件,也是用逻辑型表达式来表示。 表注释,3.2.2 数据表结构的修改 修改表结构主要包括:修改字段名、字段类型、字段宽度、小数位数、插入(添加)一个字段、删除一个字段、调换字段的顺序等内容。 1. 打开表设计器 (1) 在项目

16、管理器中选择要修改结构的表,然后单击“修改”按钮。 (2) 数据库设计器中选择要修改结构的表,右单击其表名,然后从弹出的快捷菜单中选择“修改”命令。 (3) 使用MODIFY STRUCTURE命令。,3.2.2 数据表结构的修改 2. 修改数据表结构 (1) 若要修改字段名、类型、宽度和小数位等 (2) 若要调换字段的位置 (3) 若要插入字段, (4) 若要删除某字段, (5) 若要在尾部添加字段,,3.2.3 数据表结构的显示 1. 在表设计器中显示数据表结构 2. 命令方式显示数据表结构 【格式】LIST | DISPLAY STRUCTURE IN 工作区号|表别名 TO PRINT

17、ER PROMPT|TO FILES 文件名 说明:LIST和DISPLAY可以选择任意一个,所不同的是:若字段很多,一页显示不下,LIST连续显示信息直到显示完为止;DISPLAY采用分页显示信息,即显示一屏信息后暂停,按任意键或单击鼠标就可以继续显示后面的内容。,3.2.3 数据表结构的显示 例如,可在命令窗口输入以下命令来显示数据表rsda.dbf的结构: USE rsda LIST STRU 从显示的信息中可以看出,字段宽度的总计数目比各字段宽度之和大1,这时因为系统保留了1个字节的宽度用来存放逻辑删除标记,3.3 数据表的基本操作,3.3.1 数据表的打开和关闭 3.3.2 记录的输

18、入 3.3.3 记录的浏览和显示 3.3.4 记录指针及其操作 3.3.5 修改记录 3.3.6 记录的删除与恢复,3.3.1 数据表的打开和关闭,1. 打开数据表 (1) 在项目管理器中打开数据表 (2) 通过“文件”菜单打开数据表 (3) 通过“数据工作期”窗口打开数据表 (4) 用命令打开数据表 【格式】USE |?IN 工作区号|工作区别名 ALIAS 表别名,2. 关闭数据表 USE :关闭当前工作区中打开着的数据表。 CLEAR ALL :关闭所有打开着的数据库和数据表,释放所有的内存变量。 CLOSE ALL :关闭所有打开着的数据库和数据表、设计器、项目管理器。 CLOSE D

19、ATABASE :关闭当前数据库和数据表,并选择1区为当前工作区。 CLOSE TABLES :关闭当前数据库中的所有数据表。 QUIT :在退出VFP的同时关闭所有的数据库和数据表等。,3.3.1 数据表的打开和关闭,1记录输入 根据输入到数据表中的顺序,数据表中的每个记录都被自动赋予一个顺序号,称为记录号。 注意以下几点: (1) 通用型和备注型字段的输入方法是双击字段名后的“gen”和“memo”,或是把光标移动到“gen”和“memo”上时按Ctrl+PageUp(PageDown)键,打开相应的输入窗口,之后即可输入通用型和备注型字段的内容,输入完毕后单击窗口关闭按钮或按Ctrl+W

20、键即可保存输入的内容(若按Ctrl+Q键则不保存输入的内容),返回到数据记录输入窗口。输入内容后,“memo”和“gen”分别变为“Memo”和“Gen”。,3.3.2 记录的输入,1记录输入 (2) 备注型字段的内容可直接输入,但通用型数据的输入一般使用插入对象的方法来插入数据。打开通用型字段的输入窗口后,选择“编辑”菜单下的“插入对象”,即出现插入对象对话框, (3) 如果需要向一个字段输入空值(NULL),则必须使用组合键:CTRL+,或者输入“.NULL .”。 (4) 在数据输入过程中,可随时移动插入点对输入的错误进行修改。 (5) 按Esc键或Ctrl+Q键也可关闭记录输入窗口,2

21、.记录追加 【格式】 APPEND BLANKIN 工作区号|表的别名,3.3.2 记录的输入,3. 从其它数据表文件中追加记录 (1)菜单方式 (2)命令方式 【格式】APPEND FROM 文件名|? FIELDS 字段名表 FOR 条件表达式 由于通用字段用于存储OLE对象,和其它字段不同,因此需要用特殊的命令: 【格式】APPEND GENERAL 通用字段名 FROM 对象的文件名.扩展名,3.3.2 记录的输入,1. 在“浏览”窗口中显示浏览记录 (1) 在项目管理器,选数据表,单击“浏览”按钮。 (2) 在数据库设计器中,右单击要浏览的数据表名,在快捷菜单中选择“浏览”命令。 (

22、3) 打开数据表后,选择“显示”菜单中的“浏览”命令。 (4) 打开数据表,在命令窗口中用BROWSE命令。 【格式】BROWSE FIELDS FOR FREEZE LOCK NOAPPENDNODELETE NOEDIT | NOMODIFY,3.3.3 记录的浏览和显示,2. 列表方式显示数据表记录 【格式】LIST|DISP FIELDS字段名表 范围FOR 条件表达式1 WHILE 条件表达式 OFFTO PRINTERPROMPT|TO FILES文件名,3.3.3 记录的浏览和显示,1. 当前记录 虽然一个数据表中可能含有多条记录,但记录指针某一时刻只能指向某一记录或数据表的首尾

23、。当记录指针指向某一记录时,该记录就被称为当前记录。“当前记录”是一个非常重要的概念,它既关系到字段变量的取值,也关系到许多命令的执行,因为在默认情况下(不指定操作范围时),VFP中一些命令只对当前记录进行操作,例如DISPLAY命令、REPLACE命令等。,3.3.4 记录指针及其操作,1. 当前记录 记录指针是虚拟的,不能直接看到, VFP中常用函数RECNO()来判断记录指针位置,如输入命令“?RECNO()”时,可以在桌面上显示出当前记录的记录号。另外,在浏览窗口中,窗口左侧的按钮上带有一个黑三角的记录就是当前记录。,2. 记录指针的定位 (1) 菜单方式定位记录指针 选择“表”菜单中

24、的“转到记录”项,3.3.4 记录指针及其操作,2. 记录指针的定位 (2) 命令方式定位记录指针 a. 指针的绝对移动 【格式一】GO|GOTO TOP|BOTTOM IN 工作区号|表的别名 【格式二】GO|GOTO 数值表达式 IN 工作区号|表的别名 b. 指针的相对移动 【格式】SKIP +|-数值表达式 IN 工作区号|表的别名,3.3.4 记录指针及其操作,2. 记录指针的定位 USE rsda &打开数据表rsda.dbf,该表共11条记录 ?RECNO(),BOF() &当前记录号为1,BOF()为.F. SKIP -1 &记录指针从当前位置向表头部相对移动1条记录 ?REC

25、NO(),BOF() &当前记录号为1,BOF()为.T. GO 4 &记录指针绝对移动到第4条记录 ?RECNO() &当前记录号为4 SKIP &记录指针从当前位置向表尾部相对移动1条记录 SKIP -3 &记录指针从当前位置向表头部相对移动3条记录 ?RECNO() &当前记录号是2 GO BOTTOM &记录指针绝对移动到数据表最后1条记录 ?RECNO(),EOF() &当前记录号为11,EOF()为.F. SKIP &记录指针从当前位置向表尾部相对移动1条记录 ?RECNO(),EOF() &当前记录号为12,EOF()为.T.,(3)按条件定位 【格式】LOCATE 范围FOR 条件表达式WHILE 条件表达式2 LOCATE命令只能将记录指针定位到第一条符合条件的记录上,若要继续查找满足条件的其它记录,可以执行继续查找命令。 【格式】CONTINUE,2. 记录指针的定位,1. 在浏览窗口中修改记录数据 2. EDIT或CHANGE命令 【格式】EDIT|CHANGE FIELDS字段名表 范围FOR 条件表达式 【功能】在编辑窗口显示并编辑指定的字段。 说明: EDIT和CHANGE只能选择其中之一,两者等价。缺省范围和条件时,将从当前记录编辑到最后的记录。FIELDS短语用来指定显示和编辑的字段。 3. 批量修改记录数据,3.3.5 记录数据的修改

温馨提示

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

最新文档

评论

0/150

提交评论