oracle rdbms 占内存_027、Oracle数据库

1、数据库相关概念

(1)什么是数据库

所谓的数据库其实就是数据的集合。用户可以对集合中的数据进行新增、查询、更新、

删除等操作。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、

与应用程序彼此独立的数据集合。

(2)数据库类型

分为关系型和非关系型

关系型: Oracle 、Mysql 、PostgreSQL 、DB2 、Microsoft SQL Server 、Microsoft Access

非关系型:Redis 、Mongodb 、Big Table

关系型数据库与非关系型数据之间的区别

关系型数据库的特点及优缺点:

特点:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致特性。

优点:易于维护:都是使用表结构,格式一致;

使用方便:SQL 语言通用;

复杂操作:支持 SQL,可用于一个表以及多个表之间非常复杂的查询;

缺点:性能差:读写性能比较差,尤其是海量数据的高效率读写,传统关系型数据库来 说,硬盘 I/O 是一个很大的瓶颈;

存储方式不灵活:固定的表结构,灵活度稍欠;

非关系型数据库的特点及优缺点:

特点:非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。不支持事务一致特性。

优点:格式灵活:存储数据的格式可以是 key,value 形式、文档形式、图片形式等等;

高扩展性:基于键值对,数据没有耦合性,容易扩展;

速度快:无需经过 sql 层的解析,读写性能很高;

缺点:不支持 SQL:不提供 sql 支持,学习和使用成本较高;

不支持事务:无事务处理能力;

不支持复杂查询:数据结构相对复杂,复杂查询方面稍欠;

2、Oracle 入门

Oracle 数据库

所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle 数据库其实就是一组文

件的集合。Oracle 数据库分别由:数据文件、控制文件、日志文件所构成。

数据文件(.DBF)

数据文件是一个二进制文件,是用于保存用户应用程序数据和 Oracle 系统内部数据的

文件,这些文件在操作系统中就是普通的操作系统文件。Oracle 在创建表空间的同时会创建

数据文件。

控制文件(.CTL)

控制文件是一个二进制文件,它主要记录数据库的名称、数据库的数据文件存放位置等

信息。一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。

日志文件(.LOG)

日志文件在 Oracle 数据库中分为重做日志(Redo Log File)文件和归档日志文件两种。重

做日志文件是 Oracle 数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库操

作过程。用于备份和还原数据库,以达到数据库的最新状态。

Oracle 实例

实例就是数据库启动后分配的内存和建立的后台进程. 数据库关闭后,物理上的文件还

存在,但实例(分配的内存和建立的进程)就没有了

Oracle 实例与数据库的关系

实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以

操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制

文件)。

在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,

反过来也成立:一个数据库上只有一个实例对其进行操作。

Oracle 版本说明

Oracle 8i

Oracle 9i

Oracle 10g

Oracle 11g

Oracle 12c

I:i 代表 Internet。8i 版本开启对 Internet 的支持。所以,在版本号之后,添加了标识 i。

G:g 代表 Grid 网格。10g 加入了网格计算的功能,因此版本号之后的标识使用了字母

g。

C:c 代表云(cloud)计算设计。12c 版本表示对云计算的支持。

3、Oracle 的安装与卸载

Oracle 安装步骤

b4027d394f542c7445add45fe9ae580f.png

572059b08d5ae53b35605e459611b095.png

8c36c5898cf980fa4cd05b792bf06ff7.png

b3263684cde5ff8cbd21d6f8e953ea54.png

3220acc7a04339b9862bb734b13e9d92.png

798f94ff760fe0654e105ac72aa5398e.png

1c2055737659b0fe272b78c66b2b7efe.png

c03e1d8e566ca9a7db93582cd12a2eeb.png

Oracle 卸载步骤

停用 oracle 服务,进入计算机管理,在服务中,找到 oracle 开头的所有服务,右击选择

停止。

在开始菜单中找到 Oracle 安装产品,点击运行 Oracle 自带的卸载程序 Universal Installer工具卸载。

开始菜单中,找到 Universal Installer,运行 Oracle Universal Installer,单击卸载产品,在产品清单窗口中,单击全部展开,除了 OraDb11g_home1 外,勾选其他项目,单击删除,根据软件提示单击下一步最终完成卸载。

删除注册表中 Oracle 相关项

