Java干货 | 一文搞懂ORACLE数据库

ORACLE数据库系统是美国ORACLE公(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。

ORACLE通常应用于大型系统的数据库产品。

ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

ORACLE数据库具有以下特点:

(1)支持多用户、大事务量的事务处理

(2)数据安全性和完整性控制

(3)支持分布式数据处理

(4)可移植性

1.数据库

Oracle数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle 就只有一个大数据库。

2.实例

一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

3.数据文件(dbf)

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

4.表空间

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

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。

注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。

由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

5.用户

用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE的用户与MYSQL的数据库类似,每建立一个应用需要创建一个用户。

-END-

软件测试学习笔记丨数据库基础知识

本文转自测试人社区,原文链接:Python 测开28期-Pomelo- 学习笔记-数据库 – 学习笔记 – 测试人社区

  • 数据库(DataBase) 就是一个以某种有组织的方式存储的数据集合
  • 是存储和管理数据的仓库
  • 其本质是一个文件系统
  • 数据库管理系统(DBMS)是一款管理软件
  • 关系型数据库(RDB: Relationship DataBase)
  • 非关系型数据库(NoSQL)
  • 关系型数据库
    • 需要做复杂处理数据
    • 数据量不是特别大的数据
    • 对安全性能要求高的数据
    • 数据格式单一的数据
  • 非关系型数据库(NoSQL)
    • 数据模型比较简单
    • 需要灵活性更强的 IT 系统
    • 对数据库性能要求较高
    • 不需要高度的数据一致性
  • 数据定义语言(DDL):用来定义数据库对象,比如数据库,表,列等
  • 数据操作语言(DML):用来对数据库中表的记录进行更新
  • 数据查询语言(DQL):用来查询数据库中表的记录
  • 数据控制语言(DCL):用来定义数据库的访问权限和安全级别及创建用户
  • IF NOT EXISTS:可选项,创建前先判断,未存在时才执行创建语句
  • 数据库名:必须指定的
  • CHARACTER SET =字符集:可选项,用于指定数据库的字符集

CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名CHARACTER SET [=] 字符集

  • 不能与其他数据库重名
  • 名称可以由任意字母、阿拉伯数字、下划线(_)和“$”组成,但不能使用单独的数字
  • 名称最长可为 64 个字符,别名最长为 256 个字符。
  • 不能使用 MySQL 关键字作为数据库名
  • 建议采用小写来定义数据库名

创建命名为test_db 的数据库CREATE DATABASE test_db;创建名为 test_db2 的数据库,并指定字符集为 utf8CREATE DATABASE test_db2 CHARACTER SET utf8;如果数据库 test_db3 不存在,则创建名为 test_db3 的数据库CREATE DATABASE IF NOT EXISTS test_db3 CHARACTER SET utf8;

DATABASES:必选项,用于列出当前用户权限范围内所能查看到的所有数据库名称

查看所有数据库SHOW DATABASES;选择数据库为当前数据库USE 数据库名;查看数据库定义信息SHOW CREATE DATABASE 数据库名查看当前所有数据库show databases;选择数据库test_dbuse test_db查看test_db数据库的定义信息SHOW CREATE DATABASE 数据库名;

  • DATABASE:必选项
  • 数据库名:可选项,如果不指定要修改的数据库,那么将表示修改当前(默认)的数据库
  • CHARACTER SET = 字符集:可选项,用于指定数据库的字符集

修改数据库相关参数Alter {database} [数据库名] Character set [-] 字符集创建数据库 db1,指定字符集为 GBKcreate database db1 character set GBK将数据库 db1 的字符集修改为 utf8alter database db1 character set utf8

  • DATABASES:必选项
  • IF EXISTS:用于指定在删除数据前,先判断该数据库是否已经存在,可以避免删除不存在的数据库时产生异常

删除数据库drop database [if exists] 数据库名;查看当前所有数据库SHOW DATABASES;删除某个数据库DROP DATABASE test_db;如果某个数据库存在,则删除这个数据库DROP DATABASE IF EXISTS test_db2;

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。