版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库概述-2-本章目标掌握数据、数据库、数据库管理系统、数据库系统以及关系型数据库的概念了解数据模型的概念、分类以及关系模型的三个组成部分了解域、笛卡尔积、关系的定义了解关系的实质以及关系模式的定义了解关系模型中完整性的三个分类及其定义规则了解关系代数中用到的运算符、传统的集合运算规则以及关系运算规则理解函数依赖的含义,规范化的基本思想,并掌握各范式的概念及其之间关系掌握数据库设计的基本步骤了解Oracle数据库的几个强大特性-3-定义:
描述事物的符号记录称为数据。数据库中数据的概念和种类很多,如:文字,图形,图像,声音,视频,部门员工信息,企业生产数据甚至于内存中的一个对象等等,这些都是数据。数据(Data)-4-定义:数据库是“按照数据结构来组织、存储和管理数据的仓库”。其它定义:记录保存系统人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合一个数据仓库数据库(DataBase/DB)-5-定义:一个通用的管理数据库的软件系统,是由一组计算机程序构成的。数据库管理系统实现数据库系统的各项功能。应用程序必须通过DBMS访问数据库。数据库管理系统(DBMS)-6-定义:数据库系统是由数据库及其管理软件组成的系统。组成:数据库系统由数据库、数据库管理系统、数据库管理员(DBA)及用户和应用程序4个部分组成。核心:其核心是数据库管理系统。数据库系统(DBS)-7-定义:它是通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数据,其中,关系型数据库是建立关系模型基础之上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
特点:数据以表格的形式出现每行为各种记录名称每列为记录名称所对应的数据域;许多的行和列组成一张表;若干的表组成Database。关系型数据库管理系统(RDBMS)-8-数据是数据库存储的基本对象,描述事物的符号;数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合;数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行;数据库系统是指在计算机系统中引入数据库后的操作系统。关系型数据库是建立关系模型基础之上的数据库。Data、DB、DBMS、DBS、RDB的关系-9-人工管理阶段计算机中没有支持数据管理的软件;数据组织面向应用,数据不能共享,数据重复;在程序中要规定数据的逻辑结构和物理结构,数据与程序不独立;数据处理方式——批处理。文件系统阶段实现以文件为单位的数据共享,由操作系统统一管理;数据组织面向应用,数据不能共享,数据重复;数据库系统阶段出现数据库应用系统;面向企业或部门,数据冗余小,易修改、易扩充,有较高的独立性高级数据库系统阶段分布式数据库系统和面向对象数据库系统的出现;特点是局部自主、可靠性和可用性、效率和灵活性。数据库发展史-10-数据结构化数据的共享性数据冗余度低数据的一致性物理独立性逻辑独立性数据的安全性数据的完整性并发控制数据库恢复数据库特征-11-常见数据库数据库公司描述OracleOracle公司
业界目前比较成功的关系型数据库管理系统,数据库软件领域第一大厂商,运行稳定、功能齐全、性能超群
DB2IBM公司
是一个多媒体、Web关系型数据库,以满足大中公司的需要,并可灵活地服务于中小型电子商务解决方案
SQLServer微软公司
界面友好、易学易用的特点,与其他大型数据库产品相比,在操作性和交互性方面独树一帜
MySQL瑞典MySQLAB公司(被Oracle收购)
体积小、速度快、开放源码,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库
-12-定义:数据模型是数据特征的抽象,是数据库管理的数学形式框架。
组成三要素:数据结构:主要描述数据的类型、内容、性质以及数据间的联系等。数据操作:主要描述在相应的数据结构上的操作类型和操作方式。
数据约束:主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
类型:概念数据模型逻辑数据模型物理数据模型数据模型(DataModel)-13-实体(Entity):客观存在并可相互区别的事物称为“实体”。属性(Attribute):实体所具有的某一特性称为“属性”。码(Key):唯一标识实体的属性或属性的集合称为“码”。域(Domain):属性的取值范围称为该属性的“域”。实体型(EntityType):用实体名及其属性集合来抽象和刻画同类实体,称为“实体型”。实体集(EntitySet):同型实体的集合称为“实体集”。联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。概念模型基本概念-14-一对一关联(1:1)部门与部门经理之间只有一对一关联一对多关联(1:n)部门与雇员之间具有一对多关联多对多关联(n:n)课程与学生之间具有多对多关联实体联系(EntityRelationship)-15-实体:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n,m:n)。E-R图-16-层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)逻辑数据模型-17-定义:层次模型是数据库系统中最早使用的模型,它的数据结构类似一颗倒置的树,每个节点表示一个记录类型,记录之间的联系是一对多的联系。特征:一定有且只有一个位于树根的节点,称之为根节点;一个节点下面可以没有节点,即向下没有分支,那么该节点称为“叶节点”;一个节点可以有一个或多个节点,前者称为“父节点”,后者称为“子节点”;同一父节点的子节点称为“兄弟节点”;除根节点外,其他任何节点有且只有一个父节点。层次模型-18-定义:采用网状结构表示实体及其之间的联系。网状结构的每一个节点代表一个记录类型,记录类型可包含若干字段,联系用链接指针表示。特征:允许一个以上的节点没有父节点;一个节点可以有多于一个的父节点。网状模型-19-定义:关系模型建立在严格的数学概念基础上,采用二维表格结构来表示实体和实体之间的联系,二维表由行和列组成。特征:建立在关系数据理论之上,有可靠的数据基础;可以描述一对一,一对多和多对多的联系;表示的一致性,实体本身和实体间联系都使用关系描述;关系的每个分量的不可分性,也就是不允许表中表。关系模型-20-定义:面向对象模型是采用面向对象的观点来描述现实世界中实体及其联系的模型,现实世界中的实体都被抽象为对象,同类对象的共同属性和方法被抽象为类。常用术语:对象:对象是现实世界中某个实体的模型化。类:类是具有相同结构对象的集合。封装:封装是一种面向对象的技术,通过封装可以把对象的某些实现与外界隔离。继承:由于具有继承特性,面向对象模型提供了快速创建各种变种记录类型的能力。面向对象模型-21-关系数据结构:关系模型的数据结构是单一的。关系不仅表示数据的存储,其中也包含着数据之间的联系。关系操作集合:查询操作:选择(select)、投影(projection)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等增(insert)、删(delete)、改(update)操作关系完整性约束实体完整性(*)参照完整性(*)用户定义的完整性关系模型的组成-22-域(Domain):域是一组具有相同数据类型的值的集合。笛卡尔积(CartesianProduct):笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。关系(Relation):D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)。R表示关系的名字;n是关系的目或度(Degree),当n=l时,称该关系为一元关系(Unaryrelation),当n=2时,称该关系为二元关系(Binaryrelation);关系中的每个元素是关系中的元组,通常用t表示。关系-23-基本关系:通常又称为“基本表或基表”,是实际存在的表,它是实际存储数据的逻辑表示。查询表:查询表是查询结果对应的表。视图表:视图表是由基本表或其他视图表导出的表,不对应实际存储的数据。关系的类型-24-规则:若属性A是基本关系R的主属性,则属性A不能取空值。规则说明:现实世界中的实体是可区分的,即它们具有某种唯一性标识。关系模型中以主码作为唯一性标识。实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。主码中的属性即主属性不能取空值。实体完整性(EntityIntegrity)-25-规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。参照完整性(ReferentialIntegrity)-26-用户定义的完整性就是针对某一具体关系数据库的约束条件。用户定义的完整性反映某一具体应用所涉及的数据必须满足的语义要求。任何关系数据库系统都应该支持实体完整性和参照完整性。用户定义的完整性-27-关系代数的运算符:集合运算符:二目运算,包括并、差、交、广义笛卡尔积四种运算专门的关系运算符:专门的关系运算包括选择、投影、连接、除等算术比较符:大于、大于等于、小于、小于等于、等于、不等于逻辑运算符:非、与、或关系代数-28-主要包括:函数依赖、范式(NormalForm)和模式设计三个方面的内容。函数依赖起着核心的作用,是模式分解和模式设计的基础。范式是模式分解的标准。规范化理论-29-定义:函数依赖(FunctionalDependency)是关系模式中属性之间的一种逻辑依赖关系。说明:平凡的函数依赖与非平凡的函数依赖函数依赖是语义范畴的概念函数依赖与属性之间的联系类型有关函数依赖关系的存在与时间无关函数依赖可以保证关系分解的无损连接性基本性质:投影性、扩张性、合并性、分解性函数依赖-30-第一范式:定义:如果关系模式R,其所有的属性均为简单属性,即每个属性都称是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。第一范式(FirstNormalForm)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。第二范式:定义:如果关系模式R1NF,且每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式(SecondNormalForm),简称2NF,记作R2NF。从1NF关系中消除非主属性对关系键的部分函数依赖,则可得2NF关系。如果R的关系键为单属性,或R的全体属性均为主属性,则R2NF。2NF规范化是指把1NF关系模式通过投影分解转换成2NF关系模式集合。范式及各范式的关系-31-第三范式:定义:如果关系模式R2NF,且每个非主属性都不传递依赖于R的每个关系键,则称R属于第三范式(ThirdNormalForm),简称3NF,记作R3NF。若R3NF,则R也是2NF若R2NF,则R不一定是3NF3NF规范化是指把2NF关系模式通过投影分解转换成3NF关系模式的集合。BCNF范式:定义:如果关系模式R1NF,且所有的函数依赖X→Y(YX),决定因素X都包含了R的一个候选键,则称R属于BC范式(Boyce-CoddNormalForm),记作RBCNF。如果RBCNF,则R也是3NF。如果R3NF,则R不一定是BCNF。BCNF规范化是指把3NF关系模式通过投影分解转换成BCNF关系模式的集合。范式及各范式的关系-32-定义:R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。若XY,而Z=即Z为空,则称XY为平凡的多值依赖。多值依赖-33-定义:所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。规范化就是对原关系进行投影,消除决定属性不是候选键的任何函数依赖。步骤:对1NF关系进行投影,消除原关系中非主属性对键的部分函数依赖,将1NF关系转换成若干个2NF关系;对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系;对3NF关系进行投影,消除原关系中主属性对键的部分函数依赖和传递函数依赖,也就是说使决定因素都包含一个候选键,得到一组BCNF关系。规范化思想-34-定义:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计包括数据库的结构设计和数据库的行为设计数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计,又称为“静态模型设计”。数据库的行为设计是指确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计,又称为“动态模型设计”。数据库设计-35-直观设计法规范设计法基于E-R模型的数据库设计方法基于3NF的数据库设计方法基于视图的数据库设计方法计算机辅助设计法自动化设计法数据库设计方法-36-调查分析用户的活动收集和分析需求数据,确定系统边界编写需求分析说明书需求分析的访求需求分析-37-在数据流图中,用命名的箭头表示数据流,用椭圆表示处理,用矩形或其他形状表示存储数据流图-38-定义:数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。包含内容:数据项:数据项是数据的最小单位数据结构:数据结构是数据项有意义的集合数据流:数据流可以是数据项,也可以是数据结构数据存储:处理过程中数据的存放场所,也是数据流的来源和去向之一处理过程:处理过程的处理逻辑通常用判定表或判定树来描述数据字典-39-定义:概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。特点:语义表达能力丰富易于交流和理解易于修改和扩充易于向各种数据模型转换方法:自顶向下自底向上逐步扩张混合策略步骤(自底向上):进行数据抽象,设计局部E-R模型,即设计用户视图集成各局部E-R模型,形成全局E-R模型,即视图的集成。概念结构设计-40-分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“ismemberof”的关系。聚集(Aggregation)聚集定义某一类型的组成成份,将对象类型的组成成份抽象为实体的属性。组成成份与对象类型之间是“ispartof”的关系。数据抽象-41-局部E-R模型设计实体具有描述信息,而属性没有属性不能与其他实体具有联系,联系只能发生在实体之间全局E-R模型设计多元集成法二元集成法合并局部E-R图,生成初步E-R图消除冲突:属性冲突、命名冲突、结构冲突消除不必要的冗余,生成基本E-R图 E-R图的生成-42-初始关系模式设计把每一个实体转换为一个关系把每一个联系转换为关系模式特殊情况的处理数据模型优化确定范式级别实施规范化处理模式评价与改进模式评价包括功能评价和性能评价模式改进采用合并或分解的方法分解分为垂直分解和水平分解逻辑结构设计-43-Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。Oracle数据库是基于“客户端/服务器”模式结构。特性:支持多用户、大事务量的事务处理。数据安全性和完整性的有效控制。支持分布式数据处理。可移植性、可兼容性和可连接性。Oracle数据库简介-44-1977年6月,拉里•埃里森(LarryEllison)、BobMiner和EdOates在硅谷共同创办了一家名为“软件开发实验室”的计算机公司。1979年的夏季,RSI发布了Oracle2。1983年3月,RSI发布了Oracle3。1984年10月,Oracle公司发布了Oracle4。1985年,Oracle公司发布了Oracle5。1988年,Oracle公司发布了Oracle6。1992年,Oracle公司发布了基于Unix版本的Oracle7。1997年6月,Oracle公司发布了基于Java的Oracle8.。1998年9月,Oracle公司正式发布Oracle8i。2001年6月,Oracle公司发布了Oracle9i。2003年9月8日,Ellison宣布Oracle10g。2007年7月11日,Oracle11g正式发布,功能上大大加强。Oracle发展史-45-客户/服务器结构(Client/Server,C/S)浏览器/服务器结构(Browser/Server,B/S)分布式数据库系统结构Oracle数据库的应用结构-46-在C/S结构中,需要在客户端上安装SQL*Net软件,通过网络连接访问后台数据库服务器。2层结构:优点:可以选用不同的操作系统,可伸缩性好。应用与服务分离可以减轻数据库服务器的负担,安全结构较好,便于远程管理。服务器和客户机可以选用不同的硬件平台,从而降低了使用成本。客户/服务器结构-47-在B/S结构中,客户端只需要安装浏览器即可,不需要安装具体的应用程序。3层结构:特点:通过Web服务器处理应用程序逻辑,方便了应用程序的维护和升级。通过增加Web服务器的数量可以增加支持客户机的数量。由于增加了网络连接环节,所以降低了执行效率,同时也降低了系统安全性。浏览器/服务器结构-48-分布式结构:
特点:数据分布于计算机网络的不同数据库中,这些数据库在物理上相互独立,但是在逻辑上集中,是一个统一的整体。可以数据共享,一个数据库用户既可以访问本地的数据库,也可以访问远程的数据库。兼容性好,各个分散的数据库服务器的软件、硬件平台可以互不相同。网络扩展性好,可以实现异构网络的互联。分布式数据库系统结构网络扩展性好,可以实现异构网络的互联。-49-数据库管理技术经过了人工管理阶段、文件系统阶段和数据库系统阶段和高级数据库系统阶段数据模型通常由数据结构、数据操作和完整性约束三部分组成数据模型是数据库系统的核心和基础,最常见的数据模型包括层次模型、网状模型、关系模型和面向对象模型概念模型用于信息世界的建模,E-R模型是这类模型的典型代表,E-R方法简单、清晰应用很广泛关系数据库系统是当前使用最广泛的数据库系统关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成关系模型中常用的关系操作包括:查询、增加、删除和修改操作关系模型允许定义实体完整性、参照完整性和用户自定义完整性的三类完整性约束关系数据库中关系模式是型,关系是值小结-1-50-每一个分量必须是不可分的数据项,满足这个条件的关系模式术语第一范式(1NF)。每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式(2NF)。每个非主属性都不传递依赖于R的每个关系键,则称R属于第三范式。规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则。基于E-R模型、3NF和视图的数据库设计方法。数据库设计中需求分析的实施方法及过程。数据流图和数据字典的编写方法。E-R图的设计方法。小结-2谢谢Thanksforlistening.客户端开发工具-53-本章目标掌握SQLDeveloper的下载、安装掌握使用SQLDeveloper进行创建数据库连接掌握使用SQLDeveloper进行数据的查询、更新操作
掌握使用SQLDeveloper进行表的创建、修改等操作掌握使用SQLDeveloper进行开发与调试
掌握使用SQLDeveloper进行表数据的导出、导入掌握使用SQL*Plus-54-OracleSQLDeveloper是Oracle公司提供的一个免费的、图形化的、集成的数据库开发工具,可以方便高效地实现对Oracle数据库的开发工作。进行的操作:浏览数据库对象;执行SQL语句和SQL脚本;可以编辑和调试PL/SQL语句运行所提供的任何数量的报表(reports);创建和保存自己的报表(reports)。SQLDeveloper概述-55-OracleSQLDeveloper的下载及安装步骤:进入Oracle官方网站下载中心选择Downloads—>DeveloperTools—>SQLDeveloper下载SQLDeveloper解压sqldeveloper-9.87-no-jre.zip后,双击sqldeveloper.exe即可运行SQLDeveloper工具SQLDeveloper下载/technetwork/indexes/downloads/index.html-56-双击“sqldeveloper.exe”运行SQLDeveloper工具。如果是第一次启动SQLDeveloper工具,则会弹出下图,点击【ok】按钮左击【+】按钮或是右键单击左侧导航栏中的“连接”选项卡,在弹出的菜单中选择“新建连接”选项,进入“新建/选择数据库连接”对话框单击“测试”按钮,可以进行数据库连接测试,如果测试成功,会在对话框左下角的“状态”后面显示“成功”。测试成功后,单击“保存”按钮,会在左侧的连接列表中添加一条记录连接成功后,默认打开一个SQL工作表创建数据库连接-57-可以进行数据的查询、添加、更新、删除等操作在SQL工作表中输入要执行的查询语句,点击执行按钮,或按F9键,执行该查询语句。执行语句无误后,需要点击按钮,或按F11键来提交事务。数据操作-58-建立与相应数据库的连接在导航栏中选择“表”节点,右键单击,在弹出的菜单中选择“新建表”。首先在“方案”下拉列表中选择“SCOTT”用户,输入表名,“高级”复选框暂不选中。点击“添加列”按钮,为表设置列名、数据类型、大小、是否为空及是否主键等基本信息。输入完各个列的基本信息后,选中“高级”复选框,进入创建表的高级界面,在该界面中,可以进行表类型、列默认值、唯一性约束、检查约束、外键约束、索引、注释等高级信息的设定。选择左侧的“唯一约束条件”选项,进入唯一性约束设置界面。选择左侧的“检查约束条件”选项,进入检查约束设置界面。选择左侧的DDL选项,可以查看创建该表所使用的SQL语句点击“确定”按钮,表创建完成。表的创建-59-建立与相应数据库的连接展开“表”节点,右键单击要修改的表,在弹出菜单中选择“编辑”命令,进入“编辑表”对话框在“编辑表”对话框中进行相应的修改。在修改完表结构信息后,单击“确定”按钮,修改成功。表的修改-60-建立与数据库的连接在导航栏中右键单击“过程”节点,在弹出的菜单中选择“新建过程”命令,进入“创建PL/SQL”界面进行相应的参数设定。单击“确定”按钮,进入SQL工作表,系统会自动生成创建存储过程的基本代码框架。向过程代码框架中输入过程主体,进行程序设计。创建存储过程-1-61-输入代码后,单击工具栏上的保存按钮,编译并保存该存储过程。展开导航栏中的“过程”节点,可以看到创建的存储过程,如果过程名称前面的图标上有个红色的叉号,则说明该存储过程存在编译错误,需要编辑修改。右键单击有编译错误的存储过程名称,在弹出菜单中选择“编辑”,进行编辑;也可以根据“编译器”日志栏目中的提示信息,进行代码编辑。编辑完代码后,单击保存或“Ctrl+S”。此时,如果存储过程中没有错误,则原来的名称之前的红色叉号将消失,则出现符号。创建存储过程-2-62-运行:将上述代码输入到SQL工作表中,并点击按钮调试:编写程序代码,进行编译,修改各种编译错误,确保没有编译错误后,进行保存。让程序处于调试状态。在适当的地方设置断点,然后将程序运行到断点处。查看断点程序状态,例如,变量值、输入结果等,然后修改变量,控制程序运行流程,进行程序调试。如果程序逻辑有问题,需要反复调试修改,直到完全正确。运行/调试存储过程-63-建立与数据库的连接。在导航栏中展开“表”节点,右键单击要进行数据导出操作的表在弹出的菜单中选择“insert”。点击“下一步”,进入“指定数据”窗口。点击“指定列”按钮,可以选择特定的列进行导出。点击“下一步”按钮进入“导出概要”界面,在该界面中可以看到将要导出那些信息,点击“完成”按钮,就可以导出所需的表数据。导出-64-创建一个Excel,命名为xx.xls;建立与输入的连接;在导航栏中,展开“表”节点,右键单击要进行数据导入操作的;表,在弹出菜单中选择“导入数据”命令,进入“打开”对话框,选择要导入数据库的文件的位置和名称;选中文件后,点击“打开”按钮,进入“数据预览”界面;点击“下一步”按钮,进入选择“导入方法”界面;点击“下一步”按钮,进入“选择列”界面;点击“下一步”按钮,进入“列定义”界面,依次从“源数据列”列表中选择列名,同时在“目标表列”中选择与之相应的表中的列,使之一一对应;设置完成后,点击“下一步”按钮,进入“完成”对话框;数据导入完成后,查看表,在右侧的“数据”选项卡中可以看到新导入的数据。导入-65-SQL*Plus是操作oracle数据库的工具,它是与oracle数据库一起安装的。本节将讲述如何使用该工具。通过SQL*Plus可以完成对数据库的操作主要有:对数据库的数据进行增加、删除、修改、查询的操作对查询的结果进行格式化的显示对数据库对象进行管理,如用户、表空间、角色等对象SQL*Plus概述-66-在windows中选择“开始”的“运行菜单”,在对话框中输入“cmd”,进入windows命令界面。输入“sqlplus/nolog”命令。出现SQL>命令。输入connectusername/password@数据库名称。如connectscott/tiger@orcl。提示已连接,代表登录数据库成功。SQL*Plus启动-67-SQL>提示符后输入语句,按回车运行即可。如果要运行上一次输入的语句,直接在键盘按“/”键即可。显示缓冲区的内容list追加文本appendtext;替换文本change/oldtext/newtext保存缓冲区中的内容savefile_name;SQL*Plus使用-68-OracleSQLDeveloper是Oracle公司提供的一个免费的、图形化的、集成的数据库开发工具,可以方便高效地对实现对Oracle数据库的开发工作。在Oracle官方网站可以下载OracleSQLDeveloper工具,该工具无需安装,解压后运行“sqldeveloper.exe”即可使用。在SQLDeveloper中,既可以在SQL工作表中输入命令实现对数据库的操作,也可以通过图形化界面实现对数据库的操作,使用图形化界面操作对初学者来说较为简单。使用SQLDeveloper工具,开发人员可以进行PL/SQL程序的开发、运行、调试。使用SQLDeveloper可以将数据库对象的定义语句导出到脚本中,例如可以将表、视图、索引、序列等数据库对象定义导出到脚本中。小结谢谢Thanksforlistening.数据表对象-71-本章目标掌握创建表的SQL语句掌握修改表的SQL语句
掌握删除表的SQL语句掌握索引的概念和分类掌握创建和删除索引的SQL语句理解约束的定义和用途掌握约束的分类掌握定义约束的SQL语句掌握维护约束的SQL语句-72-CREATETABLE语句使用子查询建表临时表创建表CREATETABLE[schema.]table_name(columndatatype[DEFAULTexpr][columnconstraint][,...]);CAEATETABLE[schema.]table[(column,column...)]ASsubqueryCREATEGLOBALTEMPORARYTABLEtmp_table(col1VARCHAR2(10))ONCOMMITDELETEROWS(创建事务临时表)/ONCOMMITPRESERVEROWS(用于创建会话临时表)-73-创建表t1描述表结构使用子查询建表建立简单的表,进行DDL操作createtablet1(namechar(8),salarynumber(5)default0,contentvarchar2(20),hiredatedate);desct1createtablet2asselectename,empno,salfromempwhere1=2;增加where条件为了仅创建表结构而不复制表数据。-74-修改表名:增加列:修改列:删除列:增加注释:修改表RENAMEold_tableTOnew_table;ALTERTABLEtable_nameADD(columndatatype[DEFAULTexpr][columnconstraint]);ALTERTABLEtable_nameMODIFY(columndatatype[DEFAULTexpr][columnconstraint]);COMMENTONCOLUMNtable_name(.column)IS'commentstring';ALTERTABLEtable_nameDROP(column);-75-修改表名:增加列:修改列:删除列:增加注释:修改表实例renamet2tot_2;altertablet2add(ename2varchar2(20));altertablet2modify(enamechar(8));commentoncolumnt2(ename)is'姓名';altertablet2drop(ename2);-76-DROPTABLE:将表结构和表内数据一并删除TRUNCATETABLE:删除表内数据,保留表结构删除表DROPTABLEtable_name[CASCADECONSTRAINTS][PURGE];TRUNCATETABLETABLE_NAME;'-77-DROPTABLE:将表结构和表内数据一并删除
TRUNCATETABLE:删除表内数据,保留表结构删除表实例droptablet2;truncatetablet2;'-78-单列索引:基于单个列所创建的索引格式:建立索引是由表的所有者来完成的,要求用户必须具有CREATEANYINDEX的系统权限或在相应表上的INDEX对象权限复合索引:基于两列或多列创建的索引格式:复合索引是否被使用与创建索引时列的次序和WHERE语句中的列的过滤顺序有关唯一索引:索引列值不能重复的索引格式:在定义主键约束或唯一性约束时,Oracle会自动在相应列上创建唯一索引创建索引CREATEINDEX索引名ONTABLE(表列名);CREATEINDEX索引名ONTABLE(表列名1,表列名2);CREATEUNIQUEINDEX索引名ONTABLE(表列名1)-79-重建索引格式:
删除索引格式:
维护索引ALTERINDEX索引名REBUILD;DROPINDEX索引名;-80-创建索引
重建索引删除索引索引实例createindext2_ename_index
ontable(ename);dropindext2_ename_index;alterindext2_ename_index
rebuild;-81-选择在WHERE子句中最频繁使用的字段;选择联接语句中的联接字段;选择高选择性的字段不要在经常被修改的字段上建索引;可以考虑在外键字段上建索引;当建立索引后,请比较一下索引后所获得的查询性能的提高和DML操作性能上的损失,比较得失后,再最后决定是否需建立这个索引。选项择索引字段的原则-82-确保在WHERE子句中使用到的字段是复合索引的领导字段;如果某个字段在WHERE子句中频繁使用,则在建立复合索引时,考虑把这个字段排在第一位;如果所有的字段在WHERE子句中使用频率相同,则将最具选择性的字段排在最前面,将最不具选择性的字段排在最后面。复合索引字段排序的原则-83-NOTNULL约束:NOTNULL约束应用在单一的数据列上,此约束保证该数据列必须要有数据值。UNIQUE约束:UNIQUE约束用限制列数据的唯一性。PRIMARYKEY约束:主键约束用于限制列数据的唯一性。FOREIGNKEY约束:外键约束用于定义主表和从表之间数据的关联关系。CHECK约束:用于强制列数据必须要满足的条件。创建约束-84-修改约束名:激活、禁止约束:删除约束:维护约束ALTERTABLEtable_nameRENAMECONSTRAINTold_constraint_nametonew_constraint_name;ALTERTABLEtable_nameDISABLECONSTRAINTconstraint_name;ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name;-85-表是Oracle数据最基本的对象,用于存储用户数据,关系数据库的所有操作最终都是围绕表来操作建立表时,用户不仅需要具有CREATETABLE系统权限,而且还必须具有相应的表空间配额Oracle中建表时常用的数据类型由CHAR、VARCHAR、NUMBER、DATE等类型索引用于加快数据定位速度,通过使用索引可以大大降低I/O次数,提高SQL语句访问性能索引分为单列索引、复合索引和惟一性索引约束用于确保数据库数据满足特定的商业逻辑或企业规则约束包括NOTNULL、UNIQUE、PRIMARYKEY、FOREIGNKEY和CHECK五种小结谢谢Thanksforlistening.SQL应用基础-88-本章目标-1了解SQL语句的特点以及编写规则掌握列查询、条件查询、运算符查询、数据排序和联合查询掌握内连接和外连接的区别及其用法
掌握子查询的语法及其应用理解函数的分类和作用以及单行函数和分组函数的定义掌握数值型函数、字符函数、日期函数、转换函数以及常用的分组函数的用法-89-本章目标-2掌握使用INSERTINTO语句插入数据,以及使用用子查询复制数据掌握使用UPDATE语句更新数据,以及根据子查询更新数据掌握特殊数据在进行数据插入、更新时的处理掌握使用DELETE语句删除表格中的数据掌握在DML操作中COMMIT、ROLLBACK、SAVEPOINT的用法
-90-SQL(StructuredQueryLanguage)是“结构化查询语言”,语言结构简洁、功能强大、简单易学。特点:SQL语言是统一的语言SQL语言语法简单易学SQL语言是所有关系数据库的公共语言SQL语言概述-91-数据查询语言(DQL-DataQueryLanguage)包括SELECT;数据操纵语言(DML-DataManipulationLanguage)包括INSERT、UPDATE、DELETE;数据定义语言(DDL-DataDefinitionLanguage)包括CREATE、ALTER、DROP等;数据控制语言(DCL-DataControlLanguage)包括COMMIT、ROLLBACK等。SQL分类-92-SQL关键字在执行时并不区分大小写,为了统一标准,通常指定SQL关键字需要大写。对象名和列名不区分大小写,为了统一标准,通常SQL的对象名或列名指定为小写。字符值和日期值区分大小写。适当的增加空格和缩进,使程序更易读。使用注释增强程序可读性。单行注释:--多行注释:/*和*/
SQL语句编写规则-93-语句格式:*指示查询数据表的所有列;DISTINCT指示消除结果集中的重复记录;column指定需要查询的表的列名,多列之间用逗号“,”分隔;alias指定列(表达式)的别名;table_name指定需要查询的表的名字。列查询
SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable_name-94-语法格式:WHERE常用来构成一个限制检索表中行数据的条件表达式;<conditionexpression>进行数据筛选的条件表达式,在条件表达式中可以使用常用的比较运算、逻辑运算符等。条件查询SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable[WHERE<conditionexpression>];-95-语法格式column_order应该是查询结果中的一个字段,且可以进行大小比较(如数值、时间日期等);ASC代表升序,默认值可以省略;DESC代表降序。排序SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable[,<table2>[,…]][WHERE<conditionexpression>][ORDERBY<column_order>[ASC|DESC]];-96-显示10号部门的员工名称。显示工资在1000到3000之间的员工信息。显示首字母为J的员工。按照工资的升序显示员工信息。查询实例selectdeptno,enamefromempwheredeptno=10;;selectename,salfromempwheresalbetween1000and3000;selectename,deptnofromempwhereenamelike'J%';selectename,salfromemporderbysalasc;-97-语句格式:满足条件:两个查询具有相同的列数;两个查询采用相同的列顺序;两个查询对应列的数据类型兼容联合查询SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable[,<table2>[,…]][WHERE<conditionexpression>]UNIONSELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable[,<table2>[,…]][WHERE<conditionexpression>]-98-内连接显式内连接:INNERJOIN用于连接两个表,ON用于指定连接条件隐式内连接:相等连接外连接左外连接:LEFTJOIN-ON右外连接:RIGHTJOIN-ON完整外连接:FULLJOIN-ON交叉连接外连接-99-单行子查询:单行比较符(>、<、=、>=、<=,<>)多行子查询:ALL、ANY、IN多列子查询:operator是指多行运算符(IN、ANY、ALL)column1、column2是指成对比较的列。相关子查询子查询SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable[,<table2>[,…]][WHEREcolumn1,column2[,…]operator(SELECTcolumn1,column2[,…]FROMtable);SELECT*|[DISTINCTcolumn|expression[alias],...]FROMtable1t1WHEREcolumn1operator(SELECTcolumn1,column2FROMtable2t2WHEREexpr1=t1.expr2);-100-等值连接,显示员工名称和部门名称自连接,显示员工的姓名和上级的姓名左外连接,显示所有部门及部门员工的信息。联合查询实例selectw.ename"员工姓名",m.ename"上级"fromempw,empmwherew.mgr=m.empno(+);selectdname,enamefromdeptleftjoinempon(dept.deptno=emp.deptno);selectename,dnamefromemp,deptwhereemp.deptno=dept.deptno;-101-定义:函数是用于执行数据处理和复杂计算的,通过对一组数据进行一系列运算,得到最终需要的输出结果。函数分类:单行函数:每行作为一个输入参数,经过函数计算得到每行的计算结果多行函数:对多行输入值进行计算,得到多行对应的单个结果。另外,单行函数可以进行嵌套,即函数可以作为另一个函数的输入参数。系统函数-102-数值型函数:数值型函数对数字类型数据进行计算。
字符函数:字符函数用于对字符类型数据进行处理和计算。日期函数:日期类型函数针对日期类型数据运算。转换函数:转换函数可以对数值、字符、日期三种类型的数据进行类型转换。其他函数:用来对特殊数据进行处理或者完成一些高级的计算功能等。单行函数-103-ABS函数:返回一数值的绝对值CEIL函数:输入参数可以是非整数值,但返回结果则是大于等于输入参数的最小整数。FLOOR函数:返回一个小于或等于给定十进制数的最大整数MOD函数:返回一个数除以另一数的余数ROUND函数:根据给定的精度舍入数值TRUNC函数:不对指定小数前或后的部分做相应舍入选择处理,而全部截去数值函数ABS(number)CEIL(number)MOD(number,divisor)TRUNC(number,precision)ROUND(number,precision)FLOOR(number)-104-CONCAT(strl,str2)函数:将两个输入字符串,组成一个INSTR函数:确定一个字符串在另一个字符串中的位置格式:LOWER函数:返回指定字符串的小写形式UPPER函数:返回指定字符串的大写形式LPAD函数:从左面填充指定的一组字符格式:RPAD函数:从右面填充指定的一组字符字符函数-1INSTR(string,substring[,start[,occurrence]])LPAD(STRING,LENGTH[,PADDING])-105-LTRIM函数:用于删除字符串左边的前缀字符格式:RTRIM函数:用于删除字符串右边的尾随字符TRIM函数:用于删除字符串的前缀(或尾随)字符格式:函数中trimchar参数只能是一个字符SUBSTR函数:用于取得字符串的子串格式:REPLACE函数:用于替换字符串中的子串内容格式:字符函数-2LTRIM(STRING[,TRIMCHARS])TRIM([LEADING|TRAILING|BOTH][TRIMCHARFROM]STRING)SUBSTR(STR,START[,LENGTH]))REPLACE(STR,SUB[,REPLACEMENT])-106-ADD_MONTHS函数:将一个日期上加上指定的月份数格式:CURRENT_DATE函数:返回当前session所在时区的默认时间EXTRACT函数:用于从日期时间值中摘取特定数据格式:日期时间函数-1ADD_MONTHS(DATE,MONTHS)EXTRACT(DATEPARTFROMDATETIME)-107-MONTHS_BETWEEN函数:返回两个日期之间的月份数格式:NEXT_DAY函数:返回从实参日期开始,紧随其后的指定星期对应的日期格式:ROUND函数:将一日期处理(舍入)成第二个参数指定的形式格式:日期时间函数-2MONTHS_BETWEEN(DATE1,DATE2)NEXT_DAY(DATE,WEEKDAY)ROUND(DATE[,FMT])-108-TO_CHAR函数:将NUMBER转换为字符串TO_DATE函数:以定制格式将字符串转换为日期型数据格式:TO_NUMBER函数:用于将字符串转换成数字格式转换函数TO_DATE(STRING[,FMT[,’NLS_DATE_LANGUAGE=LANGUAGE’]])-109-DECODE函数:相当于条件语句(IF),将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。格式:NVL函数:用于将NULL转变为实际值格式:参数expr1和expr2可以是任意数据类型,但两者数据类型必须匹配其他函数DECODE(INPUT,VALUE,RESULT[,VALUE,RESULT…][,DEFAULT_RESULT]);NVL(expr1,expr2);-110-COUNT函数:用于取得行数的总计。AVG、SUM函数:分别用于取得并返回指定列或表达式的平均值和总和。MAX、MIN函数:分别用于取得并返回指定列或表达式的最大值和最小值。分组函数-111-GROUPBY语句:按照指定的列进行数据分组SELECT语句中出现的列必须出现在GROUPBY语句中HAVING语句:用于过滤分组后的数据,必须与GROUPBY一起使用数据分组的限制:引入GROUPBY语句的查询操作中,在SELECT语句中出现的列,必须出现在GROUPBY子句中使用分组函数时,忽略NULL行分组函数只能出现在SELECT、ORDERBY、HAVING语句中ORDERBY用于对查询结果进行排序,必须放在分组语句之后
分组语句-112-查出工资最多的员工。查询每个部门的最大工资是谁。查询工资总和高于10号部门工资总和的部门。子查询、分组函数实例selectenamefromempwheresal=(selectmax(sal)fromemp);selectdeptno,ename,salfromempwhere(deptno,sal)in(selectdeptno,max(sal)fromempgroupbydeptno);selectdeptno,sum(sal)fromempgroupbydeptnohavingsum(sal)>(selectsum(sal)fromempwheredeptno=10);-113-插入单行数据格式:
按指定列插入数据插入所有列数据缺省数据列插入日期数据表的数据复制格式:插入数据INSERTINTOtable_name[(column[,column...])]VALUES(value[,value...]);INSERTINTOtable_name[column(,column...)]subquery;-114-插入单行数据
表的数据复制插入数据实例INSERTINTOdept(50,’technology’‘qingdao’);INSERTINTOdept2(deptno,dname,loc)selectdeptno,dname,locfromdept;-115-使用表达式更新数据更新指定列数据更新日期数据列更新缺省数据列使用子查询更新数据更新当前表数据更新基于另一个表的数据注:在UPDATE语句中使用子查询时,必须确保该子查询只为每个要更新的记录返回一个值,否则UPDATE会失败更新数据-116-删除满足条件的数据当使用DELETE语句删除表的所有数据时,不会释放表格所占用的空间,如要删除表格中的所有数据,可以使用TRUNCATETABLE语句,速度更快使用子查询删除数据删除数据DELETE[FROM]table_nameWHEREconditioninsubquery;-117-使用子查询删除数据删除数据DELETEdept2WHEREdeptnoin(selectdeptnofromdept);-118-commit:事务的提交rollback:事务的回滚savepoint:可以使用savepoint设置事务的保存点,以控制事务进行部分回滚。DML事务操作-119-SQL是一种介于关系代数和关系演算之间的结构化查询语言,是一个通用的、功能极强的关系数据库语言SQL语言集数据查询、数据操纵、数据定义和数据控制等功能于一体使用连接查询可以实现多表查询SQL函数包括单行函数和多行函数常用数值型函数包括ABS、CEIL、FLOOR、MOD、ROUND、TRUNC等常用的字符函数包括CONCAT、INSTR、LENGTH、LOWER、LPAD、LTRIM、REPLACE、SUBSTR、RPAD、RTRIM、TRIM、UPPER等常用的日期函数包括ADD_MONTHS、CURRENT_DATE、EXTRACT、MONTHS_BETWEEN、NEXT_DAY、ROUND、SYSDATE等常用转换函数包括TO_CHAR、TO_DATE、TO_NUMBER、CONVERT等常用分组函数包括MAX、MIN、AVG、SUM、COUNT小结-1-120-使用GROUPBY进行数据分组,使用HAVING子句对分组后的数据进行过滤,使用ORDERBY改变分组排序结果当使用INSERT语句增加数据时,不仅可以增加单行数据,而且可以使用子查询复制表数据到其他表插入数据时,数据必须与列数据类型一致,必须要满足约束规则使用UPDATE语句更新数据时,不仅可以使用表达式更新列值,而且可以使用子查询更新列数据使用DML语言的DELETE语句来删除表格中的数据使用INSERT、DELETE、UPDATE语句时的主要问题是要小心构造WHERE语句,使之只影响所要求的行数据操作过程中,直到执行完COMMIT后,INSERT、DELETE、UPDATE操作才完成小结-2谢谢Thanksforlistening.视图与序列-123-本章目标理解视图的作用掌握视图的分类及操作原则理解在视图上执行DML操作的规则掌握用创建视图、修改视图和删除视图的SQL语句语法掌握序列的创建、使用和删除
-124-视图是存储在数据库中的用于查询的SQL语句。视图不是真实存在的基础表而是一张“虚表”。通过视图看到的数据只是存放在基本表中的数据。视图概述-125-简单性:视图不仅可以简化用户对数据的理解,也可以简化用户的操作。安全性:通过视图用户只能查询和修改他们所能见到的数据。逻辑数据独立性:视图可以使应用程序和数据库表在一定程度上独立。视图的作用-126-简单视图:基于一个基表建立的简单查询视图;复杂视图:包含表达式、函数或分组数据的视图;连接视图:基于多个基表的连接查询所建立的视图;只读视图:只允许SELECT操作的视图视图的分类-127-如果视图包含GROUPBY子句、分组函数、DISTINCT关键字、ROWNUM伪列或使用表达式定义的列,那么不能在该视图上执行UPDATE和DELETE操作。如果视图包含GROUPBY子句、分组函数、DISTINCT关键字、ROWNUM伪列或使用表达式定义的列,或者在视图上没有包含基表所有的NOTNULL列,那么不能在该视图上执行INSERT操作。定义视图的子查询不能包含ORDERBY子句,当从视图取回数据时可以指定ORDERBY子句。视图操作原则-128-格式:当定义复杂视图时,必须要为函数或表达式定义列别名。在创建连接视图时必须在WHERE条件中指定有效的连接,否则创建的视图没有意义。创建只读视图时必须指定WITHREADONLY
建立视图CREATE[ORREPLACE]VIEWview_name[(column_name)[,…n]]ASsub_query[WITHCHECKOPTION[CONSTRAINTconstraint_name]][WITHREADONLY]-129-修改视图:
重新编译视图:删除视图:维护视图CREATE[ORREPLACE]VIEWview_name[(column_name)[,…n]]ASsub_query[WITHCHECKOPTION[CONSTRAINTconstraint_name]][WITHREADONLY]ALERTVIEW视图名COMPILE;DROPVIEW视图名;-130-创建视图:重新编译视图:删除视图:视图实例createorreplaceviewv1asselect*fromdept;alterviewv1compile;dropviewv1;-131-序列(SEQUENCE)是序列号生成器,可以自动产生一组等间隔的数值(数字类型)。格式:序列概述CREATESEQUENCEsequence_name[INCREMENTBYn][STARTWITHn][{MAXVALUE/MINVALUEn|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHEn|NOCACHE}];-132-创建序列:如果在当前方案中创建序列时,用户必须有CREATESEQUENCE权限。如果在其他方案中创建序列,用户必须有CREATEANYSEQUENCE权限。使用序列:如果序列还没有通过调用NEXTVAL产生过序列的下一个值,先引用CURRVAL没有意义。使用序列-133-修改序列:可以使用ALTERSEQUENCE来修改序列定义,但是序列的初始值不能修改。删除序列:使用DROPSEQUENCE来删除序列对象。查看序列:通过数据字典USER_OBJECTS可以查看用户拥有的序列;通过数据字典USER_SEQUENCES可以查看序列的设置。
维护序列-134-创建序列:取序列s1的下一个值:修改序列删除序列:序列实例createsequences1incrementby2startwith1maxvalue10000minvalue-10nocyclenocache;selects1.nextvalfromdual;dropsequences1;altersequences1maxvalue100;-135-视图是一个表或多个表的逻辑表示视图是一个虚表,本身不存储数据视图可以限制数据访问、简化复杂查询、提高数据安全性视图分为简单视图、复杂视图、连接视图和只读视图注意在视图上执行DML操作的原则序列是用于生产惟一数字的数据库对象建立序列使用CREATESEQUENCE命令已创建序列的初始值不能修改小结谢谢Thanksforlistening.PL/SQL基础-138-本章目标了解PL/SQL的功能掌握PL/SQL块结构的组成部分掌握PL/SQL块结构的分类掌握PL/SQL中的基本数据类型和复合数据类型掌握PL/SQL的运算符的使用掌握PL/SQL程序控制语句的使用掌握预定义异常、非预定义异常、自定义异常的定义和使用-139-PL/SQL简介PL/SQL是ProcedureLanguage&StructuredQueryLanguage的缩写它是对SQL的扩展PL/SQL中存在过程构造和数据库访问在Oracle服务器和客户机应用程序中使用支持大型对象和集合-140-PL/SQL概述PL/SQL由两部分组成:一部分是数据库引擎部分;另一部分是可嵌入到许多产品工具中的独立引擎。PL/SQL有如下优点:高性能且基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。是以整个语句块发给服务器,降低了网络拥挤。PL/SQL可以嵌套到相应的工具中,客户端程序可以执行本地包含PL/SQL部分,也可以向服务发SQL命令或激活服务器端的PL/SQL程序运行。-141-PL/SQL结构一个完整的PL/SQL程序的总体结构如下所示:
DECLARE/*声明部分:在此声明PL/SQL用到的变量,类型及游标,以及局部的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家访内容营销方案框架(3篇)
- 应急预案策划有待完善(3篇)
- 2026河北石家庄灵寿县公益性岗位招聘18人考试备考题库及答案解析
- 2026广西壮族自治区图书馆公开招聘高层次人才1人笔试模拟试题及答案解析
- 2026汉中东辰外国语学校招聘笔试参考题库及答案解析
- 2026年建筑网片行业洞察报告及未来五至十年发展趋势报告
- 2026肇庆学院公开招聘劳动合同制工作人员2人笔试模拟试题及答案解析
- 德阳市华山路学校临聘教师招聘(1人)笔试备考试题及答案解析
- 2026年零售行业产业链研究报告及未来五至十年市场集中化与渠道变革
- 2026年干鞋器行业洞察报告及未来五至十年发展趋势报告
- 税务师事务所管理制度
- DBJ51T 104-2018 四川省绿色环保搅拌站建设、管理和评价标准
- 北京陈经纶中学2024-2025学年八年级上学期期中物理试卷(含答案)
- 农村土地使用协议书模板
- 《狼图腾》是如何“图腾”的狼图腾编辑出版案例解析
- YY/T 1915-2023免疫层析试剂盒实验室检测通则
- 国际货运代理资格:2020年(英语)考试真题
- 公安机关执法办案场所办案区使用管理规定
- GB/T 41056-2021全断面隧道掘进机双护盾岩石隧道掘进机
- GB/T 2521.1-2016全工艺冷轧电工钢第1部分:晶粒无取向钢带(片)
- FZ/T 54018-2009超细涤纶低弹丝
评论
0/150
提交评论