在 命 令 窗 口 , 输 入 regedit , 打 开 注 册 表 , 依 次 展 开

HKEY_LOCAL_MACHINESOFTWARE,找到 oracle,删除之。

依次展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 中,删除所有oracle 开头的项。

依 次 展 开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,删除所有 oracle 开头的项。

扩展删除(以下不是必须的注册表删除项),如果安装不成功可以自己也把这些删除了

在 HKEY_CLASSES_ROOT,删除以 Ora、Oracle、Orcl 或 EnumOra 为前缀的键删 除

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderStart MenuPrograms 中所有以 oracle 开头的键。

删 除 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中 除 Microsoft

ODBC for Oracle 注册表键以外的所有含有 Oracle 的键。

右键点击我的电脑-->属性-->高级-->环境变量,删除环境变量 ORACLE_HOME、

TNS_ADMIN 等环境变量,删除 PATH 中等环境变量有关 Oracle 的设定的路径信息。

打开资源管理器,在地址栏中输入“%userprofile%「开始」菜单程序”回车,删除安

装的 Oracle 目录。然后再到地址栏中输入“%allusersprofile%「开始」菜单程序”回车,

删除安装的 Oracle 目录。

重启电脑。

4、Oracle 目录结构与系统用户

(1)Oracle 目录结构

834c910a94ad0c7f86c569448c75ec59.png

admin 目录:记录 Oracle 实例的配置,运行日志等文件。每个实例一个目录。

cfgtoollogs 目录:下面子目录分别存放当运行 dbca,emca,netca 等图形化配置程序时的 log。

checkpoints 目录:存放检查点文件

diag 目录:Oracle11g 新添加的一个重组目录。

flash_recovery_area(闪回区)目录:闪回区:分配一个特定的目录位置来存放一些特定的恢复文件,用于集中和简化管理数据库恢复工作。闪回区可存储完全的数据文件备份、增量备份、数据文件副本、当前的控制文件、备份的控制文件、spfile 文件、快照控制文件、联机日志文件、归档日志、块跟踪文件、闪回日志。

oradata 目录:存放数据文件。

3d6f4650f12a31832d3fe72a230b95ee.png

(2)数据库中的文件介绍

CONTROL01.CTL :Oracle 数据库的控制文件。

EXAMPLE01.DBF :Oracle 数据库表空间文件。

REDO01.LOG:Oracle 数据库的重做日志文件。

SYSAUX01.DBF:11g 新增加的表空间。主要存储除数据字典以外的其他数据对象。由系统内部自动维护。

SYSTEM01.DBF:用于存放 Oracle 系统内部表和数据字典的数据。比如,表名、列名、用户名等。

TEMP01.DBF:临时表空间文件。

UNDOTBS01.DBF:撤销表空间文件。用来保存回滚数据。

USERS01.DBF :用户表空间。

product 目录:Oracle RDBMS 的软件存放目录。RDBMS 即关系数据库管理系统(Relational Database Management System)。

(3)Oracle 系统用户

sys 用户:sys 是 Oracle 中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。

system 用户:没有 sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使

用 system 用户来创建一些与管理无关的表或者视图。

二者在登录时的区别

sys 和 system 在登录 Oracle 时,sys 只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登录,而 system 可以直接登录(normal)。

scott 用户:是 oracle 提供的示例用户,提供了一些学习 oracle 操作的数据表。如:emp、dept、salgrade、bonus 表

5、Oracle 的启动与关闭

OracleServiceORCL(必须启动):数据库服务(数据库实例),核心服务

OracleOraDb11g_home1TNSListener(必须启动):监听器服务

Oracle ORCL VSS Writer Service(非必须启动) :Oracle 卷映射拷贝写入服务

OracleDBConsoleorcl(非必须启动):Oracle 数据库控制台服务

OracleJobSchedulerORCL(非必须启动):Oracle 作业调度(定时器)服务,ORCL 是 Oracle 实例标识。

OracleMTSRecoveryService(非必须启动) :服务端控制。

Oracle 关闭:只需要将服务停止即可。

6、Oracle 客户端工具介绍

43dfd47759e26b93ecdce040032ed705.png

96eaaf134c78764ad110233667757b00.png

sys 用户登录命令: sys as sysdba|sysoper

system 用户登录命令:system

