Oracle数据库教程

article/2025/9/29 7:23:44

原文连接:https://www.w3cschool.cn/oraclejc/oraclejc-eswu2qqq.html

Oracle数据库教程

  • Oracle数据库是什么?
    • 数据文件(dbf)
    • 表空间
    • 用户
  • 数据库和实例
    • 1 Oracle数据库
      • 1.1 物理存储结构
      • 1.2 逻辑结构
    • 2 Oracle实例
    • 主要的Oracle数据库的后台进程
  • Oracle基础知识
    • 查询数据
    • 排序数据
    • 过滤数据
    • 连接表
    • 分组数据
    • 子查询
    • 设置操作符
    • 修改数据
    • 数据定义
    • 数据类型
    • 约束

Oracle数据库是什么?

Oracle Database,又名 Oracle RDBMS,简称 Oracle。Oracle 数据库系统是美国 Oracle 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(client/server)或B/S体系结构的数据库之一,比如 SilverStream 就是基于数据库的一种中间件。Oracle 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系型数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能,但它的所有知识,只要在一种机型上学习了 Oracle 知识,便能在各种类型的机器上使用它。

数据文件(dbf)

数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

表空间

表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据库文件(datafile)。一个数据文件只能属于一个表空间。

用户

用户是在实例下建立的。不同实例中可以建相同名字的用户。注:表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于 Oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!scott 与 hr 就是初始的普通用户,这些用户下面都默认存在了表结构。
在这里插入图片描述
DDL(数据库定义语言):create,drop
DML(数据库操作语言):insert,update,delete
DQL(数据查询语言):select
DCL(数据库控制语言):grant,revoke

ORACLE 数据库系统能够在业内独占鳌头并不是空穴来风,下面我们来细数一下 ORACLE 数据库的优势所在:

  1. 完整的数据管理功能:
  • 数据的大量性
  • 数据的保存的持久性
  • 数据的共享性
  • 数据的可靠性
  1. 完备关系产品:
  • 信息准则—关系型 DBMS 的所有信息都应在逻辑上用一种方法,即表中的值显式地表示
  • 保证访问的准则
  • 视图更新准则—只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
  • 数据物理性和逻辑性独立准则
  1. 分布式处理功能

ORACLE 数据库自第5版起提供了分布式处理能力,到第7版有比较完善的分布式数据库功能了,一个ORACLE 分布式数据库由 oraclerdbms、sqlNet、SQLCONNECT 和其他非 ORACLE 的关系型产品构成。

数据库和实例

Oracle 数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例则是管理数据库文件的内存结构。此外,数据库是由后台进程组成。

数据库和实例是紧密相连的,所以我们一般说的 Oracle 数据库,通常指的就是实例和数据库。

下图说明了 Oracle 数据库服务器体系结构:
在这里插入图片描述
在这种体系结构中,Oracle 数据库服务器包括两个主要部分:文件(Oracle 数据库)和内存(Oracle 实例)。

1 Oracle数据库

Oracle 数据库的一个基本任务是存储数据,以下部分简要地介绍 Oracle 数据库的物理和逻辑存储结构。

1.1 物理存储结构

物理存储结构是存储数据的纯文件。当执行一个 CREATE DATABASE 语句来创建一个新的数据库时,将创建下列文件:

  • 数据文件:数据文件包含真实数据,例如销售订单和客户等。逻辑数据库结构(如表和索引)的数据被物理存储在数据文件中。
  • 控制文件:每个 Oracle 数据库都有一个包含元数据的控制文件。元数据用来描述包括数据库名称和数据文件位置的数据库物理结构。
  • 联机重做日志文件:每个 Oracle 数据库都有一个联机重做日志,里面包含两个或多个联机重做日志文件。联机重做日志由重做条目组成,能够记录下所有对数据所做的更改。

除这些文件外,Oracle 数据库还包括如参数文件、网络文件、备份文件以及用于备份和恢复的归档重做日志文件等重要文件。

1.2 逻辑结构

