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