e4754e6ec39dba985ce99f7a6e2f479e.png

002c0a3eb4f2588f959a387d09c929b8.png

e8af11649022c1367f9ac3d21dfef328.png

2c9f9f5b76507f2ffff37f7df52d4741.png

7、Oracle 第三方工具 PL/SQL Developer

安装 PL/SQL Developer

db0f8669dbd748881a4a9943b21771bd.png

安装过程只需next即可,最后点击finish按钮完成安装

Command Window

0789819d37425ba8105ded19cf3842aa.png

Sql Window

77ed98752845c66711bff582e33015af.png

创建永久表空间命令

create tablespace 永 久 表 空 间 名 称 datafile ' 永 久 表 空 间 物 理 文 件 位 置 ' size 15M autoextend on next 10M permanent online;

创建用户

41330cba0d5eadb64d2fc8f6a1c0c41c.png

c8c5d718fac39ba91cd7016e5a996243.png

afca67a611f8901365b887eb014738bf.png

分配用户权限

1ef7d88d57e038600758eb4b5c906a17.png

对象权限(Object privileges):对象权限是指在指定的表,视图,序列上制定执行动作的权限或权利。

角色权限(Role privileges):角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理。

系统权限(System privileges) :为用户分配创建表、创建用户、创建视图、创建存储过程等权限。

分配链接权限

为当前用户分配一个 connect 链接角色

77b6afd6d5e6dffa24cf419164b17d2d.png

分配系统权限

3c66a3f14a3a421c18006c6dba8941ec.png

0524ef73d80935e1c36fc21463e5d362.png

Oracle 的链接配置

文件位置:Oracle 目录product11.2.0dbhome_1NETWORKADMIN

sqlnet.ora:名称解析。通过这个文件来决定怎么样找一个连接中出现的连接字符串。

tnsnames.ora:用在 oracle client 端,用户配置连接数据库的别名参数,就像系统中的 hosts 文件一样。

<1>ORCL :客户端连接服务器端使用的服务别名。注意一定要顶行书写,否则会无法识别服务别名。

<2>PROTOCOL:客户端与服务器端通讯的协议,一般为 TCP,该内容一般不用改。

<3>HOST:ORACLE 服务器端 IP 地址或者 hostname。确保服务器端的监听启动正常。

<4>PORT:数据库侦听正在侦听的端口,此处 port 的值一定要与数据库侦听正在侦听的端口一样。

listener.ora :用在 oracle server 端,可配置 Oracle 的监听端口

<1>LISTENER :监听名称,可以配置多个监听,多个监听的端口号要区分开来。

<2>PROTOCOL:监听协议,一般都使用 TCP 。

<3>HOST:本机 IP 地址或者 localhostname。

<4>PORT:监听的端口号。

8、Oracle 基本操作

Oracle 中的数据类型

字符类型:

字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型

(VARCHAR2/NVARCHAR2)两种。

CHAR 类型:

CHAR 类型,定长字符串,会用空格填充来达到其最大长度。非 NULL 的 CHAR(12)

总是包含 12 字节信息。CHAR 字段最多可以存储 2,000 字节的信息。如果创建表时,不指

定 CHAR 长度,则默认为 1。

VARCHAR2 类型 :

变长字符串,与 CHAR 类型不同,它不会使用空格填充至最大长度。VARCHAR2 最多

可以存储 4,000 字节的信息。

NVARCHAR2 类型:

这是一个包含 UNICODE 格式数据的变长字符串。 NVARCHAR2 最多可以存储 4,000

字节的信息。

数字类型:

NUMBER 类型:

NUMBER(P,S)是最常见的数字类型。

P 是 Precision 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过 38 个有

效数字。

S 是 Scale 的英文缩写,表示小数点数字的位数。

INTEGER 类型:

INTEGER 是 NUMBER 的子类型,它等同于 NUMBER(38,0),用来存储整数。若插

入、更新的数值有小数,则会被四舍五入。

浮点数:

BINARY_FLOAT 类型:

BINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少 6 位精度,每个

BINARY_FLOAT 的值需要 5 个字节,包括长度字节。

BINARY_DOUBLE:

BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE

的值需要 9 个字节,包括长度字节。

日期类型 :

DATE 类型:

DATE 是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数

字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle

存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用 7 个字节的存储空间。