Oracle 数据库使用逻辑存储结构对磁盘空间使用情况进行精细控制。以下是 Oracle 数据库中的逻辑存储结构:

  • 数据块(Data Blocks):Oracle 将数据存储在数据块中。数据块也被称为逻辑块,Oracle 块或页,对应于磁盘上的字节数。
  • 范围(Extents):范围是用于存储特定类型信息的逻辑连续数据块的具体数量。
  • 段(Segements):段是分配用于存储用户对象(例如表或索引)的一组范围。
  • 表空间(Tablespaces):数据库被分成称为表空间的逻辑存储单元。 表空间是段的逻辑容器。 每个表空间至少包含一个数据文件。

下图说明了表空间中的段,范围和数据块:
在这里插入图片描述
下图显示了逻辑和物理存储结构之间的关系:
在这里插入图片描述

2 Oracle实例

Oracle 实例是客户端应用程序(用户)和数据库之间的接口。Oracle 实例由三个主要部分组成:系统全局区 (SGA),程序全局区 (PGA) 和后台进程。如下图所示 :

在这里插入图片描述
SGA 是实例启动时分配的共享内存结构,关闭时释放。 SGA 是一组包含一个数据库实例的数据和控制信息的共享内存结构。

不同于所有进程都可用的 SGA,PGA 是会话开始时为每个会话分配的私有内存区,当会话结束时释放。

主要的Oracle数据库的后台进程

  • PMON 是 Oracle 数据库中最活跃的一个进程,是调节所有其他进程的进程监视器。PMON 能够清理异常连接的数据库连接,并自动向侦听器进程注册数据库实例。
  • SMON 是执行系统级清理操作的系统监视进程。它有两个主要职责,包括在发生故障的情况下自动恢复实例,例如断电和清理临时文件。
  • DBWn 是数据库编写器。Oracle 在内存中执行每个操作而不是磁盘。因为在内存中的处理速度比在磁盘上快。DBWn 进程从磁盘读取数据并将其写回到磁盘。 一个 Oracle 实例有许多数据库编写器,如:DBW0,DBW1,DBW2等等。
  • CKPT 是检查点过程。 在 Oracle 中,磁盘上的数据称为块,内存中的数据称为缓冲区。 当该块写入缓冲区并更改时,缓冲区变脏,需要将其写入磁盘。CKPT 进程使用检查点信息更新控制和数据文件头,并向脏盘写入脏缓冲区的信号。 请注意,Oracle 12c 允许全面和增量检查点。

在这里插入图片描述

  • LGWR 是日志写入过程,是可恢复架构的关键。 在数据库中发生的每一个变化都被写出到一个名为 redo 日志文件中用于恢复目的。 而这些变化是由 LGWR 进程编写和记录的。 LGWR 进程首先将更改写入内存,然后将磁盘写入重做日志,然后将其用于恢复。

  • ARCn 是归档进程,它将重做日志的内容复制到归档重做日志文件。存档程序进程可以有多个进程,如:ARC0,ARC1 和 ARC3,允许存档程序写入多个目标,如 D:驱动器,E:驱动器或其他存储。

  • MMON 是收集性能指标的可管理性监控流程。

  • MMAN 是自动管理 Oracle 数据库内存的内存管理器。

  • LREG 是监听器注册过程,它使用 Oracle Net Listener 在数据库实例和调度程序进程上注册信息。

Oracle基础知识

查询数据

  • Select语句:查询单个表中的数据

排序数据

  • Order By语句:按升序或降序对查询结果集进行排序

过滤数据

  • Distinct:消除查询输出中的重复行。
  • Where:为查询返回结果集中的行记录指定过滤条件
  • AND:组合两个或两个以上的布尔条件
  • OR:组合两个或两个以上的布尔条件
  • FETCH:使用行限制子句限制查询返回的行数
  • IN:确定值是否与列表或子查询中的任何值相匹配
  • Between:基于一系列值(区间值)过滤数据
  • Like:根据特定模式执行匹配

连接表

  • inner join:从表中查询具有与其他表匹配的行记录
  • left join:左连接,选择左表中具有,但右表中不具有的行记录
  • right join:右连接,从右表查询具有,但左表中不具有的行记录
  • cross join:从多个表中构建笛卡尔乘积
  • Self join:将表连接到自身,以查询分层数据或比较同一个表中的行记录

