数据库技术 第03章 数据管理基础 数据 表达式和函数.ppt
《数据库技术 第03章 数据管理基础 数据 表达式和函数.ppt》由会员分享,可在线阅读,更多相关《数据库技术 第03章 数据管理基础 数据 表达式和函数.ppt(138页珍藏版)》请在三一办公上搜索。
1、第3章 数据管理基础数据、表达式和函数,3.1 数据3.2 操作符和表达式3.3 函数习题上机实验题,数据库技术是进行数据处理的有效手段和方法。在数据库系统中,用户通过数据库管理系统(即DBMS)提供的功能,对数据库中各类数据进行相应的操作处理和组织管理。本章主要介绍Visual FoxPro系统中各种数据的数据类型以及它们的表达式,为用户使用Visual FoxPro系统进行数据操作和管理建立良好的基础。,数据是数据库系统的操作和管理对象。人们通常使用各种各样的物理符号来表示客观事物,这些符号及其组合就是数据。计算机中所谓的数据就是计算机可以处理的一切对象。数据的概念包括两方面的含义,即数据
2、内容和数据形式。数据内容是指所描述客观事物的具体特性,也就是数据的“值”;数据形式则是指数据内容存储在媒体上的具体形式,也就是所谓的数据“类型”。数据主要有数字、文字、声音、图形和图像等多种形式。,3.1 数据,数据是数据库系统的操作和管理对象。人们通常使用各种各样的物理符号来表示客观事物,这些符号及其组合就是数据。计算机中所谓的数据就是计算机可以处理的一切对象。数据的概念包括两方面的含义,即数据内容和数据形式。数据内容是指所描述客观事物的具体特性,也就是数据的“值”;数据形式则是指数据内容存储在媒体上的具体形式,也就是所谓的数据“类型”。数据主要有数字、文字、声音、图形和图像等多种形式。,数
3、据的概念包含数据内容和形式两个方面,数据形式就是数据的存储形式和使用方式,也称数据类型。和其他程序设计语句类似,Visual FoxPro为了使用户建立和操作数据库更加方便,提供了多种数据类型,各种类型的数据可以保存在表、数组、变量及其他数据容器中。数据类型有一定的应用范围,下列数据类型均可应用于表中字段数据类型的定义,但其中双精度型、浮点型、通用型、整型、备注型、二进制字符型和二进制备注型只能应用于字段,其余数据类型,如字符型、数值型、货币型、日期型、日期时间型和逻辑型,则可以用于变量、数组和字段。,3.1.1 数据类型,1.字符型(Character)字符型数据是不具有计算能力的文字数据类
4、型,用字母C表示。字符型数据由任意字符组成,包括中文字符、英文字符、数字字符和其他ASCII字符,其长度(即字符个数)范围是0254个字符。字符类型可以表示诸如姓名、名称、地址以及无需算术运算的数字号码(如学号、职工工号、电话号码以及邮政编码等)。,2.与数值相关的类型与数值相关的类型数据是表示数量、可以进行数值运算的数据类型。用它们来表示数量,且由数字、小数点、正负号和表示乘幂的字母E组成,数值精度达16位。在Visual FoxPro系统中,按存储、表示形式与取值范围不同,有以下4种不同类型。,(1)数值型(Numeric)数值型数据由数字、小数点、正负号和字母E组成,用字母N表示。数值型
5、数据的取值范围是-0.9999999999E+19 0.9999999999E+20,包括正负号、小数点和字母E在内,其长度(数据位数)最大20位。通常用于表示实数,如235、-123.15、1.3E+8(即1.3108)等。(2)浮点型(Float)浮点型数据是数值型数据的一种,用字母F表示。它与数值类型完全等价,只是在存储形式上采用浮点格式,主要是为了得到较高的计算精度。,(3)双精度型(Double)双精度型数据是具有更高精度的一种数值类型数据,用B表示。它采用固定长度浮点格式存储,占用8个字节,其取值范围是:4.94065645841247E-324 8.9884656743115E+
6、307。(4)整型(Integer)整型数据是不包含小数部分的数值型数据,用I表示。整型数据只用于表示整数,如15、-230、1234等,以二进制形式存储,占用4个字节,因此整型数据比数值型数据占用的空间要小。其取值范围是:-2147483647 2147483646。,3.日期型(Date)日期型数据是表示日期的数据,用字母D表示。日期的默认格式是mm/dd/yy,其中mm表示月份,dd表示日期,yy表示年份,日期类型数据的固定长度8位。Visual FoxPro系统中提供了多种日期格式,但是需要通过相应的设置来改变,如命令SET DATE、SET MARK、SET CENTURY;或在“工
7、具”菜单中选择“选项”对话框的“区域”选项卡进行有关日期的设置。例如02/10/03表示03年2月10日,通过SET CENTURY ON命令可以将年份改写为4位,即02/10/2003表示2003年2月10日。,4.日期时间型(Date Times)日期时间型数据是表示日期和时间的数据,用字母T表示。在保存日期、时间二者兼有时,可以使用日期时间数据类型。日期时间的默认格式是mm/dd/yy hh:mm:ss,其中mm、dd、yy的意义与日期型相同,而hh表示小时,mm表示分钟,ss表示秒数。日期时间型数据也是采用固定长度8位,第一个4字节保存日期,另一个4字节保存时间,取值范围是:日期为01
8、/01/000112/31/9999,时间为00:00:00 23:59:59,如02/10/2003 14:20:30表示2003年2月10日14时20分30秒这一日期时间数据。,日期时间类型的时间部分的格式取决于SET HOURS和SET SCEONDS命令的设置,另外还要注意如下规则:00:00:00AM等价于12:00:00AM;00:00:00PM等价于12:00:00PM。,5.逻辑型(Logic)逻辑型数据是描述客观事物真假的数据类型,表示逻辑判断的数据用字母L表示。逻辑型的数据只有两种值:真(.T.或.Y.)和假(.F.或.N.)固定长度1个字节,是一种高效的存储方法。为区别其
9、他数据类型,一般需在表示逻辑的字母前后加小圆点,如.T.、.F.等。,6.备注型(Memo)备注型数据是用于在表中存储数据块、可以存放较多字符的数据类型,如个人简历、备注内容等具有较长文字内容的数据。可以把它看成是字符型数据的特殊形式,用字母M表示。备注型数据没有数据长度限制,仅受限于磁盘空间。它只用于表示字段类型的定义,字段长度固定为10个字节,它指向实际的备注内容,实际数据存放在与表文件同名的备注文件(.fpt)中,长度根据数据的内容而定。,7.通用型(General)通用型数据是存储OLE(对象链接嵌入)对象的数据类型,用字母G表示。通用型数据中的OLE对象可以是电子表格、文档、图形、图
10、片等。它只用于表中字段类型的定义。通用型数据字段长度固定为10字节,实际数据长度仅受限于磁盘空间。OLE对象的实际内容、类型和数据量大小取决于链接或嵌入OLE对象的操作方式。如果采用链接OLE对象的方式,则表中只包含OLE对象的引用说明,以及对创建该OLE对象的应用程序的应用说明;如果采用嵌入OLE对象方式,则表中除包含对创建OLE对象的应用程序的引用说明外,还包含OLE对象的实际数据。,8.货币型(Currency)货币型数据是为存储货币金额而使用的一种数据类型。当涉及货币时,可使用货币类型代替数值类型,默认保留4位小数,长度为8个字节,用字母Y表示。如1234.56,其中“”为美元符号。货
11、币类型的取值范围是:-922337203685477.5808 922337203685477.5807。,9.二进制字符型和二进制备注型这两类数据是以二进制格式存储的数据类型,只能用在表中字段数据的定义。所存储的数据不受代码页改变的影响。二进制字符类型字段最长不超过254个字符,它是在各种代码页间保持不变的字符数据,如保存在表中的用户口令,可用于不同国家;二进制备注型字段在表中占4个字节,它是在各种代码页间保持不变的备注字段数据,用于不同国家的登录脚本。,常量是在命令或程序中可以直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxPro按照
12、常量取值的数据类型将常量分为6种类型,即数值型、浮点型、字符型、逻辑型、日期型、日期时间型。Visual FoxPro系统还可以创建预编译常量。这种常量在设计阶段先预定为一个具体的值,以后凡需要用到此值的地方都可以用该预编译常量代替。编译之后,凡在源代码中出现该常量的地方都用该常量的具体值来置换。这样,只要改变一个预编译常量的值,就可以影响到整个应用程序。,3.1.2 常 量,预编译常量必须定义其值。所以系统提供了#DEFINE预处理命令,给常量赋值,如下所示:#DEFINE N 123#DEFINE CHAR 字符上述两条预编译命令的功能是定义了一个数值型预编译常量N和一个字符串常量CHAR
13、,故在程序中,凡是要用到123或“字符”的地方都可用N或CHAR代替。编译之后,凡在源代码中出现N或CHAR的地方都被123或“字符”代替。如果要把程序中的数值123改为456,或字符串“字符”改为“字符串”,则不需要到程序中的每一处去修改,只需在上述预编译命令中修改一次即可,如下所示:#DEFINE N 456#DEFINE CHAR 字符串,值得注意的是,在程序中的预编译常量名不能再用它作为变量名,不能对它赋值。可以通过#UNDEF N和#UNDEF CHAR释放预编译常量N和CHAR。,1.数值型常量由数字、小数点和正负号组成,表示整数或实数值,如120、-560、15.12、-5214
14、.687等分别是数值型常量中的整数和实数。2.浮点型常量这种常量是以浮点格式表示的数值常量。通常用来表示那些绝对值很大或很小、而有效位数不太长的一些数值,对应于日常应用中的科学记数法。,如960万,以实数形式表示为9600000,以科学记数法的乘幂形式表示是9.6106;13亿,以实数形式表示是1300000000,以科学记数法的乘幂形式表示是1.3109。显然用科学记数法形式表示比较简洁、方便,对应的,采用浮点型常量分别表示为9.6E+6和1.3E+9,其中,9.6和1.3称为尾数,表示有效数字,6和9称为阶码,表示幂指数。阶码只能是整数,尾数可以是整数,也可以是小数;阶码和尾数均可正可负。
15、,3.字符型常量由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量也称为字符串,为了与其他类型常量、变量和标识符相区别,Visual FoxPro系统为字符串设置了3组定界符,如一对双引号,一对单引号,一对方括号。表示一个字符串时,只需使用它们中的任意组都可以。例如Happy New Year!、新年好、欢迎进入Visual FoxPro系统,这些均可表示为字符串,也就是字符型常量。,4.逻辑型常量逻辑型常量就是表示逻辑判断结果“真”与“假”或者“满足”与“不满足”的逻辑值。逻辑常量只有两种值,分别用.T.或.Y.和.F.或.N.表示“真”、“满足”和“假”、“不满足”。表示时一
16、般应在逻辑常量的字母左右加小圆点,以示与其他数据类型常量、变量、标识符等的表示相区分。,5.日期型常量日期型常量表示日期值的数据。为了与其他表示加以区分,日期型常量需用作为它的定界符,如02/10/2003表示2003年2月10日这个日期常量。6.日期时间型常量日期时间型常量是Visual FoxPro系统提供的一种表示日期和时间值的常量形式,同样,为了加以区别,需用作为定界符,如5/1/2002 10:00 am表示2002年5月1日上午10时这个时间。,变量是在操作过程中可以改变其取值或数据类型的数据项,其实质是内存中的一个存储单元的位置,其变量名是存储位置的符号标识。在Visual Fo
17、xPro系统中,变量分为字段变量、内存变量和系统变量3类。此外,作为面向对象的程序语言,对象是一个很重要的概念,对象实质上也是一类变量。确定一个变量需要3个要素:变量名、数据类型和变量值。,3.1.3 变量,1.一般命名约定在Visual FoxPro系统中,将表示和存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称为数据容器。所有数据容器均需命名以相互区别,为规范各类标识符的命名,Visual FoxPro系统推荐了若干“命名约定”供用户参考,以提高操作命令与程序的可读性和规范性。,对于数据容器和一些命令、函数中所需参数的命名,用户应遵循以下一般规则:只使用字母、下划线和数字命
18、名;命名以字母或下划线开头,除自由表中字段名、索引的TAG标识名最多只能有10个字符外,其他的命名可使用1 128个字符;避免使用Visual FoxPro系统中的保留字(如命令名、标准函数名等各种系统预定义项的名称)进行命名,以免造成系统区分和识别上的混乱;文件名的命名应遵循操作系统的约定。,2.内存变量内存变量是在内存中定义的、一种单个数据元素的临时性变量,它独立于数据库文件而存在,使用时可以随时建立,一旦程序运行完毕,这些变量就自行释放。内存变量的作用是提高数据值的传递、运算和临时存放效率。(1)内存变量的数据类型内存变量的数据类型有5种:数值型、字符型、逻辑型、日期型和日期时间型。内存
19、变量的数据类型取决于创建时所赋值给它的值的类型。,(2)内存变量的创建创建内存变量就是给内存变量赋值。内存变量赋值既可以定义一个新的内存变量,也可以改变已有的内存变量的值或数据类型。内存变量赋值命令有两种:格式1:STORE TO 其功能是将的值计算出来并赋值给指定内存变量表中的各个内存变量,内存变量表中变量名与变量名之间用逗号间隔。例如:STORE(20+40)/2 TO N1,N2,N3 STORE I am a student.TO C1,C2,上述例子中是将(20+40)/2表达式的值计算出来后分别赋值给变量N1、N2、N3,此时不但定义了内存变量的数值,而且还确定了内存变量的数据类型
20、,N1、N2、N3变量均为数值型内存变量。同样,中是将I am a student.字符串赋值给字符变量C1和C2。格式2:=其功能是将的值计算出来并赋值给指定的内存变量。该格式的功能与格式1基本相同,不同的是格式1可以同时给多个变量赋值,而格式2一次只能给一个变量赋值。,例如:A=1B=学校上述例子创建了两个变量A和B,其值分别是1和“学校”,并由赋值而确定了A为数值型变量,B为字符型变量。,(3)内存变量的显示输出要想在变量创建后能看到变量内的值,Visual FoxPro系统提供了两个简单的在屏幕上输出内存变量值的命令。格式1:?AT 格式2:?AT,其命令功能是计算表达式表中的各表达式
21、的值,并在屏幕上指定位置显示各表达式的值。AT 子句选项指定表达式值从指定列开始显示输出,且AT的定位只对它前面的一个表达式有效,即多个表达式必须用多个AT子句分别定位输出。其中:?:先回车换行,再计算并输出表达式的值。?:在屏幕上的光标当前位置,计算并直接输出表达式的值。同样,表达式表中的各表达式之间用逗号间隔,各表达式的值输出时,以空格分隔。,例如:?20,30,40?a,b,c上两条命令执行完毕后在屏幕上显示:203040abc又例如:a1=6a2=7?a1 AT 20,a2 AT 30显示结果如下:6(在第20列上)7(在第30列上),3.字段变量字段是与表相关的变量形式。数据表由若干
22、记录组成,每个记录都包含若干数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与内存变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而字段变量是永久性变量,一旦一个数据表建立,就有了属于该数据表的一组字段变量。因为数据表中字段名最多只能包含10个字符,所以,字段变量名称长度不应超过10个字符,也就是字段名就是字段变量名,此种变量的数据类型可以是Visual FoxPro中的任意数据类型,并在创建数据表结构时对每个字段名进行指定。,4.系统变量系统变量是指以字符“_”开头的、由Visual FoxPro系统自动定义生成的变量,它的名称是系统已经定义好的,
23、是Visual FoxPro系统特有的内存变量。例如,_MFILE、_MEDIT、_MVIEW等,因此在定义内存变量和数组名时,不要以下划线开始,以免与系统变量冲突。系统变量设置、保存了很多系统的状态、特性,了解、熟悉并充分运用系统变量,会给数据库系统的操作和管理带来方便。,数组是一种特殊的内存变量,是一组具有相同名称、以下标相互区分的有序内存变量。其中的每一个数据值称为一个元素,即数组元素或下标变量。数组可以按它的下标个数分为一维数组、二维数组和多维数组。,3.1.4 数 组,1.数组定义格式1:DIMENSION(,),(,)格式2:DECLARE(,),(,)两种格式功能完全相同,是定义
24、一个或若干个一维或二维或多维数组。定义数组时,也可以使用方括号,即DIMENSION d3,4,与DIMENSION d(3,4)功能一样,且均为合法数组定义命令。,一旦定义了数组,系统在内存中就为数组开辟一块连续的数据存储区域,为存储数据块作准备。而数据区域的大小取决于格式中的数字表达式,即每一维下标的上限数值,下限从1开始。例如:DIMENSION a1(10),a2(4,3),a3(1,2,3)上面的数组定义语句定义了3个数组:具有10个数组元素(即10个下标变量)的一维数组a1;具有4行3列的一共12个数组元素(即12个下标变量)的二维数组a2;具有6个数组元素(即6个下标变量)的三维
25、数组a3。,2.数组使用任何一个数组被定义后,就可以使用这些数组,并对它们进行赋值,数组的类型与赋值的类型有关。每一个数组的单元是以下标来表示的,所以数组变量往往也称为下标变量,一维数组称为单下标变量,二维数组称为双下标变量,下标的起始值为1,因此,如果有以下定义:DIMENSION A(N),B(N,M)对于一维数组A来说,它的使用范围为1N,即有N个下标变量可以存储数据,它们是:A(1),A(2),A(3),A(N)。,对于二维数组B来说,它的使用范围为(1 N)(1 M),即有NM个下标变量存储数据,它们是:B(1,1),B(1,2),B(1,3),B(1,M),B(2,1),B(2,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 第03章 数据管理基础 数据 表达式和函数 03 数据管理 基础 表达式 函数
链接地址:https://www.31ppt.com/p-4519874.html