TIMESTAMP 类型:

这是一个 7 字节或 12 字节的定宽日期/时间数据类型。它与 DATE 数据类型不同,因为

TIMESTAMP 可以包含小数秒,带小数秒的 TIMESTAMP 在小数点右边最多可以保留 9 位。

TIMESTAMP WITH TIME ZONE 类型:

这是 TIMESTAMP 类型的变种,它包含了时区偏移量的值。

TIMESTAMP WITH LOCAL TIME ZONE 类型 :

将时间数据以数据库时区进行规范化后进行存储

LOB 类型:

CLOB 类型(Character Large Object):

二进制数据,存储单字节和多字节字符数据。最大长度 4G。

BLOB 类型(Binary Large Object):

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。最大长度 4G。

NCLOB 数据类型:存储 UNICODE 类型的数据 ,最大长度 4G。

LONG 类型:它存储变长字符串(超长字符串)

LONG RAW 类型:能存储 2GB 的原始二进制数据,可存放多媒体图象声音等。

RAW 类型:用于存储二进制或字符类型数据,必须制定长度。

9、在 Oracle 中创建表

Oracle 表名命名规则

1.必须以字母开头

2.长度不能超过 30 个字符

3.避免使用 Oracle 的关键字

4.只能使用 A-Z、a-z、0-9、_#$

使用带有特殊符号的表名

Oracle 在创建表时,表名会自动转换大写。Oracle 对表名大小写不敏感。

如果在定义表名时含有特殊符号,或者用小写字母来定义表名则需要在表名两侧添加双

引号。

10、数据库中的约束

约束的作用

约束用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。

约束类型

主键约束(Primay Key Constraint):唯一性,非空性。

唯一约束 (Unique Constraint):唯一性,可以空,但只能有一个。

检查约束 (Check Constraint):对该列数据的范围、格式的限制(如:年龄、性别等)。

非空约束 (Not Null Constraint) :该列不允许包含空值。

外键约束 (Foreign Key Constraint) :需要建立两表间的关系并引用主表的列。

11、数据库中表关系

表与表之间一般存在三种关系,即一对一,一对多,多对多关系。

一对多 :

一对多关系是建立在两张表之间的关系。一个表中的一条数据可以对应另一个表中的多

条数据。记住:外键永远在多方。外键允许重复,允许含有空值。

f4ccb0d31b1271211a11ca2d4cec729e.png

T_CLASSROOM 表

2564d32119a08b643f52038f306e70f6.png

7abd9d17f73602d1f2ec1dfc71db6b23.png

ac37f6c0d2bbe0e8eade06a171f9f159.png

T_STUDENT 表

0809256fbe0d9d7f58be871c2d5f1fc5.png

65451912e3563db0dc5a445d06f54ece.png

2132ce29d47eccbf2537b8e3b58a5dd9.png

25818c641d54be289f8af1e2b94ff924.png

eeb1606155868ef9a5a886a00ca0b2c1.png

一对一:

一对一关系是建立在一对多的基础之上,外键可以在任何一方,需要让外键一方具备唯

一约束。

fef36cfde02d45efbaa64782b3c8294e.png

T_USER 表

872c9bc0a94cff262b1fb5eddce18c85.png

fa0511bd8ccafeb84a920f45fff93d94.png

1fb0420fff9935ed566c3ae9962123c5.png

184beafddaf3c4ae5f59af19358ac11b.png

7cc48eb75705da94de6acbf8a3dd77d2.png

多对多 :

需要建立一个中间表,中间表里建立两个列,然后需要用这两个列作为这个表的联合主

键,然后每个列在作为外键参照各自的表的主键

ffa7d04e431a671cc44372ff5db71c9b.png

T_ORDER 表

c7a76ae59db48e3c3c225df4c1a1b06e.png

12b4fcfa107a049cf0bd68ea3a9dc3d0.png

84abad07de70e073858c644ea94244d9.png

T_ITEM 表

bb860d64945a4c4e53d0b84880ecfeaf.png

fb125bfbe991d95d6e67005cd094ba66.png

T_ORDER_ITEM 表

f66d0914816103b93bf14025c2cca559.png

c732bcc9e8721b15bcee479b88ab34b0.png

a98317c6d2b0c49c28d07b9ee6d9aef9.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值