资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库应用技术第二章 基本概念,2.1 SQL概述,2.1.1 SQL的发展,1976,年:,IBM,的,E.F.Codd,发表了一篇里程碑的论文“,A System R:Relational Approach to Database Management,”,R,系统:数据库关系理论,介绍了关系数据库理论和查询语言,SQL,。,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),事实上,国际标准与各个厂商之间的不兼容,造成了不可移植性。如字符串链接|与+;引号;数据类型;函数;特殊语义等。,2.1.2 SQL的特点,关系代数的实现,类自然语言,即时性,上下文无关性,非过程化、命令集合,逻辑独立性,2.1.2 SQL的特点,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,。,DDL,Data Definition Language,数据定义语言,如,CREATE,、,DROP,、,ALTER,等。,DCL,Data Control Language,数据控制语言,如,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,、,TIMESTAMP WITH TIMEZONE,、,TIMESTAMP WITH LOCALTIME ZONE,、,INTERVALYEAR TOMONTH,、,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,,,用,用,于,于,表,表,,,,,是,是,行,行,主,主,键,键,值,值,的,的,一,一,种,种,表,表,示,示,。,。,根,根,据,据,
展开阅读全文