1 / 122

第 4 章 表与数据库的基本操作

第 4 章 表与数据库的基本操作. 内容. 介绍数据库、数据表的基本概念 数据库和数据表的建立 编辑表中的数据、记录修改与删除 表的索引等有关操作。. 概念. 数据库 (.dbc) 就是一个关于某一特定主题或目标的信息集合。 表 (.dbf) 基本单位,是数据库的基础 可以说表是关系数据库系统中的基本结构。 要存数据,为所需记录的信息创建一个表。 由行和列组成的,一行为一个记录,一列为一个字段。. 通常所说的表格. 一行为一个记录( Record ). 一列为一个字段 (Field). 二维表简称表 (Table) 特征:. (1) 若干记录

Download Presentation

第 4 章 表与数据库的基本操作

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4章 表与数据库的基本操作

  2. 内容 • 介绍数据库、数据表的基本概念 • 数据库和数据表的建立 • 编辑表中的数据、记录修改与删除 • 表的索引等有关操作。

  3. 概念 • 数据库(.dbc) • 就是一个关于某一特定主题或目标的信息集合。 • 表(.dbf) • 基本单位,是数据库的基础 • 可以说表是关系数据库系统中的基本结构。 • 要存数据,为所需记录的信息创建一个表。 • 由行和列组成的,一行为一个记录,一列为一个字段。

  4. 通常所说的表格 一行为一个记录(Record) 一列为一个字段(Field)

  5. 二维表简称表(Table)特征: (1)若干记录 (2)若干个字段,每记录具有相同结构的字段 (3)不同类型的字段来存储不同类型的数据 (4)字段的顺序与存储的数据无关 (5)记录在的顺序与存储的数据无关。

  6. 表的两要素: • 表结构(列) • 相应记录(行)

  7. 表结构

  8. 表的字段 • 表是由记录组成 • 记录又由字段组成 • 字段的属性(表结构) • 字段名 • 字段类型 • 字段宽度 • 小数位数

  9. 1.字段名 • 约定: • 只能使用字母、汉字、下划线和数字 • 见名知义 • > < = + / \ | [ ] : ? 空格等特殊字符不能使用。 • 字段名必须以字母或汉字开头,并且长度不能超过128个字符 • 如:下列哪些合法 不以数字开头 × 3mn 姓名1 mn3 不能含有空格; × m n ×编 号 不能含有各种运算符; × S-N S_N× AI*X

  10. 2.字段类型 • 不同类型的字段来存储不同类型的数据

  11. (1)字符型(Character) • 通常用于存储键盘输入的文本数据。 • 汉字、字母、数字、空格、 • 符号及标点符号 • 字符型数据必用双引号或单引号或[]来定界 • 字符型字段的宽度最大为254 ***** • 如: • “how” ‘1234’ [中国人]

  12. (2)货币型(Currency) • 保存货币数值时,用货币类型而不是数值类型字段 • 最多保留4位小数位数,多则四舍五入至4位 • 内存变量用$数值来赋初值 • 如:x=$999 • ? Type(‘x’)

  13. (3)数值型(Numeric) • 数值型字段用来存储数值数据。 • 它可以包含数字0~9,也可以带正、负号或小数点 • 如:1234 100.89 (4)浮点型(Float) • 浮点型字段在功能上等价于数值型字段。

  14. (5)日期型(Date) • 用于存储包含有年、月、日的日期数据 • 长度为8字节 (6)日期时间型(DateTime) • 用于存储包含有年、月、日、时、分、秒的日期和时间数据。 (7)双精度型(Double) • 双精度型用于存储精度要求较高、位数固定的数值,或真正的浮点数值。

  15. (8)备注型(Memo) • 长度固定为4字节 • 用于存储不定长度的文本数据 • 当文本数据长度可能大于254,无法使用字符型存储时,使用备注类型字段 • 所有备注型字段的实际内容存储在和表名相同,扩展名为.FPT的备注文件中

  16. (9)通用型(General) • 通用型用于存储OLE对象数据 • 字段宽度固定为4个字节,用于存储一个4个字节的指针,指向该字段的实际内容 • 其内容存储在扩展名为.FPT的文件中。 • OLE对象包括电子表格、字处理文档、图像或其他多媒体对象等 • OLE对象可以用链接方式存储在表中。 • 存储数据的大小,取决于相的OLE服务程序,和磁盘空间大小的限制。

  17. (10)整型(Integer) • 整型用于存储整数数据 • 字段宽度固定为4个字节。 • 取值范围从-2 147 483 647 到2 147 483 646。 (11)逻辑型(Logical) • .T.或.Y. 为逻辑真 • .F.或.N. 为逻辑假 • 长度固定为1字节

  18. (12)字符型(二进制)((Character(Binary)) • 字符型(二进制)用于存储不需要系统代码页维护的字符数据 • 其他字段特性同字符型字段 • 密码(各国) (13)备注型(二进制)((Memo(Binary)) • 备注型(二进制)用于存储不需要系统代码页维护的备注字段数据。其他字段特性同备注型字段。

  19. 数据类型(小结) • 数据类型(Type)13种 C-字符型N-数值形F-浮点型 D-日期型I- 整 型 L-逻辑型 M-备注型 G-通用型 Y货币型

  20. 3.字段宽度 • 规定宽度 • 字符型字段 254 • 货币型字段 8 • 数值型字段 20 • 日期型字段 8 • 备注型 4 • 逻辑型 1 • 日期时间型 8 • 通用型字段 4 • 用于存储一个4个字节的指针,指向该字段的实际内容。整型字段宽度固定为4个字节。

  21. 宽度(Width) (小结) (以下类型宽度固定) • 货币型、日期型、日期时间型、双精度型:8字节 • 整型、备注型、备注型(二进制)、通用型:4字节 • 逻辑型:1字节 • 数值型:20字节

  22. 4.小数位数 • 有小数的字段: • 数值型 • 浮点型 • 双精度型 • 字段宽度 = 整数部分宽度 + 小数点1位+小数位宽度 • 如小数位数不为0,则小数位数至少要比整个字段宽度小2

  23. 小数位数 • 一个N形变量宽为6,小数位数为3,则这个变量最大可表示的数为多少? • _ _ . _ _ _ • 99.999

  24. 5.空值(NULL) • 空值是用来标识一个字段“没有值”的标志 • 空值表示没有任何值或没有确定值 • 空值不等同于数值0、空字符串或逻辑“假” • 函数EMPTY() 测试空值 • 如果允许字段接受NULL值,则应选中该栏所在框 • 表的关键字段不允许为NULL值

  25. 字段类型 中文名称 宽度(字节) 说明 • Character 字符型 254 字母、汉字、数字、文本、符号 • Currency 货币型 8 货币单位 • Numeric 数值型 20 整数或小数 • Float 浮点型 20 同数值型 • Date 日期型 8 年、月、日 • DateTime 日期时间型8 年、月、日、时、分、秒 • Double 双精度型 8 双精度数值 • Integer 整型 4 整数 • Logical 逻辑型 1 真或假 • Memo 备注型 4 不定长的字母、文本、数字 • General 通用型 4 OLE图像、多媒体对象

  26. 小结 • 数据库是表和表间关系的集合 • 表是由表结构和记录组成 • 表结构是由各不同字段构成 • 每一字段又具有字段名、数据类型、数据宽度、小数位数等属性 • 表中的每一个记录又具有相同的字段

  27. 建表的步骤: 1)设计表结构 2)建表的结构 creat 表名 3)保存表文件 ctrl+w 4)输入记录 append browse

  28. 表结构的创建 1、表设计器 (1)打开“表设计器” 项目管理器/自由表/新建/新表/保存 注: A、也可从菜单或工具栏中直接新建表 B、与在“项目管理器”中新建表不同的是: 这样新建的表将不包含在项目中 (2)在“表设计器”中创建表结构 表设计器/字段/输入/确定

  29. 数据表的建立 • 如: • 一张名为教师档案文件zgda.dbf • 编号 姓名 性别 年龄 职称 工作时间 婚否 简历 1 张黎黎 女 26 助教 05/24/83 T memo 2 李 艳 女 30 助教 09/14/90 T memo 3 刘 强 男 38 讲师 12/24/76 T memo

  30. 职工档案表结构(zgda.dbf) • 字段名 类型 宽度 小数位数 索引 NULL • 编号 字符型 4 无 升序 否 • 姓名 字符型 6 无 无 否 • 性别 字符型 2 无 无 否 • 年龄 数值型 2 无 无 否 • 职称 字符型 8 无 无 可 • 工时 日期型 8 无 无 否 • 婚否 逻辑型 1 无 无 否 • 简历 备注型 4 无 无 可 • 照片 通用型 4 无 无 可

  31. 表的打开 VFP在使用一个表前必须把表打开 • 打开命令 • USE <文件名> VFP在结束使用一个表时,必须把表关闭 • 关闭命令 • USE • CLOSE ALL • CLOSE DATABASE/TABLE

  32. 修改表结构 1、表设计器 项目管理器/选定表/修改 2、命令 • USE books • MODIFY STRUCTURE

  33. 3、菜单/按钮方式 • 法1: • “表”—“属性” • “工作区” • “工作区属性”—“修改” • 法2: • “窗口” —“数据工作期” • (“属性”— “修改”)

  34. 记录的处理 记录的追加 1、立即输入记录(浏览/编辑/追加方式) 2、浏览窗口下追加(USE/BROWSE)(表/追加新记录) 3、使用INSERT - SQL命令追加记录 insert into zgda(姓名,性别,年龄) values ('洪七','男',70) 4、从其他表中追加记录 • 命令APPEND • APPEND FROM • APPEND [ BLANK ]

  35. 记录的浏览 1、浏览窗口 • 进入 : • BROWSE 命令 • 项目管理器/选定某个表/单击“浏览”按钮 2、命令 • BROWSE • LIST / DISPLAY • BROWSEFIELDS 书号,书名,作者 for ...

  36. 如何定制浏览窗口? • 重新安排列的位置: • 拖动 • 改变列的宽度: • 拖动 • 显示或隐藏表格线: • 显示/网格线 • 分为两个窗格: • 左下角拖动

  37. 文件头 记录开始标志 第n条记录 记录结束标志 记录的定位 • 1、记录指针标志 • 记录号(输入顺序) • 记录的开始标志 • BOF ( ) • 记录指针标志 • ( 当前记录 ) • RECNO ( ) • 记录的结束标志 • EOF ( ) • 2、记录的定位方式 • 绝对定位 go • 相对定位 skip • 条件定位locate for(表达式) Go top go bottom Skip Go nRecordNumber

  38. 几个概念 • 记录指针 • 当前记录 • 记录定位 • 记录号RECNO()

  39. 例1 假设ZGDA表有848条记录,先后执行以下命令 bof() eof() recno() use books f f 1 skip -1 t f 1 skip -1 Error f 1 go bott f f 848 skip f t 849 skip Error

  40. 例2 RECN() Use books 1 go 5 5 skip +2 7 skip -3 4 locate for …

  41. 3、记录定位的实现 • 界面方式 (“表”—“转到记录”) • 记录号:绝对定位 goto • 定位:条件定位 locate for • 作用范围:all,next,record,rest,for • 找到/未找到 • 命令方式 绝对定位:GO( GOTO ) GO( GOTO ) TOP/BOTTOM 相对定位:SKIP(与索引有关)skip=skip 1 快速移动:SEEK及 FIND

  42. 记录的修改 1、在浏览窗口中修改 EDIT / CHANGE / BROWSE 项目管理器/浏览 例:修改books表中第5条记录 use books edit record 5

  43. 记录的修改 2、批量记录的修改 (1)界面方式 “表”—“替换字段”—字段条件 (2)命令方式 • UPDATE-SQL命令(表不必事先打开,以下同) • REPLACE 命令 USE books copy to temp(复制到临时表) use temp REPLACE 单价 WITH 5.00 FOR 单价<5

  44. 记录的删除 • 目的: • 节省时空 • 删除步骤: • 逻辑删除 • 物理删除

  45. 逻辑删除 • 给要删除的记录加标记(*号) • 标记要删除的记录(逻辑删除) • 浏览窗口: • 单击小方框 • “表” • “删除记录” • 命令DELETE FROM 表名[WHERE 过滤条件表达式] 例: • 删除教材表中库存在数量为0的记录 • delete from books where 库存数量=0

  46. 物理删除 • 彻底删除(物理删除) • “表” • “彻底删除” • 命令PACK(独占) • 删除有删除标记的记录 • 命令ZAP=delete all +pack(独占)

  47. 恢复记录的删除 • 恢复带删除标记的记录 法1: • 小方框 黑-->白 法2:“表” • “恢复记录” 法3:RECALL [范围][FOR 条件表达式1][WHERE 条件表达式2] 例:recall recall all recall all for 库存数量=0(这里的all 可省) 说明:缺省范围(当前记录,不是全部记录)

  48. 筛选记录 • 界面 “表”—“属性”—“数据过滤器” • 命令 • SET FILTER TO <条件表达式> • SET FILTER TO • FOR子句:临时性记录筛选 例:USE ZGDA • SET FILT TO 出版社=‘石油大学’ • 注意: • 是隐藏而非删除 • 与FOR子句不同

  49. 筛选字段 • 表/属性/字段筛选 • SET FIELDS TO <字段1> [, <字段2>] • SET fields to 姓名,性别

  50. 多表操作 • 工作区: • 用以标识一张打开的表的内存区域 • 一个工作区在某一时刻只能打开一张表 • 一张表可以在多个工作区同时打开 • (use 表 again) • 共有255个工作区 • 默认工作区号为1区 • USE books(默认为1号) • LIST • USE books1(books自动关闭) • LIST

More Related