资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库基本原理和,ORACLE,数据库基本操作,信息技术部,刘娟,数据库基本原理和ORACLE数据库基本操作信息技术部刘,课程目的,1.,了解数据库基本概念,2.,了解关系型数据模型,3.,了解,ORACLE,数据库,SQL,语言的基本操作,课程目的1.了解数据库基本概念,数据,数据库,(DB),数据库管理系统,(DBMS),数据库应用,数据库系统,描述事物的符号:,数字、图形、文字、声音等,存储在计算机上,有组织、可以共享的数据集合,有效组织数据库和管理数据库的软件:数据定义、数据操纵、运行管理、建立维护,针对数据库编写的针对于专门用户的程序软件,上述所有构成了数据库系统,基本概念,数据数据库(DB)数据库管理系统(DBMS)数据库应用数据库,数据库系统,数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。,数据库系统数据、数据库、数据库管理系统与操作数据库的应用程,主流数据库,主流数据库,关系型数据库,数据库系统的发展经历了层次模型、网状模型及关系模型几个阶段。当今应用最普遍的是,关系型数据库管理系统,。,目前,市场上流行的几种大型数据库,如,Oracle,、,DB2,、,Sybase,、,MS SQL Server,等都是关系型数据库管理系统。,Oracle,数据库是一种面向对象的关系型数据库管理系统,(ORDBMS),,是基于标准,SQL,语言的数据库产品。,关系型数据库数据库系统的发展经历了层次模型、网状模型及关系模,关系,两个不同实体集之间的联系有三种类型:,一对一联系(,1,:,1,),一对多联系(,1,:,n,),多对多联系(,m,:,n,),关系两个不同实体集之间的联系有三种类型:,集团负责人,组织,集团,1,1,1:1,联系,成员,选购,产品,m,n,m:n,联系,集团,属于,成员,1,n,1:n,联系,姓名,集团号,订单,集团负责人组织集团111:1联系成员选购产品mnm:n联系集,成员,集团号,有效期,订单,性别,年龄,姓名,产品号,产品名,产品,选购,集团成员与产品联系的,E-R,图,M,N,成员集团号有效期订单性别年龄姓名产品号产品名产品选购集团成员,数据模型,集团成员表,集团号,成员号,姓名,年龄,性别,jt001,jt001-001,张三,32,男,jt001,jt001-002,李四,28,男,产品表,产品号,产品名称,有效期,cp001,集团号簿,2030,年,12,月,31,日,cp002,VPMN,2030,年,12,月,31,日,订单表,成员号,产品号,订购时间,jt001-001,cp001,2016,年,1,月,1,日,jt001-002,cp001,2016,年,1,月,1,日,jt001-001,cp002,2016,年,1,月,1,日,jt001-002,cp002,2016,年,1,月,1,日,数据模型集团成员表集团号成员号姓名年龄性别jt001jt00,ORACLE,数据库一些概念,为了在数据库中存放数据,首先定义了,表(,table,),。表是数据的集合,由行和列组成。,当一个表很大的时候(包含成千上万的行),为了提升数据检索的速度,,Oracle,引入了,索引(,index,),。索引是实现数据高效检索的基础,也是,SQL,调优的最基本手段。,表级别的授权无法实现行粒度和列粒度的权限管理,为此,Oracle,引入了,视图(,view,),。视图对表的行和列进行筛选,实现了行粒度和列粒度的权限管理目的。,有了表、索引和视图之后,,Oracle,把这些对象聚合在一起,形成,数据库(,database,),。表和索引之类的东西最终会存放到磁盘,其存在形式就是,数据库文件,。,大机构的数据很多,通常会分散到不同的数据库中。为了在不同数据库之间访问彼此的数据,,Oracle,引入了,数据库链接(,database link,),。数据库链接是不同数据库间互相访问的通道。,ORACLE数据库一些概念为了在数据库中存放数据,首先定义了,三级结构,SQL,视图,1,视图,2,基本表,1,存储文件,1,存储文件,2,基本表,2,基本表,3,基本表,4,三级结构SQL视图1视图2基本表1存储文件1存储文件2基本表,SQL,语言,结构化查询语言,(Structured Query Language),简称,SQL,,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。,1986,年,10,月,美国国家标准协会对,SQL,进行规范后,以此作为关系型数据库管理系统的标准语言,,1987,年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对,SQL,规范作了某些编改和扩充。所以,实际上不同数据库系统之间的,SQL,不能完全相互通用。,主要特点:,Oracle,数据库中,SQL,用来创建、存储、更新、检索和维护数据,其中主要的功能是实现数据的查询和数据的插入、删除、修改等操作。,SQL,语言在书写上类似于英文,简洁清晰,易于理解。它由关键字、表名、字段名,表达式等部分构成。,SQL语言结构化查询语言(Structured Query,SQL,语言的分类,按照,SQL,语言的不同功用,可以进一步对,SQL,语言进行划分。,SQL语言的分类按照SQL语言的不同功用,可以进一步对SQL,由,主句,和若干个,从句,组成,主句和从句都由关键字引导。,主句表示该语句的主要功能,从句表示一些条件或限定,有些从句是可以省略的。,在语句中会引用到列名、表名或表达式。另外还有如下一些说明:,关键字、字段名、表名等之间都要用空格或逗号等进行必要的分隔。,语句的大小写不敏感,(,查询的内容除外,),。,语句可以写在一行或多行。,语句中的关键字不能略写和分开写在两行。,要在每条,SQL,语句的结束处添加,“,;,”,号。,为了提高可读性,可以使用缩进。,从句一般写在另一行的开始处。,SQL,基本语法,由主句和若干个从句组成,主句和从句都由关键字引导。SQL基本,查询语句是最常见的,SQL,语句,它从给定的表中,把满足条件的内容检索出来。以下是最基本的,SELECT,语句语法。,SELECT(,字段名列表,|*)FROM,表名,WHERE,条件,;,SELECT,为查询语句的关键字,该关键字不能省略。,字段名列表代表要查询的字段。,FROM,也是查询语句关键字,后面跟要查询的表名,该关键字不能省略。,WHERE,条件限定检索特定的记录,满足,“,条件,”,的记录被显示出来,不满足条件的被过滤掉。,语句查询的结果往往是表的一部分行和列。如果字段名列表使用*,将检索全部的,字段,。如果省略,WHERE,条件,将检索全部的,记录,。,SELECT*FROM emp WHERE deptno=10;,SQL,查询语句,SQL查询语句,基本查询语句,1,基本查询,select*from dept;,2,显示行号,ROWNUM oracle,特有的,每个表都有一个虚列,ROWNUM,,它用来显示结果中记录的行号。我们在查询中也可以显示这个列。,SELECT rownum,ename FROM emp;,select*from(select rownum no,id,name from student)where no2;,select*from(select rownum no,id,name from student where rownum=2;,3,显示计算列,在查询语句中可以有算术表达式,它将形成一个新列,用于显示计算的结果,通常称为计算列。表达式中可以包含列名、算术运算符和括号。括号用来改变运算的优先次序。常用的算术运算符包括:,+,:加法运算符。,-,:减法运算符。,*:乘法运算符。,/,:除法运算符。,Select sal*12 from emp;,基本查询语句1基本查询 select*from dept,基本查询语句,4,连接运算符,在前面,我们使用到了包含数值运算的计算列,显示结果也是数值型的。我们也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双竖线,“,|,”,。通过连接运算可以将两个字符串连接在一起。,SELECT empno|,:,|ename,salFROM emp;,5,使用别名,as,我们可以为表的列起一个别名,它的好处是,可以改变表头的显示。特别是对于计算列,可以为它起一个简单的列别名以代替计算表达式在表头的显示。,说明:表头显示的是列别名,转换为汉字显示。在列名和别名之间要用,AS,分隔,如,ename,和它的别名,“,名称,”,之间用,AS,隔开。,AS,也可以省略,如,sal,和它的别名,“,工资,”,之间用空格分割。,注意:如果用空格分割,要区别好列名和别名,前面为列名,后面是别名。,别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来。,SELECT ename,sal,comm,NVL(sal,0)+NVL(comm,0)as total FROM emp,;,基本查询语句4 连接运算符,基本查询语句,6,消除重复行,如果在显示结果中存在重复行,可以使用的关键字,DISTINCT,消除重复显示。,SELECT,DISTINCT,job FROM emp;,7.,查询结果的排序,SELECT,字段列表,FROM,表名,WHERE,条件,ORDER BY,字段名,1 ASC|DESC,字段名,ASC|DESC.;,ASC,升序(默认),|DESC,降序,SELECT ename,sal FROM emp ORDER BY sal;,可以按多列进行排序,先按第一列,然后按第二列,如果要对计算列排序,可以为计算列指定别名,然后按别名排序。,Eg,:,select*from emp order by mgr asc,hiredate desc;,基本查询语句,条件查询,简单条件查询,要对显示的行进行限定,可在,FROM,从句后使用,WHERE,从句,在,WHERE,从句中给出限定的条件,因为限定条件是一个表达式,所以称为条件表达式。条件表达式中可以包含比较运算,表达式的值为真的记录将被显示。,例子:,条件查询 简单条件查询,条件查询,复合条件查询,可以用逻辑运算符构成复合的条件查询,即把两个或多个条件,用逻辑运算符连接成一个条件。有,3,个逻辑运算符,如下表所示。,运算的优先顺序是,NOT,,,AND,,,OR,。如果要改变优先顺序,可以使用括号。,条件查询复合条件查询,特殊条件查询,Between.and,In,Is Not Null,LIKE,使用,LIKE,操作符可完成按通配符查找字符串的查询操作,该操作符适合于对数据进行模糊查询。其语法为:,NOT LIKE,匹配模式,匹配模式中除了可以包含固定的字符之外,还可以包含以下的通配符:,%,:代表任意多个字符。,_,:代表一个任意字符。,SELECTempno,ename,sal,comm FROM emp WHERE ename LIKE _A%;,特殊条件查询Between.and,函数,数值型函数,函数数值型函数,函数,字符型函数,函数字符型函数,函数,日期型函数,函数日期型函数,函数,类型转换函数,1,自动类型转换,Oracle,可以自动根据具体情况进行如下的转换:,*字符串到
展开阅读全文