分组数据

  • Group by:将行分组为子组,并为每个分组应用聚合函数
  • Having:如何过滤分组中的行记录

子查询

  • 子查询:使用子查询执行高级数据选择技术
  • 相关子查询:依赖于外部查询返回的值的子查询
  • Exist和Not Exist:检查子查询返回的行是否存在
  • ANY,SOME和ALL:将值与列表或子查询进行比较

设置操作符

使用集合运算符合并两个或多个独立查询的结果集的步骤。

  • Union:将两个查询结果合并为一个结果
  • Intersect:实现两个独立查询的结果交集
  • Minus:从一个结果集中减去另一个结果(求差集)

修改数据

如何更改Oracle数据库的数据内容。用于修改数据的SQL命令被称为数据操纵语言(DML)。

  • INSERT - 学习如何在表中插入一行。
  • INSERT INTO SELECT - 从查询结果中将数据插入到表中。
  • INSERT ALL - 讨论多重插入语句,将多行插入到一个或多个表中。
  • UPDATE - 演示如何更新表的存在的数据值。
  • DELETE - 演示如何从表中删除一行或多行。
  • MERGE - 使用单个语句逐步完成插入,更新和删除操作。

数据定义

本节介绍如何管理数据库和表的最重要的数据库对象。

  • CREATE TABLE - 演示如何在数据库中创建新表。
  • IDENTITY列 - 了解如何使用IDENTITY子句来定义表的标识列。
  • ALTER TABLE - 演示如何改变表的结构。
  • ALTER TABLE ADD列 - 显示如何将一个或多个列添加到现有表。
  • ALTER TABLE MODIFY列 - 演示如何更改表中现有列的定义。
  • DROP COLUMN - 了解如何使用各种语句从表中删除一列或多列。
  • DROP TABLE - 演示如何从数据库中删除表。
  • TRUNCATE TABLE - 更快,更有效地删除表中的所有数据。
  • RENAME TABLE - 学习如何重命名表和处理其依赖对象的过程。

数据类型

内置Oracle数据类型

  • NUMBER - 介绍数字数据类型,并展示如何使用它为表定义数字列。
  • FLOAT - Oracle中的浮点数据类型。
  • CHAR - 固定长度的字符串类型。
  • NCHAR - 演示如何存储固定长度的Unicode字符数据,并解释CHAR和NCHAR数据类型之间的区别
  • VARCHAR2 - 可变长度字符
  • NVARCHAR2 - 在数据库中存储可变长度的Unicode字符。
  • DATE - 讨论日期和时间数据类型,并说明如何有效地处理日期时间数据。
  • TIMESTAMP - 如何以小数秒精度存储日期和时间。
  • INTERVAL - 介绍区间数据类型,主要用来存储时间段。
  • TIMESTAMP WITH TIME ZONE - 了解如何使用时区数据存储日期时间。

约束

  • 主键:使用主键约束管理主键
  • 外键:使用外键约束强制表之间的关系
  • NOT NULL约束:确保列不接受NULL值
  • UNIQUE约束:确保存储在一列或一组列中的数据在整个表内的行之间是唯一的
  • CHECK约束:在将数据存储到表中之前添加用于检查数据的逻辑的过程

http://chatgpt.dhexx.cn/article/FpQfZ0cF.shtml

相关文章

Rational Rose

rational Rose 是一种建模工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力。 Rose 运行环境。 ——windows NT ,Windows 95 ——UNIX(Solaris ,HP/UX ,ALX ,DEC Unix) Rose 支持Unified,Booch ,OMT标记法 …

Rational Rose 使用技巧

1、浏览区 2、菜单项 其中Format选项中: 决定各项是否显示,也可以通过右击—option选择 3、常用快捷键: F1:任何时候都可以按F1获得相关帮助,把鼠标放在某条菜单上按F1可以获得这条菜单的相关帮助。 F2:刷新…

安装rational rose软件教程

一、下载相关文件 二、安装DAEMON Tools Lite 按照正常的安装流程开始安装 路径选择自己想要的路径,直到弹出许可证选择同意就好了。 三、安装rational rose 打开DAEMON Tools Lite软件,并点击“快速装载” 然后选择rational rose的映像文件 在下方就…

使用Rational Rose绘制各种图

