版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用技术
第二章基本概念第一页,共二十五页。2.1SQL概述第二页,共二十五页。2.1.1SQL的发展1976年:IBM的E.F.Codd发表了一篇里程碑的论文“ASystemR:RelationalApproachtoDatabaseManagement”R系统:数据库关系理论,介绍了关系数据库理论和查询语言SQL。1976年11月:IBMJournalofR&D文章中,IBM使用StructuredEnglishQUeryLanguage(SEQUEL,结构化英语查询语言)。后来,发现以被一个英国飞机公司作为商标,改为SQL。第三页,共二十五页。2.1.1SQL的发展SQL-86(ANSI)SQL-89(ANSI,ISO)SQL-92(ANSI,ISO)SQL-99(ANSI,ISO)SQL-2003(ANSI,ISO)事实上,国际标准与各个厂商之间的不兼容,造成了不可移植性。如字符串链接||与+;引号;数据类型;函数;特殊语义等。第四页,共二十五页。2.1.2SQL的特点关系代数的实现类自然语言即时性上下文无关性非过程化、命令集合逻辑独立性第五页,共二十五页。2.1.2SQL的特点Embedded(内含)SQL过程控制SQLOracle:PL/SQLDB2:SQL/PLSQLServer:Transact-SQL第六页,共二十五页。2.1.3SQL分类DQLDataQueryLanguage数据查询语言,如SELECT。DMLDataManipulateLanguage数据操纵语言,如INSERT、DELETE、UPDATE。DDLDataDefinitionLanguage数据定义语言,如CREATE、DROP、ALTER等。DCLDataControlLanguage数据控制语言,如COMMIT、ROLLBACK等。第七页,共二十五页。2.2基本语法与数据类型第八页,共二十五页。2.2.1基本语法SQL语句不区分大小写,可以写在多行,各个单词之间使用分隔符(空格,回车,制表符)分隔。语句的结尾使用分号(Oracle)。SQL语句中的关键字属于保留字,不能用于其他地方。SQL中数字常量的写法和通常程序语言一致,字符串使用单引号包含,字符串中的单引号使用两个连续的单引号转义表示,不区分字符和字符串。在SQL语句中可以加入注释,多行注释使用/*…*/,单行用--(oracle)。第九页,共二十五页。2.2.1基本语法为便于书写和阅读,通常采用如下的书写规范:关键字大写,其他标识符小写;每个子句单起一行;使用制表符缩进。第十页,共二十五页。2.2.2数据类型Oracle提供了22种不同的SQL数据类型CHAR、NCHAR、VARCHAR2、NVARCHAR2、RAW、NUMBER、BINARY_FLOAT、BINARY_DOUBLE、LONG、LONGRAW、DATE、TIMESTAMP、TIMESTAMPWITHTIMEZONE、TIMESTAMPWITHLOCALTIMEZONE、INTERVALYEARTOMONTH、INTERVALDAYTOSECOND、BFILE、BLOB、CLOB、NCLOB、ROWID、UROWID。第十一页,共二十五页。2.2.2数据类型——数值型NUMBER(P,S)。其中,P为Precision,意为数值的最大位数(十进制),P<=38;S为Scale,意为小数点后的最多位数。如NUMBER(5,2),NUMBER(4),NUMBER(5,-2)。如果给出S,表示一个定点数,当S为正数时,意为小数点后的最多位数;为负数时,四舍五入到小数点前S位。如果不给出p和s,表示一个浮点数。要注意的是scale的值没有应用,也就是说scale的值不能简单的理解为0,或者其他的数。NUMBER有几种子类型,和ANSI/ISO的写法兼容定点数:DEC,DECIMAL,NUMERIC浮点数:FLOAT,DOUBLE整数:INTEGER,INT,SMALLINT第十二页,共二十五页。2.2.2数据类型——字符型在Oracle中,分为定长字符串和可变长字符串两种字符类型,不区分字符和字符串。定长字符串:CHAR(S),S是字符串的固定长度,S<=2000;可变长字符串:VARCHAR2(S),S是字符串的最大长度,S<=4000;定长字符串在存储时使用固定长度,如果数据长度小,则在后面填充空格;可变长字符串按照真实长度存储数据,不填充空格,节省空间,但存储和运算时间略长。第十三页,共二十五页。2.2.2数据类型——日期型在Oracle中,DATE是7字节定宽日期/时间数据类型,表示日期和时间,表示的内容包括:世纪、年、月、时、分、秒。最小单位为秒。时间范围可以从公元前4712年到公元9999年。在日期型数据进行比较时,后面的日期更大。在需要精确定时的情况下,可以使用TIMESTAMP类型,7字节或11字节的定宽日期/时间数据类型。TIMESTAMPWITHTIMEZONE:13字节的定宽TIMESTAMP,提供了时区支持。TIMESTAMPWITHLOCALTIMEZONE:7或11字节的定宽TIMESTAMP,对时区敏感,根据数据库时区对数据进行规范化。第十四页,共二十五页。2.2.2数据类型——日期型INTERVAL用来表示一段时间长度(两个时间的差),如“半个小时”这样的概念。INTERVALYEARTOMONTH:5字节定宽INTERVALDAYTOSECOND:11字节定宽可以再日期运算中是一个DATE或TIMESTAMP类型增加或减少一段时间。第十五页,共二十五页。2.2.2数据类型NCHAR:包含UNICODE格式数据的定长字符串。NVARCHAR2:包含UNICODE格式数据的变长字符串。RAW:变长二进制数据类型,存储的数据不会发生字符集转换。BINARY_FLOAT:32位单精度浮点数。Oracle10gRelease1后新增。BINARY_DOUBLE:64位双精度浮点数。Oracle10gRelease1后新增。LONG:能存储最多2GB的字符数据。只为保证向后兼容,建议采用CLOB。第十六页,共二十五页。2.2.2数据类型LONGRAW:能存储最多2GB的二进制信息。只为保证向后兼容,建议采用BLOB。BFILE:可以在数据库列中存储一个Oracle目录对象(操作系统目录的一个指针)和一个文件名,并读取这个文件。只读方式访问数据库服务器上可用的操作系统文件。BLOB:Oracle10g后允许存储(4GB)*(数据库块大小)字节的数据。包含不需要进行字符集转换的“二进制”数据,如电子表格、字处理文档、图像文件等。CLOB:包含要进行字符集转换的信息,适合存储纯文本信息。第十七页,共二十五页。NCLOB:存储用数据库国家字符集编码的信息,而且像CLOB一样,需要进行字符集转换。ROWID:数据库中一行的10字节地址,在磁盘上定位这一行,标识ROWID指向的对象。UROWID:通用ROWID,用于表,是行主键值的一种表示。根据指向对象的不同,大小会有所变化。INT、INTEGER、SMALLINT、FLOAT、REAL等是在前面类型的基础上实现的,同义词。第十八页,共二十五页。2.2.3常用函数——日期型DATE类型数据的表示方式:在缺省情况下,使用美国式日期格式表示法,即DD-MON-YY,并且没有时间信息,如04-Apr-05。其他的格式表示法需要通过设定会话参数或者使用日期转换函数完成。如TO_CHAR(SYSDATE,'YYYY/MM/DDHI24:MI:SS)
来显示所有的年月日、时分秒信息。当前时间若为
2007年5月24日下午3点12分45秒,上面的函数返回字符串'2007/05/2415:12:45'第十九页,共二十五页。2.2.3常用函数——数值型对于数值型,通常的+-*/等算术运算符都可以使用数值型函数是对数值进行操作的函数,包括我们常见的各种数学函数,如sin,cos等。下面两个函数是比较特别和有用的。符号函数SIGN(x):-1,x<0;0,x=0;1,x>0。四舍五入函数:xCEILFLOORROUNDTRUNC2.332222.63232-2.3-2-3-2-2-2.6-2-3-3-2第二十页,共二十五页。2.2.3常用函数——字符型字符型的连接运算符是
||,可以将两个字符串连接在一起。ASCII转换:ASCII,CHR大小写:UPPER,LOWER,INITCAP查找/替换:INSTR,REPLACE长度:LENGTH填充/移除:LPAD,RPAD,TRIM取子串:SUBSTR第二十一页,共二十五页。2.2.3常用函数——日期型两个DATE类型的数据可以作减法,结果是一个浮点小数,表示时间相差的天数。如今天12点减去昨天12点等于1;如今天6点减去今天12点等于-0.25;一个时间也可以加/减一个数,表示在此时间点向后或向前推若干天。SYSDATE:返回系统当前时间。此函数不用写括号。其他日期型函数大多用来进行不规则的日期运算,如:MONTHS_BETWEEN:计算两个日期之间相差的月份ADD_MONTHS:日期加上月份。第二十二页,共二十五页。2.2.3常用函数——日期型NEXT_DAY:下一个特定的日期,如星期几。LAST_DAY:返回月份的最后一天。ROUND和TRUNC函数也能对日期类型进行计算,按照规定的格式符四舍五入或者截断到某个日期单位(如年、月、日)。第二十三页,共二十五页。2.2.3常用函数——类型转换隐式类型转换:Oracle是弱类型语言,各个类型之间可以直接相互运算,系统自动转换为合适的类型,如:‘123’+5=128‘123’||5=‘1235’必要的时候,也可以使用显式的类型转换函数,类型转换函数有三个,即:TO_DATE,TO_CHAR,TO_NUMBER在转换时,可以使用必要的格式符说明格式细节,否则使用缺省格式。第二十四页,共二十五页。内容总结数据库应用技术
第二章基本概念。2.2.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年简历分析与视频面试AI评估的效能提升方法
- 人教版英语八年级上册教学课件Unit 8 Let's Communicate!Section B
- 2026 年中职康复治疗(康复治疗基础)试题及答案
- 初级会计资产题库及答案
- 2024年中考道德与法治(广西)第二次模拟考试(含答案)
- 2025年海南省公需课学习-体育强国建设纲要解读437
- 中药注射剂生产检验电子化记录技术指南
- 2025年营养周饮食健康知识竞赛题库及答案(共120题)
- 2025年高二选修政治试卷及答案
- 盐城三模历史试卷及答案
- DB21∕T 3165-2025 钢纤维混凝土预制管片技术规程
- 广西崇左市江州区2025-2026学年七年级上学期第三阶段素质评价历史试题 (含答案)
- 2025ACR指南:系统性红斑狼疮的治疗课件
- 国开2025年秋《数学思想与方法》大作业答案
- 消防安全培训课件
- 2025及未来5年印染布料项目投资价值分析报告
- (2025年)医学装备管理试题(带答案)
- 车间后备人才现状汇报
- 2025四川产业振兴基金投资集团有限公司应届毕业生招聘9人笔试历年难易错考点试卷带答案解析2套试卷
- 《建筑设计》课程教案(2025-2026学年)
- 软装工程质量管理方案有哪些
评论
0/150
提交评论