数据库培训教程.pptx
《数据库培训教程.pptx》由会员分享,可在线阅读,更多相关《数据库培训教程.pptx(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1、ORACLE数据库简述2、SQL介绍3、课程目标4、PL/SQL浅谈4、总结第1页/共80页第1章 ORACLE数据库简述 随着计算机技术、通信技术和网络技术的发展,人类社会已经进入了信息化时代。信息资源已经成为最重要和宝贵的资源之一,确保信息资源的存储,以及其有效性就变得非常重要,而保存信息的核心就是数据库技术。对于数据库技术,当前应用最为广泛的是关系型数据库,而在关系型数据库中,Oracle公司推出的Oracle数据库是其中佼佼者。本书所基于的数据库为Oracle 11g。第2页/共80页目录:关系数据库的逻辑模型关系数据库的设计规范理解什么是网格技术了解Oracle的应用结构了解
2、Oracle的体系结构第3页/共80页1.1 关系数据库的基本理论 关系数据库具有坚实的理论基础,这一理论有助于关系数据库的设计和用户对数据库信息需求的有效处理。它涉及的内容有关模式的基本知识、关系数据库的标准语言SQL,以及关系数据理论,在本节中将对这些做简要的介绍。第4页/共80页1.1.1 数据库系统与关系数据库 数据库系统是指一个计算机存储记录的系统,它需要特定的软件和一系列硬件支持;并且利用数据库系统能够存储大量的数据记录,支持用户进行检索和更新所需的信息。数据库系统通常在企业应用或科学研究中用于对大量数据进行存储和分析,从而为实际应用提供帮助信息。第5页/共80页1.1.2 关系数
3、据库的逻辑模型在关系数据库的设计阶段,需要为它建立逻辑模型。关系数据库的逻辑模型可以通过实体和关系组成的图来表示,这种图表称为“E-R图”,使用E-R图表示的逻辑模型被称为“ER模型”。一个典型的ER模型由如下三部分组成:实体、联系和属性。第6页/共80页1.1.3 关系数据库的设计规范 在关系数据库中,为了保证构造的表(关系)既能准确地反应现实世界,又有利于应用和具体的操作,还需要对构造的表进行规范化,常用的规范化方法就是对关系应用不同的设计范式。在关系数据库中,在构造数据库时必须遵循一定的规则,这种规则就是范式。第7页/共80页1.2 Oracle数据库与网格技术 Oracle数据库是Or
4、acle公司出品的十分优秀的DBMS,当前Oracle DBMS以及相关的产品几乎在全世界各个工业领域中都有应用。无论是大型企业中的数据仓库应用,还是中小型的联机事务处理业务,都可以找到成功使用Oracle数据库系统的典范。到目前为止,11g是Oracle数据库的最新版本,它是在10g的基础上对企业级网格计算进行了扩展,提供了众多特性支持企业网格计算。第8页/共80页1.2.1 网格技术 超级计算机作为复杂科学计算领域的主宰,以其强大的处理能力著称。但以超级计算机为中心的计算模式存在明显的不足,由于它的造价极高,通常只有一些国家级的部门,如航天、气象等部门才有能力配置。而随着人们日常工作遇到的
5、商业计算越来越复杂,人们越来越需要数据处理能力更强大的计算机。于是,人们开始寻找一种造价低廉而数据处理能力超强的计算模式,最终找到了答案网格计算Grid Computing。第9页/共80页1.2.2 Oracle网格体系结构 Oracle 10g/11g中的g代表网格计算,Oracle数据库作为第一个为企业级网格计算而设计的数据库,为管理信息和应用提供了最灵活的、成本最低的方式。例如,通过Oracle网格计算,可以在几个互联的数据库服务器网格上运行不同的应用。当应用需求增加时,数据库管理员能够自动为应用提供更多的服务器支持。网格计算使用最高端的负载管理机制,使得应用能够共享多个服务器上的资源
6、,从而提高数据处理能力,减少对硬件资源的需求,节省企业成本。第10页/共80页1.3 Oracle应用结构 在安装、部署Oracle 11g数据库时,需要根据硬件平台和操作系统的不同采取不同的结构,下面介绍几种常用的应用结构。第11页/共80页1.3.1 多数据库的独立宿主结构 在安装、部署Oracle 11g数据库时,需要根据硬件平台和操作系统的不同采取不同的结构,下面介绍几种常用的应用结构。第12页/共80页1.3.2 客户机/服务器结构 在客户/服务器结构中,数据库服务器的管理和应用分布在两台计算机上,客户机上安装应用程序和连接工具,通过Oracle专用的网络协议SQL*Net建立和服务
7、器的连接,发出数据请求。服务器上运行数据库,通过网络协议接收连接请求,将执行结果回送客户机。第13页/共80页1.3.3 分布式结构 分布式结构是客户机/服务器结构的一种特殊类型。在这种结构中,分布式数据库系统在逻辑上是整体,但在物理上分布在不同的计算机网络里,通过连接网络连接在一起。网络中的每个节点可以独立处理本地数据库服务器中的数据,执行局部应用,同是也可存取处理多个异地数据库服务器中的数据,执行全局应用。第14页/共80页1.4 数据库体系结构内存结构:系统全局区(SGA):数据库缓冲区高速缓存、重做缓冲区和各种池 程序全局区(PGA)进程结构:用户进程和服务器进程 后台进程:SMON、
8、PMON、DBWn、CKPT、LGWR、ARCn 等等 存储结构:逻辑:数据库、方案、表空间、段、区和 Oracle 块 物理:数据、参数、重做和 OS 块使用的文件第15页/共80页1.4.1 Oracle 服务器Oracle 服务器:是一个数据库管理系统,它提供开放、全面、集成的方法进行信息管理由 Oracle 实例和 Oracle 数据库组成第16页/共80页1.4.2 数据库结构数据库结构数据库结构-内存内存-进程进程-存储存储 存储结构存储结构内存结构内存结构进程结构进程结构实例 系统全局区系统全局区(SGA)后台进程后台进程数据库文件第17页/共80页1.4.3 内存结构数据库结构
9、数据库结构 内存内存 进程进程 存储存储 Java 池数据库缓冲区高速缓存重做日志缓冲区共享池大型池SGAStreams 池服务器进程 1PGA服务器进程 2PGA后台进程PGA第18页/共80页1.4.4 进程结构数据库结构数据库结构 内存内存 进程进程 存储存储 实例SGA后台进程后台进程服务器进程PGA用户进程用户进程用户进程:在数据库用户请求连接到 Oracle 服务器时启动 服务器进程:可以连接到 Oracle 实例,它在用户建立会话时启动 后台进程:在启动 Oracle 实例时启动第19页/共80页1.4.5 Oracle 实例管理系统监视器(SMON)数据库写进程(DBWn)日志
10、写进程(LGWR)进程监视器(PMON)归档进程(ARCn)SGAJava 池共享池大型池Streams 池数据库 缓冲区高速缓存重做日志缓冲区检查点(CKPT)控制文件控制文件数据文件数据文件重做日志重做日志 文件文件归档日志归档日志文件文件第20页/共80页2、SQL介绍SQL诞生于70年代的IBM某实验室。SQL是一种非过程语言,它描述了如何对数据进行检索、插入、删除,但它并不说明如何进行这样的操作。SQL最新标准为ANSI-92。尽管该标准要求所有的数据库设计者应遵守这一标准,然而所有的数据库系统、所用的SQL均与ANSI-92存在一定的差异。本文基于ORACLE数据库介绍SQL。本文
11、重点介绍数据库的开发部分而不是管理部分。第21页/共80页了解数据库的常用对象。熟练掌握标准SQL的使用。熟练掌握ORACLE常用标量函数的使用。熟悉SQL的常用优化方法。了解ORACLE的存储过程及触发器的开发。3、课程目标第22页/共80页表空间与数据文件用户与权限表索引、PK、FK视图序列内部函数自定义函数存储过程触发器3.1、数据库常用对象第23页/共80页常用数据类型表相关DDLSelectinsertUpdateDelete聚集函数常用标量函数谓词3.2.3.2.基本基本SQLSQL第24页/共80页字符类数字类日期类二进制类3.2.1 常用数据类型第25页/共80页CREATE
12、TABLECREATE TABLE table_name(column_name1 data_type,column_name2 data_type,.)DROP TABLE DROP TABLE table_name ALTER TABLEALTER TABLE table_name ADD column_name datatypeALTER TABLE table_name DROP column_name ALTER TABLE table_name MODIFY column_name 3.2.2 表相关DDL第26页/共80页SELECT DISTINCTselect_list IN
13、TO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC 3.2.3 SELECT第27页/共80页INSERT INTO table_nameVALUES(value1,value2,.)INSERT INTO table_name(column1,column2,.)VALUES(value1,value2,.)3.2.4 INSERT3.2.4 INSERT第28页
14、/共80页UPDATE table_name SET column_name=new_value,WHERE column_name=some_value3.2.5 UPDATE3.2.5 UPDATE第29页/共80页DELETE FROM table_name WHERE column_name=some_value 3.2.6 DELETE3.2.6 DELETE第30页/共80页INBETWEENLIKEEXISTS3.2.7 3.2.7 谓词第31页/共80页COUNTSUMMAXMINAVGGROUP BYHAVING3.2.8 3.2.8 聚集函数聚集函数第32页/共80页数学函
15、数字符类函数SUBSTR、REPLACE、TRIM、LOWER、UPPER日期函数 SYSDATE转换函数TO_CHAR、TO_DATE、TO_NUMBER其他NVL、DECODE、CASE WHEN3.2.9 3.2.9 常用标量函数第33页/共80页子查询表关联外连接3.3.3.3.高级高级SQLSQL第34页/共80页-订单明细create table orderdetail(orderid int not null,productid int not null,quantity int not null);3.3.1 3.3.1 示例表(一)第35页/共80页-产品数据insert i
16、nto productinfo values(1,ThinkPadR32,IBM,12000);insert into productinfo values(2,ThinkPadR40,IBM,15000);insert into productinfo values(3,Nokia3210,Nokia,1000);insert into productinfo values(4,Nokia4110,Nokia,2000);-订单数据insert into orderinfo values(1,order1,hoperun,to_date(20070101,yyyymmdd);insert i
17、nto orderinfo values(2,order2,microsoft,to_date(20060101,yyyymmdd);insert into orderinfo values(3,order3,hoperun,to_date(20070105,yyyymmdd);-订单明细数据insert into orderdetail values(1,1,10);insert into orderdetail values(1,2,5);insert into orderdetail values(1,3,2);insert into orderdetail values(2,1,30)
18、;insert into orderdetail values(2,2,50);insert into orderdetail values(2,3,60);insert into orderdetail values(2,4,100);insert into orderdetail values(3,1,2);insert into orderdetail values(3,2,3);3.3.1 3.3.1 示例表(二)第36页/共80页(1)查询采购ThinkPadR32产品的订单明细:select*from orderdetail where productid=(select prod
19、uctid from productinfo where productname=ThinkPadR32)3.3.2 3.3.2 子查询独立子查询(一)第37页/共80页(2)查询采购IBM公司产品的订单明细:select*from orderdetail where productid in(select productid from productinfo where companyname=IBM)3.3.2 3.3.2 子查询独立子查询(二)第38页/共80页(3)查询hoperun客户采购的ibm公司产品列表:select*from orderdetail where orderid
20、 in(select orderid from orderinfo where customer=hoperun)and productid in(select productid from productinfo where companyname=IBM)order by orderid3.3.2 3.3.2 子查询独立子查询(三)第39页/共80页(4)查询hoperun客户采购的ibm公司价格在13000以上的所有产品的总件数:select sum(quantity)from orderdetail where orderid in(select orderid from orderi
21、nfo where customer=hoperun)and productid in(select productid from productinfo where companyname=IBM and price13000)3.3.2 3.3.2 子查询独立子查询(四)第40页/共80页查询2007年定购Nokia产品的客户:select distinct customer from orderinfo where orderdate=to_date(20070101,yyyymmdd)and orderid in(select orderid from orderdetail wher
22、e productid in(select productid from productinfo where companyname=Nokia)3.3.3 3.3.3 子查询子查询嵌套第41页/共80页相关子查询和独立子查询的概念。2.3.2(2)中的,查询采购IBM公司产品的订单明细:select*from orderdetail where productid in(select productid from productinfo where companyname=IBM)用exists相关子查询描述为:select*from orderdetail awhere exists(se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 培训 教程
限制150内