发生了一件事:论文中需要绘制几种图 我感觉:以前没有学好也没有太大的关系,现在用中学自己需要的部分,效率特别高。我不反对以后会有用的这句话,但相比于眼前就有用或是未来肯定有用的,我自然优先选择后者…

Rational Rose 7.0安装及科学使用教程

Rational Rose 7.0科学的使用 Rational Rose 7.0安装及科学使用教程下载安装挂载镜像准备安装开始安装前序工作正式安装安装完毕 Rational Rose 7.0安装及科学使用教程 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水…

Rational Rose2007的安装

UML:统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 我们用rational rose2…

Rational rose 2007 下载和安装教程

文章目录 Rational rose 简介一,下载Rational rose 2007二,安装Rational rose 2007三,激活Rational Rose 2007四,启动Rational Rose 2007 Rational rose 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视…

我遇到了Rational Rose

前言 学到了UML,在视频中提到了Rational Rose这个工具,对它很感兴趣,想知道它到底是什么东西,所以也就找同学拷了这个安装包,但是安装的时候它提示我这个一个病毒软件,所以就只能把它卸载了。后来就又找同学…

Rational Rose建立类图

类图 要求绘制下面类图。 图1-1 汽车类图 定义类的最通用方法是,在浏览器窗口的Logic View中添加新类。下面是定义类的步骤: 1.1创建类名 步骤:右击浏览器窗口中的Logic View,打开快捷菜单,选择:NewClass后&#xf…

UML建模详解(3)—使用Rational Rose 画九种常用架构图

UML是一种建模语言,是系统建模的标准。我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: (1).开发人员如何与用户进行沟通来了解系统的需求? (2).开发人员之间如何沟通以确保各个部门能够无缝地…

Rational Rose 2017使用教程

转载:http://www.opdown.com/soft/82173.html#comment Rational Rose 2017免费版是目前的最新版本,一款专业的可视化建模软件,主要用于可视化建模和组件构造,包括统一建模语言(UML),OOSE&#x…

Rational rose安装步骤

Rational rose安装步骤 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。 就像一个戏剧导演设计一个剧本一样,一个软件设计师使用Rational Rose,以演员&#xff…

UML与Rational Rose

采用b站动力节点视频学习: 【动力节点】UML与Rational Rose 视频: 什么是UML Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言&…

Rational Rose--简介

Rational Rose Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。 目前版本的Rational Rose可以用来做以下一些工作: 1、对业务进行建模( 工作流);…

关于Rational Rose的使用(初学者)

打开软件,选择J2EE,点击OK 之后出现下图中的内容 可以双击Use Case View中的Main,打开用例图(或者右键Use Case View,选择New,选择Use Case Diagram新建一个用例图,在New选项中同样可以创建新的…

Rational Rose使用说明

启动Rational Rose后,会出现如图所示界面 启动界面消失后,进入到Rational Rose主界面 开始会弹出下图对话框,需要我们来设置启动的初始操作(跟vb同理呦!)初始操作分为三大类:New(新建模型&#…

Rational Rose安装使用教程

上课的时候作业没做好,把软件拷回宿舍在自己的笔记本安装了好久都没安装好 晚上到网吧后才花了很多时间安装好的,下面给出教程 1、软件下载地址:https://pan.baidu.com/s/1HwgHfahWLH2BXOYsHGLLlQ guangzhu GZH:读书改造大脑 回复…

Rational Rose安装及破解教程

1、下载地址:http://pan.baidu.com/s/1mhKGfHY 2、安装: 解压缩文件 “[Rational.Rose.Enterprise.Edition.2003].Software].Rational.Rose.Enterprise.Edition.2003”,双击“RationalRoseEnterpriseEditionforWindows.exe”,一直选择下一步…

Rational Rose

Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。就像一个戏剧导演设计一个剧本一样,一个软件设计师使用Rational Rose,以演员(数字)、使用拖放式…

Rational Rose 2016

UML建模工具Rational Rose 2016是一款由Rational公司打造的可视化建模工具,Rational Rose 2016是最新的版本,绝对可用,可以帮你简单画出UML图,是目前最为优秀的UML建模工具之一,最新版更加稳定,使用简单&am…