资源描述
,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,*,書式設定,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,書式設定,第 2,第 3,第 4,第 5,第6,第7,第8,第9,書式設定,*,第二章 数据库基本概念,数据库基本概念,2.1,数据类型,2.1.1,基本数据类型,2.1.2,算术运算,2.1.3,常用函数,2.1.4,空值,2.2,表(,Table,),2.2.1,关系型数据库中的表,2.2.2,主键,2.1.1,基本数据类型,数值型,字符型,日期型,二进制大对象,其他类型,数值型,定点数与浮点数,NUMBER(p,s),P,为,Precision,(,p=38,),,意为数值的最大位数(十进制),S,为,Scale,,意为小数点后的最多位数。,如果,S,为负数,表示精确到小数点前若干位,字符型,国家语言支持,(National Language Support,NLS),定长类型,CHAR,CHAR(n),,最大,2000,长度固定,填充空格,性能稍好,适合固定长度的编号等,变长类型,VARCHAR2,VARCHAR2(n),,最大,4000,节约存储,日期型,日期及时间,DATE,世纪、年、月、天、小时、分钟、秒,公元前,4712,到公元后,9999,精度为秒,适合记录一般时间,TIMESTAMP(n),N,为秒分量的小数位数,从,0,到,9,,最大精度为微秒,还可以支持时区,INTERVAL,时间间隔,这是一个差值,而不是绝对时间,BLOB,和其他数据类型,二进制,大对象数据类型,Binary Large OBject,BLOB,可以存放大量文本、二进制数据(图像、音频、可执行程序等等)、文件等,单独存储,存取方法特殊,ROWID,用于标识数据库中唯一的一行,这是一个伪列,2.1.2,基本算术运算,数值型:,对于数值型,通常的,+-*/,等算术运算符都可以使用。,字符型:,字符型的连接运算符是,|,,可以连接两个字符串。,日期型:,两个,DATE,类型的数据可以作减法,结果是一个浮点小数,表示时间相差的天数。,一个时间也可以加减一个浮点数,表示在此时间点向后或向前推若干天。,2.1.3,常用函数,数值函数,常见的各种数学函数,如,sin,cos,等,SIGN,函数,四舍五入函数,CEIL,(,x,),FLOOR,(,x,),ROUND(x),TRUNC(x),常用字符型函数,长度,LENGTH,计算字符串的长度,LENGTHB,计算,BYTE,长度,大小写转换,UPPER,将所有小写字母转换为大写字母,LOWER,将所有大写字母转换为小写字母,INITCAP,将字符串中每个单词的首字母大写,子串,运算,SUBSTR(char,m,n),,取子串,INSTR,(char1,char2,m,n),,查找字符串,2,出现的位置,REPLACE(char1,char2,char3),,替换,常用日期函数,SYSDATE,返回系统当前时间(此函数没有参数),ADD_MONTHS(d1,n),返回日期,d,添加,n,个月所对应的日期。,MONTHS_BETWEEN(d1,d2),返回两个日期之间相差的月份,NEXT_DAY,(,d,string,),返回日期,d,后的第一个工作日所对应的日期,LAST_DAY,(,d,),返回,d,所在月份的最后一天的日期,ROUND,(,d,fmt,),返回日期的四舍五入结果,TRUNC,(,d,fmt,),返回截断日期时间数据,类型转换,隐式类型转换:,Oracle,是弱类型语言,各个类型之间可以直接相互运算,系统自动转换为合适的类型,必要的时候,也可以使用显式的类型转换函数,类型转换函数有三个,即:,TO_DATE,TO_CHAR,TO_NUMBER,通用类型转换函数,CONVERT,以字符为核心的类型转换,CHAR,,,VARCHAR2,NUMBER,DATE,TO_NUMBER,TO_DATE,TO_CHAR,TO_CHAR,日期格式问题,默认日期格式,在,英文环境,下,使用美国式日期格式表示法,即,DD,MON,YY,,并且没有时间信息,如,12-,Apr-08,在中文环境下,格式如下,12-,四月,-08,自定义日期格式,如,YYYY/MM/DD HI24:MI:SS,类型转换,修改设置,其他特殊函数,DECODE,2.1.4,空值与空值逻辑,空值用来表示未知,(Unknown),或,不适用,(I,napplicable,),的情况,,使用,NULL,表示,空值的特点,等价于没有任何值,与,0,、空字符串或空格不同,逻辑运算方法不同,单独,排序,不参与统计,不能被索引,空值算术运算,NULL,参与,算术,运算的规则:,针对数值型和日期型数据,若有一个为,NULL,,则返回,NULL,。,NULL,参与字符串(拼接)运算,按空字符串对待。,一般函数,若其中某个参数为空,结果为空,NVL(a,b),函数,如果,a,不为空,返回,a,否则返回,b,空值逻辑,2.2.1,表,所谓关系型数据库,是指采用了关系模型来组织数据的数据库,。,简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。,普通词汇,关系模型术语,数据库词汇,二维表,关系,(Relation),表,(Table),行,(Row),元组,(Turple),记录,(Record),列,(column),属性,(Attribute),字段,(Column),域,(Field),数据类型,(DataType),2.2.2,主键,表的主键是,能够唯一标识表中一行数据的字段或者最小字段组合。,由,数据库设计者,制定。,主键必须唯一的识别每一记录。,一个记录的主键不能为空。,当生成记录时,主键的值必须存在。,对于,RDBMS,本身来说,主键并不是必须的,但对于应用程序员,表中必须有主键。,2.2.3,示例数据库介绍,这是一个基本的商业销售数据库,包括以下信息:,Locations,:地点,Products,:货物,Sales,:销售员,Customers,:顾客,Orders,:订单,Stock_in_out,:入库出库记录,示例数据库详细内容,字段名,数据类型,约束,描述,Lid,(主键),NUMBER(6,),NOT NULL,位置编码,City,VARCHAR2(20),NOT NULL,城市,Address,VARCHAR2(30),NULL,地址,Postcode,CHAR(6),NULL,邮政编码,1,、,Locations:,位置地点信息,字段名,数据类型,约束,描述,Cid,(主键),NUMBER(6),NOT NULL,顾客编码,Cname,VAR,CHAR2(20),NOT NULL,顾客姓名,City,VARCHAR2(10),NULL,城市,Discnt,NUMBER(4,2),NOT NULL,折扣,Address,VARCHAR2(40),NULL,地址,2,、,Customers:,顾客信息,字段名,数据类型,约束,描述,S,id,(主键),NUMBER(6),NOT NULL,代理商编码,Sname,VARCHAR2(20),NOT NULL,代理商姓名,Lid,NUMBER(6),NULL,城市编码,Percent,NUMBER(3,1),NOT NULL,提成率,Salary,NUMBER(7,2),NOT NULL,工资,Manager,NUMBER(6),NULL,经理,3,、,Sales:,代理商信息,字段名,数据类型,约束,描述,Pid,(主键),NUMBER(6),NOT NULL,产品编码,Pname,VARCHAR2(20),NOT NULL,产品名称,Lid,NUMBER(6),NOT NULL,城市编码,Quantity,NUMBER(8,2),NOT NULL,数量,Price,NUMBER(8,2),NOT NULL,价格,4,、,Products:,货物信息,字段名,数据类型,约束,描述,Oid,(主键),NUMBER(6),NOT NULL,订单编码,Buy_date,DATE,NOT NULL,购买日期,Cid,NUMBER(6),NOT NULL,顾客编码,Sid,NUMBER(6),NOT NULL,代理商编码,Pid,NUMBER(6),NOT NULL,产品编码,Qty,NUMBER(6,2),NOT NULL,购买数量,Dollars,NUMBER(8,2),NOT NULL,购买金额,5,、,Orders,:订单数据,字段名,数据类型,约束,描述,Sio_id,(主键),NUMBER(6),NOT NULL,入库出库单编码,pid,NUMBER(6),NOT NULL,产品编码,Seq_no,NUMBER(4),NOT NULL,序列号,Qty_in_out,NUMBER(8,2),NOT NULL,进出数量,入库为正数,出库为负数,Date_Happen,Date,NOT NULL,时间,6,、,Stock_in_out,:入库出库记录,
展开阅读全文