数据库管理系统课件第2章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库管理系统课件第2章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 管理 系统 课件
- 资源描述:
-
1、1 第第2 2章章 数据与数据运算数据与数据运算2.1 数据与数据类型数据与数据类型2.2 常用常用函数函数2.3 表达式表达式2.4 Visual FoxPro 命令命令2 数据有许多重要的属性,包括数据类型,完整性约束等,数据有许多重要的属性,包括数据类型,完整性约束等,其中首先关心的是数据类型。因为其中首先关心的是数据类型。因为数据处理的基本原则是对相数据处理的基本原则是对相同类型的数据才能进行操作同类型的数据才能进行操作,违反了这条原则,就会发生错误,违反了这条原则,就会发生错误。 Visual FoxPro中常量、变量、函数及表达式的数据中常量、变量、函数及表达式的数据类型有类型有6
2、种:种:字符型字符型、数值型数值型、逻辑型逻辑型、日期型日期型、日期时间型日期时间型、货币型货币型。 本节引入了数据容器的概念本节引入了数据容器的概念。数据容器:。数据容器:用户存放数据的用户存放数据的地方。例如常量、变量、数组、记录、对象,等等。地方。例如常量、变量、数组、记录、对象,等等。2.1.1 常量常量 常量:在程序运行的过程中其值固定不变的量常量:在程序运行的过程中其值固定不变的量称为常量称为常量。 常量用来表示一个具体的、不变的值。常量有常量用来表示一个具体的、不变的值。常量有6种数据类型:种数据类型: 2.1 数据与数据类型数据与数据类型31. 字符型字符型( (Charact
3、er)Character)通常用来表示文本类型的信息。由中英文字符、数字、通常用来表示文本类型的信息。由中英文字符、数字、空格和各种专用符号组成。两个或两个以上字符型数据的空格和各种专用符号组成。两个或两个以上字符型数据的组合称为组合称为字符串。用定界符括起来的字符串即为字符型常字符串。用定界符括起来的字符串即为字符型常量。定界符规定为量。定界符规定为: , , 。如果一种定界符已作为字如果一种定界符已作为字符型常量的组成部分符型常量的组成部分, 应当选择另一种定界符来标识字符串。应当选择另一种定界符来标识字符串。 字符型数据如字符型数据如: “STRING”、昆明市昆明市、 123。例例2
4、2.1.1 显示字符型常量显示字符型常量在命令窗口键入并执行如下命令:在命令窗口键入并执行如下命令:?用定界符括起来的用定界符括起来的+ + 字符串字符串+即为字符型常量即为字符型常量 在主屏幕上显示结果如下:在主屏幕上显示结果如下:用定界符括起来的用定界符括起来的 字符串即为字符型常量字符串即为字符型常量42 2数值型数值型( (Numeric)Numeric) 数值型数据用来表示一个数量的大小数值型数据用来表示一个数量的大小, 由数字、小数点由数字、小数点和正负号等组成,包括整数(和正负号等组成,包括整数(1268)、小数()、小数(0.38)、负数)、负数(-112)、浮点数()、浮点数
5、(148.931)科学计算数()科学计算数(1.2E-8)等。数等。数值型数据用来进行数学运算。值型数据用来进行数学运算。 数值型数据在内存中用数值型数据在内存中用8个字节表示,其取值范围是个字节表示,其取值范围是: :0.9999999999E+200.9999999999E+20。3 3逻辑型逻辑型( (Logic)Logic) 表示逻辑判断结果的值。表示逻辑判断结果的值。逻辑型数据只有两个值:逻辑逻辑型数据只有两个值:逻辑值真值真True(用用.T.或或.y.表示)表示) 或逻辑值假或逻辑值假False(用用.F.或或.n.表表示)。如表达式示)。如表达式34的运算结果为:的运算结果为:
6、.F.例例2 2.2.2 在命令窗口键入并执行如下命令:在命令窗口键入并执行如下命令: ?3454 4日期型日期型( (Date)Date)日期数据是表示日期的特殊数据,日期型常量必须用一日期数据是表示日期的特殊数据,日期型常量必须用一对花括号对花括号”“和和”作为定界符作为定界符, 花括号中包含用分割符花括号中包含用分割符”-”、“/”、“.”分隔的年、月、日三部分内容。其格式分分隔的年、月、日三部分内容。其格式分为为传统格式传统格式和和严格格式严格格式两种:两种:传统格式传统格式: mm/dd/yy 系统默认的日期型格式为美国系统默认的日期型格式为美国格式:格式:月月/日日/年年, 即以即
7、以mm/dd/yy的形式来表示。传统的的形式来表示。传统的日期型格式要受到命令语句日期型格式要受到命令语句: SET DATE TO 和和SET CENTURY的影响。的影响。严格日期格式严格日期格式常量以常量以yyyy-mm-dd的形式来表示,的形式来表示,且花括号中第一个字符必须是且花括号中第一个字符必须是,年份为,年份为4位数。如位数。如2006-10-01表示表示2006年年10月月1日。日。6例例2.3 在命令窗口输入如下命令在命令窗口输入如下命令?2006-10-01,10-01-06执行结果为:执行结果为:.10/01/2006 10/01/20065.5.日期时间型(日期时间型
8、(DateTimeDateTime) )日期和时间数据是表示日期和时间的特殊数据日期和时间数据是表示日期和时间的特殊数据. 日期时间型日期时间型数据的取值范围是:日期为数据的取值范围是:日期为01/01/0001 12/31/9999,时间为,时间为00 00 0023 59 59.在在传统格式传统格式中,系统默认的日期时间型以中,系统默认的日期时间型以月月/日日/年年 时时:分分:秒秒 a|p的形式来表示。的形式来表示。严格格式严格格式的日期时间型常量以的日期时间型常量以yyyy-mm-dd hh:mm:ss a|p的形式来表示,其中的形式来表示,其中a a和和p p分别表示上午和下午,如分
9、别表示上午和下午,如2005-12-22 10:30:20 2005-12-22 10:30:20 pp表示表示20052005年年1212月月2222日晚上日晚上1010点点3030分分2020秒。秒。7例例2 2.4.4 在命令窗口输入如下命令在命令窗口输入如下命令?2005-12-22 10:30:20 p,12-22-05 10:30:20 p执行结果为:执行结果为:12/22/2005 10:30:20 12/22/2005 10:30:20 pm pm 12/22/2005 10:30:20 12/22/2005 10:30:20 pmpm6.6.货币型(货币型(CurrencyC
10、urrency)货币单位数据,数字前加前置符号货币单位数据,数字前加前置符号”$”。货币型数据在存储和计算时,采用货币型数据在存储和计算时,采用4位小数,并将多余位小数,并将多余4位的小数四舍五入位的小数四舍五入。如。如$123.45678,将存储为,将存储为$123.4568。货币常量不用科学记数法形式,在内存中占货币常量不用科学记数法形式,在内存中占8个字节,取个字节,取值范围是:值范围是:922337203685477.5807922337203685477.5807。 82.1.2 变量变量 在程序运行过程中,其值可以发生变化的量称为变量在程序运行过程中,其值可以发生变化的量称为变量。
11、变量的值是可以随时更改的。变量的值是可以随时更改的。 Visual FoxPro中有两类变量:一类是构成数据库表的中有两类变量:一类是构成数据库表的字字段名变量段名变量,另一类是独立于数据库以外的,另一类是独立于数据库以外的内存变量内存变量。 给变量命名时,变量名应遵守以下原则:给变量命名时,变量名应遵守以下原则: 以字母、汉字或下划线开头;以字母、汉字或下划线开头;变量名中只能含有字母变量名中只能含有字母( (汉字汉字) )、数字和下划线;、数字和下划线;变量名不能是变量名不能是Visual FoxProVisual FoxPro的保留字,如对象名、系统预的保留字,如对象名、系统预先定义的函
12、数名等。先定义的函数名等。91. 1. 字段变量字段变量:数据库表中定义的字段名数据库表中定义的字段名。字段名变量是指数据表文件中已定义好的任一数据项字段名变量是指数据表文件中已定义好的任一数据项。在。在数据表中有一个记录指针,由它指向的记录定义为当前记录,数据表中有一个记录指针,由它指向的记录定义为当前记录,字段名变量的值随着记录指针的移动而改变,如果一个数据字段名变量的值随着记录指针的移动而改变,如果一个数据表中有表中有20条记录,则每一个字段名就有条记录,则每一个字段名就有20个可取值。个可取值。 字段名变量的数据类型分为字段名变量的数据类型分为1313类,见表类,见表2.12.1所示。
13、所示。10表表2.1 2.1 字段名变量的数据类型字段名变量的数据类型类型名称类型名称 说明说明 内存大小内存大小 应用举例应用举例 字符型(Character) 数字、字母、符号 1254 姓名、住址货币型(currencY) 货币单位 8 存款、价格数值型(Numeric) 整数、小数 8 考试成绩浮点型(Float) 同数值型 8 日期型(Date) 年月日 8 参加工作时间日期时间型 年月日时分秒 8 上班时间 (DateTime)整型(Integer) 无小数点数 4 单位人数双精度型(DouBle) 双精度数 8逻辑型(Logical) 真或假 1 作业完成否通用型(General
14、) OLE(对象链接与嵌入) 4 EXCEL表格、图片备注型(Memo) 文本 4 人员简历、产品简介注注:整型数据整型数据的范围是:-2147483647 2147483647;浮点型、双精度型数据浮点型、双精度型数据的范围是:4.94065645841247E-3248.9884656743115E370数值型数据数值型数据的范围是:-0.9999999999E+200.9999999999E+20112. 2. 内存变量内存变量( (不依赖数据表而独立存在的变量不依赖数据表而独立存在的变量) )内存变量是内存中的一个存储单元内存变量是内存中的一个存储单元,这个存储单元中存,这个存储单元中
15、存放的数据就是内存变量的值。放的数据就是内存变量的值。内存变量由赋值语句定义,它内存变量由赋值语句定义,它的数据类型取决于赋值数据的类型。的数据类型取决于赋值数据的类型。内存变量是独立于数据库文件而存在的变量,用来存储内存变量是独立于数据库文件而存在的变量,用来存储数据处理过程中所需要的中间结果和最终结果。它参与计算数据处理过程中所需要的中间结果和最终结果。它参与计算处理,还可以作为控制变量,处理,还可以作为控制变量, 用来控制应用程序的运行。内用来控制应用程序的运行。内存变量是一种临时工作单元,需要时可以临时定义,不需要存变量是一种临时工作单元,需要时可以临时定义,不需要时可以随时释放。时可
16、以随时释放。 内存变量共分为内存变量共分为6种类型:字符型(种类型:字符型(C)、数值型()、数值型(N)、)、逻辑型(逻辑型(L)、日期型()、日期型(D)、日期时间型()、日期时间型(T)和货币型)和货币型(Y)。)。 (字段变量和内存变量的区别见下(字段变量和内存变量的区别见下 表表2.2)12表表2.2 2.2 字段变量和内存变量的区别字段变量和内存变量的区别字段变量字段变量 内存变量内存变量 数据库表文件的组成部分数据库表文件的组成部分 独立于数据库表文件而存在独立于数据库表文件而存在随表文件的定义而建立随表文件的定义而建立需要时随时定义需要时随时定义有有C,N,D,L,M,G等等1
17、3种类型种类型有有 C,N,L,D,T,Y等类型等类型多值变量多值变量单值变量单值变量 关机后保存在数据库表文件中关机后保存在数据库表文件中关机后不保存(可预先存入内存变量关机后不保存(可预先存入内存变量文件中文件中 )注:给内存变量赋值的常用命令有:注:给内存变量赋值的常用命令有:= , store, input, wait, accept 系统变量系统变量是是Visual FoxPro系统特有的内存变量系统特有的内存变量; 系统变量名系统变量名都是以下划线开始,它与一般变量有相同的使用方法都是以下划线开始,它与一般变量有相同的使用方法; 在定义内在定义内存变量和数组变量名时,不要以下划线开
18、始,以免与系统变量名存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。冲突。 如主窗口屏幕可通过系统变量如主窗口屏幕可通过系统变量_SCREEN的属性进行设置:的属性进行设置: _SCREEN.fontName=黑体黑体 _SCREEN.fontSize=1613例例2.5 变量赋值与运算示例。变量赋值与运算示例。 在命令窗口中输入并执行如下命令:在命令窗口中输入并执行如下命令:X=8STORE 2 TO Y,Z,W? X+Y10S=“中国中国.”STORE “昆明昆明” TO T?S+T中国中国.昆明昆明142.1.3 数组数组数组是一批数据的有序集合,数组中的每一个数据称为一数
19、组是一批数据的有序集合,数组中的每一个数据称为一个数组元素。个数组元素。在在Visual FoxPro中中, 数组元素均为内存变量。数数组元素均为内存变量。数组必须先定义后使用。组必须先定义后使用。1. 数组的定义数组的定义格式:格式:DIMENSION ( ,2) , ( ,2) DECLARE ( ,2), ( ,2) 功能:定义一维或二维数组。数组名为一个内存变量,每功能:定义一维或二维数组。数组名为一个内存变量,每个数组最多可包含个数组最多可包含3600个元素,数组的下标(数值表达式)个元素,数组的下标(数值表达式)值最小为值最小为1。使用数组时应注意数组元素的排列次序。使用数组时应注
20、意数组元素的排列次序。要特别注意要特别注意15例例2.6 定义数组示例定义数组示例在命令窗口输入如下命令:在命令窗口输入如下命令:DECLARE A(3), B( 2, 3)其执行结果:其执行结果:该命令定义了一维数组该命令定义了一维数组A(3)和二维数组和二维数组B(2, 3):一维数组一维数组A(3)有三个元素,分别表示为:有三个元素,分别表示为:A(1)、A(2)、A(3)。 二维数组二维数组B(2, 3)有六个元素,分别表示为:有六个元素,分别表示为:B(1, 1)、B(1, 2)、B(1, 3)、B(2, 1)、B(2, 2)、B(2, 3)。 数组元素可以是任意类型的数据,其数据类
21、型由对该变量数组元素可以是任意类型的数据,其数据类型由对该变量的赋值决定。数组元素在赋值前的类型为逻辑型,其值为逻的赋值决定。数组元素在赋值前的类型为逻辑型,其值为逻辑假辑假(.F.)。162. 2. 数组的使用数组的使用定义数组后,数组中的每个元素就可以像内存变量一样被使用。数组元定义数组后,数组中的每个元素就可以像内存变量一样被使用。数组元素的赋值方法与内存变量的赋值方法一样,常用素的赋值方法与内存变量的赋值方法一样,常用STORE命令来赋初值。命令来赋初值。格式:格式:STORE TO 功能:给数组中的每个元素赋相同的值。功能:给数组中的每个元素赋相同的值。执行赋值命令时,系统将根据执行
22、赋值命令时,系统将根据的类型确定或改变数组元素的类的类型确定或改变数组元素的类型。与对内存变量的操作一样,使用型。与对内存变量的操作一样,使用 LIST/DISPLAY MEMORY命令可以显示数组元素的类型及其值;使用命令命令可以显示数组元素的类型及其值;使用命令 CLEAR MEMORY或或 RELEASE |ALL可以删除整个数组(包括内存变量);可以删除整个数组(包括内存变量);使用命令使用命令 SAVE TO 可以将数组连同内存变量一起保存到内存变量文件可以将数组连同内存变量一起保存到内存变量文件(.mem)中,需要时用命中,需要时用命令令 RESTORE FROM 命令将其从内存变
23、量文件中恢复到内存中命令将其从内存变量文件中恢复到内存中 。17例例2.7 数组定义与赋值示例数组定义与赋值示例在命令窗口输入如下命令:在命令窗口输入如下命令:DECLARE A(3)STORE 0 TO A赋值后,数组赋值后,数组A中每个元素都为中每个元素都为0。此外,同一数组的不同元素,数据。此外,同一数组的不同元素,数据类型可以不一致。类型可以不一致。A(1)=Visual FoxPro?A(1)Visual FoxProA(2)=2006-10-01?A(2)10/01/06A(3)=.T.?A(3).T. LIST MEMORY182.1.4 变量的作用域变量的作用域 变量只有在应用
24、程序运行时的某一时刻才存在,变量只有在应用程序运行时的某一时刻才存在,所谓变所谓变量的作用域即某个变量在应用程序中的有效作用区间。量的作用域即某个变量在应用程序中的有效作用区间。在在Visual FoxPro中可用命令语句中可用命令语句Local、Private和和Public指定变指定变量的作用域,其指定的变量分别为局部变量、私有变量和全量的作用域,其指定的变量分别为局部变量、私有变量和全局变量。局变量。1局部变量局部变量用用Local 命令建立局部变量,其建立的变量或数命令建立局部变量,其建立的变量或数组组只能在定义它们的程序中存在,不能被更高层和更低层的只能在定义它们的程序中存在,不能被
25、更高层和更低层的程序访问程序访问。当定义它们的程序停止运行时,这些变量和数组。当定义它们的程序停止运行时,这些变量和数组将被释放。将被释放。例例2.8 定义定义局部变量局部变量Local x,y,z主程序子程序1Local x,y子程序2192私有变量私有变量Private 命令将调用程序中定义的变量和数组在当命令将调用程序中定义的变量和数组在当前程序中隐藏起来,这样用户便可以在当前程序中重新使用和前程序中隐藏起来,这样用户便可以在当前程序中重新使用和这些变量同名的变量,而不影响这些变量的原始值。一旦拥有这些变量同名的变量,而不影响这些变量的原始值。一旦拥有这些变量的程序停止运行,所有被声明为
展开阅读全文