数据库应用技术的基本概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INTERVAL YEAR TO MONTH:5字节定宽 INTERVAL DAY TO SECOND:11字节定宽
❖ 可以再日期运算中是一个DATE或TIMESTAMP类型 增加或减少一段时间。
路漫漫其悠远
2.2.2 数据类型
❖ NCHAR:包含UNICODE格式数据的定长字符串。 ❖ NVARCHAR2:包含UNICODE格式数据的变长字
后兼容,建议采用CLOB。
路漫漫其悠远
2.2.2 数据类型
❖ LONG RAW:能存储最多2GB的二进制信息。只为 保证向后兼容,建议采用BLOB。
❖ BFILE:可以在数据库列中存储一个Oracle目录对 象(操作系统目录的一个指针)和一个文件名,并 读取这个文件。只读方式访问数据库服务器上可用 的操作系统文件。
SYSDATE:返回系统当前时间。此函数不用写括号。 其他日期型函数大多用来进行不规则的日期运算,如: MONTHS_BETWEEN:计算两个日期之间相差的月份 ADD_MONTHS:日期加上月份。
路漫漫其悠远
2.2.3 常用函数——日期型
NEXT_DAY:下一个特定的日期,如星期几。 LAST_DAY:返回月份的最后一天。 ROUND和TRUNC函数也能对日期类型进行计算,按照
❖ Embedded(内含)SQL ❖ 过程控制SQL
Oracle:PL/SQL DB2:SQL/PL SQL Server:Transact-SQL
路漫漫其悠远
2.1.3 SQL分类
❖ DQL
Data Query Language数据查询语言,如SELECT。
❖ DML
Data Manipulate Language数据操纵语言,如INSERT、 DELETE、UPDATE。
❖ BLOB:Oracle 10g后允许存储(4GB)*(数据库块大 小)字节的数据。包含不需要进行字符集转换的“二 进制”数据,如电子表格、字处理文档、图像文件等 。
❖ CLOB:包含要进行字符集转换的信息,适合存储 纯文本信息。
路漫漫其悠远
❖ NCLOB:存储用数据库国家字符集编码的信息,而 且像CLOB一样,需要进行字符集转换。
❖ 1976年11月:IBM Journal of R&D文章中, IBM使用Structured English QUery Language (SEQUEL,结构化英语查询语言) 。后来,发现以被一个英国飞机公司作为商 标,改为SQL。
路漫漫其悠远
2.1.1 SQL的发展
❖ SQL-86(ANSI) ❖ SQL-89(ANSI,ISO) ❖ SQL-92(ANSI,ISO) ❖ SQL-99(ANSI,ISO) ❖ SQL-2003(ANSI,ISO)
符号函数SIGN(x):-1,x<0;0,x=0;1,x>0。 四舍五入函数:
x CEIL FLOOR ROUND TRUNC
2.3 3
2
2
2
2.6 3
2
3
2
-2.3 -2
-3
-2
-2
-2.6 -2
-3
-3
-2
路漫漫其悠远
2.2.3 常用函数——字符型
❖ 字符型的连接运算符是 || ,可以将两个字符串连接 在一起。
TIMESTAMP WITH TIME ZONE:13字节的定宽 TIMESTAMP,提供了时区支持。
TIMESTAMP WITH LOCAL TIME ZONE:7或11字节的 定宽TIMESTAMP,对时区敏感,根据数据库时区对数据 进行规范化。
路漫漫其悠远
2.2.2 数据类型——日期型
❖ INTERVAL用来表示一段时间长度(两个时间的差 ),如“半个小时”这样的概念。
ASCII转换:ASCII,CHR 大小写:UPPER,LOWER,INITCAP 查找/替换:INSTR,REPLACE 长度:LENGTH 填充/移除:LPAD,RPAD,TRIM 取子串:SUBSTR
路漫漫其悠远
2.2.3 常用函数——日期型
❖ 两个DATE类型的数据可以作减法,结果是一个浮 点小数,表示时间相差的天数。如今天12点减去昨 天12点等于1;如今天6点减去今天12点等于-0.25 ;一个时间也可以加/减一个数,表示在此时间点 向后或向前推若干天。
数据库应用技术的基本 概念
路漫漫其悠远
2020/3/25
2.1 SQL概述
路漫漫其悠远
2.1.1 SQL的发展
❖ 1976年:IBM的E. F. Codd发表了一篇里程 碑的论文“A System R: Relational Approach to Database Management ”R系统:数据库 关系理论,介绍了关系数据库理论和查询语 言SQL。
TO_DATE, TO_CHAR, TO_NUMBER
❖ 在转换时,可以使用必要的格式符说明格式细节, 否则使用缺省格式。
路漫漫其悠远
❖ ROWID:数据库中一行的10字节地址,在磁盘上 定位这一行,标识ROWID指向的对象。
❖ UROWID:通用ROWID,用于表,是行主键值的 一种表示。根据指向对象的不同,大小会有所变化 。
❖ INT、INTEGER、SMALLINT、FLOAT、REAL等 是在前面类型的基础上实现的,同义词。
❖ 事实上,国际标准与各个厂商之间的不兼容 ,造成了不可移植性。如字符串链接||与+; 引号;数据类型;函数;特殊语义等。
路漫漫其悠远
2.1.2 SQL的特点
❖ 关系代数的实现 ❖ 类自然语言 ❖ 即时性 ❖ 上下文无关性 ❖ 非过程化、命令集合 ❖ 逻辑独立性
路漫漫其悠远
2.1.2 SQL的特点
符串。 ❖ RAW:变长二进制数据类型,存储的数据不会发生
字符集转换。 ❖ BINARY_FLOAT:32位单精度浮点数。Oracle 10g
Release 1后新增。 ❖ BINARY_DOUBLE:64位双精度浮点数。Oracle
10g Release 1后新增。 ❖ LONG:能存储最多2GB的字符数据。只为保证向
路漫漫其悠远
2.2.2 数据类型——数值型
❖ NUMBER(P, S)。其中,P为Precision,意为数值 的最大位数(十进制),P<=38;S为Scale,意为 小数点后的最多位数。如NUMBER(5, 2), NUMBER(4),NUMBER(5,-2)。
如果给出S,表示一个定点数,当S为正数时,意为小数 点后的最多位数;为负数时,四舍五入到小数点前S位。
2.2.2 数据类型——字符型
❖ 在Oracle中,分为定长字符串和可变长字符串两种 字符类型,不区分字符和字符串。
❖ 定长字符串:CHAR(S),S是字符串的固定长度, S<=2000;
❖ 可变长字符串:VARCHAR2(S),S是字符串的最大 长度,S<=4000;
❖ 定长字符串在存储时使用固定长度,如果数据长度 小,则在后面填充空格;可变长字符串按照真实长 度存储数据,不填充空格,节省空间,但存储和运 算时间略长。
路漫漫其悠远
2.2.3 常用函数——日期型
❖ DATE类型数据的表示方式:在缺省情况下,使用 美国式日期格式表示法,即DD-MON-YY,并且 没有时间信息,如04-Apr-05。其他的格式表示 法需要通过设定会话参数或者使用日期转换函数完 成。
如 TO_CHAR(SYSDATE, 'YYYY/MM/DD HI24:MI:SS) 来显示所有的年月日、时分秒信息。
规定的格式符四舍五入或者截断到某个日期单位(如年 、月、日)。
路漫漫其悠远
2.2.3 常用函数——类型转换
❖ 隐式类型转换:Oracle是弱类型语言,各个类型之 间可以直接相互运算,系统自动转换为合适的类型 ,如:
‘123’ + 5 =128 ‘123’ || 5 = ‘1235’
❖ 必要的时候,也可以使用显式的类型转换函数,类 型转换函数有三个,即:
❖ 为便于书写和阅读,通常采用如下的书写规 范:
关键字大写,其他标识符小写; 每个子句单起一行; 使用制表符缩进。
路漫漫其悠远
2.2.2 数据类型
❖ Oracle提供了22种不同的SQL数据类型
CHAR、NCHAR、VARCHAR2、NVARCHARwk.baidu.com 、RAW、NUMBER、BINARY_FLOAT、 BINARY_DOUBLE、LONG、LONG RAW、 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、INTERVAL YEAR TO MONTH、 INTERVAL DAY TO SECOND、BFILE、BLOB 、CLOB、NCLOB、ROWID、UROWID。
路漫漫其悠远
2.2.2 数据类型——日期型
❖ 在Oracle中,DATE是7字节定宽日期/时间数据类型 ,表示日期和时间,表示的内容包括:世纪、年、 月、 时、分、秒。最小单位为秒。时间范围可以从 公元前4712年到公元9999年。
❖ 在日期型数据进行比较时,后面的日期更大。
❖ 在需要精确定时的情况下,可以使用TIMESTAMP 类型,7字节或11字节的定宽日期/时间数据类型。
❖ DDL
Data Definition Language数据定义语言,如CREATE、 DROP、ALTER等。
❖ DCL
Data Control Language数据控制语言,如COMMIT、 ROLLBACK等。
路漫漫其悠远
2.2 基本语法与数据类型
路漫漫其悠远
2.2.1 基本语法
❖ SQL语句不区分大小写,可以写在多行,各个单词 之间使用分隔符(空格,回车,制表符)分隔。语 句的结尾使用分号(Oracle)。
如果不给出p和s,表示一个浮点数。要注意的是scale的 值没有应用,也就是说scale的值不能简单的理解为0,或 者其他的数。
❖ NUMBER有几种子类型,和ANSI/ISO的写法兼容
定点数:DEC,DECIMAL,NUMERIC 浮点数:FLOAT,DOUBLE 路漫漫其悠远 整数:INTEGER,INT,SMALLINT
❖ SQL语句中的关键字属于保留字,不能用于其他地 方。SQL中数字常量的写法和通常程序语言一致, 字符串使用单引号包含,字符串中的单引号使用两 个连续的单引号转义表示,不区分字符和字符串。
❖ 在SQL语句中可以加入注释,多行注释使用/*…*/, 单行用--(oracle)。
路漫漫其悠远
2.2.1 基本语法
❖ 当前时间若为 2007年5月24日下午3点12分45秒, 上面的函数返回字符串
'2007/05/24 15:12:45'
路漫漫其悠远
2.2.3 常用函数——数值型
❖ 对于数值型,通常的+ - * /等算术运算符都可以使用
❖ 数值型函数是对数值进行操作的函数,包括我们常 见的各种数学函数,如sin, cos等。下面两个函数是 比较特别和有用的。
❖ 可以再日期运算中是一个DATE或TIMESTAMP类型 增加或减少一段时间。
路漫漫其悠远
2.2.2 数据类型
❖ NCHAR:包含UNICODE格式数据的定长字符串。 ❖ NVARCHAR2:包含UNICODE格式数据的变长字
后兼容,建议采用CLOB。
路漫漫其悠远
2.2.2 数据类型
❖ LONG RAW:能存储最多2GB的二进制信息。只为 保证向后兼容,建议采用BLOB。
❖ BFILE:可以在数据库列中存储一个Oracle目录对 象(操作系统目录的一个指针)和一个文件名,并 读取这个文件。只读方式访问数据库服务器上可用 的操作系统文件。
SYSDATE:返回系统当前时间。此函数不用写括号。 其他日期型函数大多用来进行不规则的日期运算,如: MONTHS_BETWEEN:计算两个日期之间相差的月份 ADD_MONTHS:日期加上月份。
路漫漫其悠远
2.2.3 常用函数——日期型
NEXT_DAY:下一个特定的日期,如星期几。 LAST_DAY:返回月份的最后一天。 ROUND和TRUNC函数也能对日期类型进行计算,按照
❖ Embedded(内含)SQL ❖ 过程控制SQL
Oracle:PL/SQL DB2:SQL/PL SQL Server:Transact-SQL
路漫漫其悠远
2.1.3 SQL分类
❖ DQL
Data Query Language数据查询语言,如SELECT。
❖ DML
Data Manipulate Language数据操纵语言,如INSERT、 DELETE、UPDATE。
❖ BLOB:Oracle 10g后允许存储(4GB)*(数据库块大 小)字节的数据。包含不需要进行字符集转换的“二 进制”数据,如电子表格、字处理文档、图像文件等 。
❖ CLOB:包含要进行字符集转换的信息,适合存储 纯文本信息。
路漫漫其悠远
❖ NCLOB:存储用数据库国家字符集编码的信息,而 且像CLOB一样,需要进行字符集转换。
❖ 1976年11月:IBM Journal of R&D文章中, IBM使用Structured English QUery Language (SEQUEL,结构化英语查询语言) 。后来,发现以被一个英国飞机公司作为商 标,改为SQL。
路漫漫其悠远
2.1.1 SQL的发展
❖ SQL-86(ANSI) ❖ SQL-89(ANSI,ISO) ❖ SQL-92(ANSI,ISO) ❖ SQL-99(ANSI,ISO) ❖ SQL-2003(ANSI,ISO)
符号函数SIGN(x):-1,x<0;0,x=0;1,x>0。 四舍五入函数:
x CEIL FLOOR ROUND TRUNC
2.3 3
2
2
2
2.6 3
2
3
2
-2.3 -2
-3
-2
-2
-2.6 -2
-3
-3
-2
路漫漫其悠远
2.2.3 常用函数——字符型
❖ 字符型的连接运算符是 || ,可以将两个字符串连接 在一起。
TIMESTAMP WITH TIME ZONE:13字节的定宽 TIMESTAMP,提供了时区支持。
TIMESTAMP WITH LOCAL TIME ZONE:7或11字节的 定宽TIMESTAMP,对时区敏感,根据数据库时区对数据 进行规范化。
路漫漫其悠远
2.2.2 数据类型——日期型
❖ INTERVAL用来表示一段时间长度(两个时间的差 ),如“半个小时”这样的概念。
ASCII转换:ASCII,CHR 大小写:UPPER,LOWER,INITCAP 查找/替换:INSTR,REPLACE 长度:LENGTH 填充/移除:LPAD,RPAD,TRIM 取子串:SUBSTR
路漫漫其悠远
2.2.3 常用函数——日期型
❖ 两个DATE类型的数据可以作减法,结果是一个浮 点小数,表示时间相差的天数。如今天12点减去昨 天12点等于1;如今天6点减去今天12点等于-0.25 ;一个时间也可以加/减一个数,表示在此时间点 向后或向前推若干天。
数据库应用技术的基本 概念
路漫漫其悠远
2020/3/25
2.1 SQL概述
路漫漫其悠远
2.1.1 SQL的发展
❖ 1976年:IBM的E. F. Codd发表了一篇里程 碑的论文“A System R: Relational Approach to Database Management ”R系统:数据库 关系理论,介绍了关系数据库理论和查询语 言SQL。
TO_DATE, TO_CHAR, TO_NUMBER
❖ 在转换时,可以使用必要的格式符说明格式细节, 否则使用缺省格式。
路漫漫其悠远
❖ ROWID:数据库中一行的10字节地址,在磁盘上 定位这一行,标识ROWID指向的对象。
❖ UROWID:通用ROWID,用于表,是行主键值的 一种表示。根据指向对象的不同,大小会有所变化 。
❖ INT、INTEGER、SMALLINT、FLOAT、REAL等 是在前面类型的基础上实现的,同义词。
❖ 事实上,国际标准与各个厂商之间的不兼容 ,造成了不可移植性。如字符串链接||与+; 引号;数据类型;函数;特殊语义等。
路漫漫其悠远
2.1.2 SQL的特点
❖ 关系代数的实现 ❖ 类自然语言 ❖ 即时性 ❖ 上下文无关性 ❖ 非过程化、命令集合 ❖ 逻辑独立性
路漫漫其悠远
2.1.2 SQL的特点
符串。 ❖ RAW:变长二进制数据类型,存储的数据不会发生
字符集转换。 ❖ BINARY_FLOAT:32位单精度浮点数。Oracle 10g
Release 1后新增。 ❖ BINARY_DOUBLE:64位双精度浮点数。Oracle
10g Release 1后新增。 ❖ LONG:能存储最多2GB的字符数据。只为保证向
路漫漫其悠远
2.2.2 数据类型——数值型
❖ NUMBER(P, S)。其中,P为Precision,意为数值 的最大位数(十进制),P<=38;S为Scale,意为 小数点后的最多位数。如NUMBER(5, 2), NUMBER(4),NUMBER(5,-2)。
如果给出S,表示一个定点数,当S为正数时,意为小数 点后的最多位数;为负数时,四舍五入到小数点前S位。
2.2.2 数据类型——字符型
❖ 在Oracle中,分为定长字符串和可变长字符串两种 字符类型,不区分字符和字符串。
❖ 定长字符串:CHAR(S),S是字符串的固定长度, S<=2000;
❖ 可变长字符串:VARCHAR2(S),S是字符串的最大 长度,S<=4000;
❖ 定长字符串在存储时使用固定长度,如果数据长度 小,则在后面填充空格;可变长字符串按照真实长 度存储数据,不填充空格,节省空间,但存储和运 算时间略长。
路漫漫其悠远
2.2.3 常用函数——日期型
❖ DATE类型数据的表示方式:在缺省情况下,使用 美国式日期格式表示法,即DD-MON-YY,并且 没有时间信息,如04-Apr-05。其他的格式表示 法需要通过设定会话参数或者使用日期转换函数完 成。
如 TO_CHAR(SYSDATE, 'YYYY/MM/DD HI24:MI:SS) 来显示所有的年月日、时分秒信息。
规定的格式符四舍五入或者截断到某个日期单位(如年 、月、日)。
路漫漫其悠远
2.2.3 常用函数——类型转换
❖ 隐式类型转换:Oracle是弱类型语言,各个类型之 间可以直接相互运算,系统自动转换为合适的类型 ,如:
‘123’ + 5 =128 ‘123’ || 5 = ‘1235’
❖ 必要的时候,也可以使用显式的类型转换函数,类 型转换函数有三个,即:
❖ 为便于书写和阅读,通常采用如下的书写规 范:
关键字大写,其他标识符小写; 每个子句单起一行; 使用制表符缩进。
路漫漫其悠远
2.2.2 数据类型
❖ Oracle提供了22种不同的SQL数据类型
CHAR、NCHAR、VARCHAR2、NVARCHARwk.baidu.com 、RAW、NUMBER、BINARY_FLOAT、 BINARY_DOUBLE、LONG、LONG RAW、 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、INTERVAL YEAR TO MONTH、 INTERVAL DAY TO SECOND、BFILE、BLOB 、CLOB、NCLOB、ROWID、UROWID。
路漫漫其悠远
2.2.2 数据类型——日期型
❖ 在Oracle中,DATE是7字节定宽日期/时间数据类型 ,表示日期和时间,表示的内容包括:世纪、年、 月、 时、分、秒。最小单位为秒。时间范围可以从 公元前4712年到公元9999年。
❖ 在日期型数据进行比较时,后面的日期更大。
❖ 在需要精确定时的情况下,可以使用TIMESTAMP 类型,7字节或11字节的定宽日期/时间数据类型。
❖ DDL
Data Definition Language数据定义语言,如CREATE、 DROP、ALTER等。
❖ DCL
Data Control Language数据控制语言,如COMMIT、 ROLLBACK等。
路漫漫其悠远
2.2 基本语法与数据类型
路漫漫其悠远
2.2.1 基本语法
❖ SQL语句不区分大小写,可以写在多行,各个单词 之间使用分隔符(空格,回车,制表符)分隔。语 句的结尾使用分号(Oracle)。
如果不给出p和s,表示一个浮点数。要注意的是scale的 值没有应用,也就是说scale的值不能简单的理解为0,或 者其他的数。
❖ NUMBER有几种子类型,和ANSI/ISO的写法兼容
定点数:DEC,DECIMAL,NUMERIC 浮点数:FLOAT,DOUBLE 路漫漫其悠远 整数:INTEGER,INT,SMALLINT
❖ SQL语句中的关键字属于保留字,不能用于其他地 方。SQL中数字常量的写法和通常程序语言一致, 字符串使用单引号包含,字符串中的单引号使用两 个连续的单引号转义表示,不区分字符和字符串。
❖ 在SQL语句中可以加入注释,多行注释使用/*…*/, 单行用--(oracle)。
路漫漫其悠远
2.2.1 基本语法
❖ 当前时间若为 2007年5月24日下午3点12分45秒, 上面的函数返回字符串
'2007/05/24 15:12:45'
路漫漫其悠远
2.2.3 常用函数——数值型
❖ 对于数值型,通常的+ - * /等算术运算符都可以使用
❖ 数值型函数是对数值进行操作的函数,包括我们常 见的各种数学函数,如sin, cos等。下面两个函数是 比较特别和有用的。