Oracle数据库

Oracle数据库

  • 1、数据库
  • 2、数据库类型
    • 2.1 关系型数据库
    • 2.2 非关系型数据库
  • 3、Oracle
    • 3.1 Oracle数据库
      • 3.1.1 数据文件(.DBF)
      • 3.1.2 控制文件(.CTL)
      • 3.1.3 日志文件(.LOG)
    • 3.2 Oracle实例
    • 3.3 Oracle软件的介绍
      • 3.3.1 Oracle 安装
      • 3.3.2 Oracle的目录结构
          • 3.3.2.1 admin
          • 3.3.2.2 cfgtoollogs
          • 3.3.2.3 checkpoints
          • 3.3.2.4 diag
          • 3.3.2.5 flash_recovery_area(闪回区)
          • 3.3.2.6 oradata
          • 3.3.2.7 product
      • 3.3.3 Oracle的系统用户
        • 3.3.3.1 sys
        • 3.3.3.2 system
        • 3.3.3.3 scott
      • 3.3.4 Oracle的启动
        • 3.3.4.1 OracleServiceORCL
        • 3.3.4.2 OracleOraDb11g_home1TNSListener
      • 3.3.5 Oracle的关闭
      • 3.3.6 Oracle自带客户端工具
      • 3.3.7 Oracle的使用
        • 3.3.7.1 Oracle的表空间
        • 3.3.7.2 创建永久表空间命令
      • 3.3.8 Oracle的链接配置
        • 3.3.8.1 sqlnet.ora
        • 3.3.8.2 tnsnames.ora
      • 3.3.9 Oracle的数据类型
        • 3.3.9.1 CHAR类型
        • 3.3.9.2 VARCHAR2类型
        • 3.3.9.3 NVARCHAR2类型
        • 3.3.9.4 NUMBER类型
        • 3.3.9.5 INTEGER类型
    • 3.4 Oracle创建表
      • 3.4.1 数据库的约束
        • 3.4.1.1 主键约束
        • 3.4.1.2 唯一约束
        • 3.4.1.3 检查约束
        • 3.4.1.4 非空约束
        • 3.4.1.5 外键约束
      • 3.4.2 数据库表关系
      • 3.4.2.1 一对多
      • 3.4.2.2 一对一
      • 3.4.2.3 多对多
  • 4、SQL语言
    • 4.1 SQL语言结构
      • 4.1.1 数据查询语言(DQL)
      • 4.1.2 数据操作语言(DML)
      • 4.1.3 事务处理语言(TCL)
      • 4.1.4 数据控制语言(DCL)
      • 4.1.5 数据定义语言(DDL)
    • 4.2 DQL语言
      • 4.2.1 SELECT 语句中的算术表达式
      • 4.2.2 连字运算符
      • 4.2.3 文字字符串
      • 4.2.4 去除重复行
      • 4.2.5 选择限制行
      • 4.2.6 字符串和日期
      • 4.2.7 比较条件
      • 4.2.8 优先级规则
      • 4.2.9 ORDER BY排序
  • 5、SQL函数
    • 5.1 函数类型
      • 5.1.1 单行函数
        • 5.1.1.1 字符函数
        • 5.1.1.2 数字函数
        • 5.1.1.3 日期函数
        • 5.1.1.4 转换函数
          • 5.1.1.4.1 隐式数据类型转换
          • 5.1.1.4.2 显示数据类型转换
          • 5.1.1.4.3 函数嵌套
        • 5.1.1.5 通用函数
        • 5.1.1.6 条件表达式
      • 5.1.2 多行函数(组函数)
        • 5.1.2.1 AVG 平均值
        • 5.1.2.2 SUM 合计
        • 5.1.2.3 COUNT 计数
        • 5.1.2.4 MIN/MAX 最小值/最大值
        • 5.1.2.5 组函数和Null值
        • 5.1.2.6 创建数据组(GROUP BY)
        • 5.1.2.7 约束分组结果(HAVING)
  • 6、SQL语句
    • 6.1 多表查询
      • 6.1.1 多表连接
        • 6.1.1.1 等值连接
        • 6.1.1.2 自连接
        • 6.1.1.3 外连接
        • 6.1.1.4 交叉连接
        • 6.1.1.5 自然连接
        • 6.1.1.6 USING子句创建连接
        • 6.1.1.7 内连接
    • 6.2 子查询
      • 6.2.1 单行子查询
      • 6.2.2 多行子查询
  • 7、DML语言
    • 7.1 INSERT语句
    • 7.2 UPDATE语句
    • 7.3 DELETE语句
  • 8、事务
    • 8.1 事务的特性
    • 8.2 事务的操作
    • 8.3 事务的类型
  • 9、DDL语言
    • 9.1 CREATE TABLE 语句
    • 9.2 ALTER TABLE 语句
  • 10、约束
    • 10.1 非空约束
    • 10.2 唯一约束
    • 10.3 主键约束
    • 10.4 外键约束
    • 10.5 自定义约束
    • 10.6 禁用和启用约束
  • 11、视图
    • 11.1 创建简单视图
    • 11.2 创建复杂视图
    • 11.3 视图DML操作
    • 11.4 内建视图
    • 11.5 Top-N分析
  • 12、分页查询
  • 13、序列
    • 13.1 DDL创建序列
    • 13.2 查询序列
    • 13.3 修改与删除序列
  • 14、索引
    • 14.1 索引类型
    • 14.2 创建索引
    • 14.3 操作索引
    • 14.4 查询索引
    • 14.5 删除索引
  • 15、同义词
  • 16、创建用户
  • 17、数据控制语言(DCL)
    • 17.1 授予系统权限
    • 17.2 撤销系统权限
    • 17.3 创建角色
  • 18、执行计划
    • 18.1 执行计划的使用
  • 19、Oracle的优化器
  • 20、Oracle的数据导入与导出
    • 20.1 传统方式exp(导出)和(imp)导入

1、数据库

数据库:数据的集合。

2、数据库类型

2.1 关系型数据库

  • 数据结构是表,由二维表及其之间的联系所组成的一个数据组织,支持事务的一致性
  • 优点
    • 易于维护
    • 使用方便
    • 复杂操作
  • 缺点
    • 性能差
    • 存储方式不灵活

Oracle
Mysql
PostgreSQL
DB2
Microsoft SQL Server
Microsoft Access

2.2 非关系型数据库

  • 严格上不是一中数据库,是一种数据结构化存储方法的集合,可以是文档或者键值对。不支持事务一致性。
  • 优点
    • 格式灵活
    • 高扩展性
    • 速度快
  • 缺点
    • 不支持SQL
    • 不支持事务
    • 不支持复杂查询

Redis
Mongodb
Big Table

3、Oracle

3.1 Oracle数据库

所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle数据就是一组文件集合。Oracle分别由:数据文件、控制文件、日志文件

3.1.1 数据文件(.DBF)

在这里插入图片描述

3.1.2 控制文件(.CTL)

在这里插入图片描述

3.1.3 日志文件(.LOG)

在这里插入图片描述

3.2 Oracle实例

在这里插入图片描述
Oracle数据库_第1张图片

3.3 Oracle软件的介绍

3.3.1 Oracle 安装

Oracle数据库_第2张图片
Oracle数据库_第3张图片
Oracle数据库_第4张图片
Oracle数据库_第5张图片
Oracle数据库_第6张图片
Oracle数据库_第7张图片
Oracle数据库_第8张图片
Oracle数据库_第9张图片

3.3.2 Oracle的目录结构

3.3.2.1 admin
  • 记录Oracle实例的配置,运行日志的文件,每个实例一个目录
  • SID:System IDentifier的缩写,是Oracle实例的唯一标记,在Oracle中一个实例只能操作一个数据库。安装了多个实例,可以通过实例SID来区分,也会使用SID来作为库的名称
3.3.2.2 cfgtoollogs

存放当前运行dbca、emca、netca等图形化配置程序时的log

3.3.2.3 checkpoints

存放检查点文件

3.3.2.4 diag

新增加的一个重组目录,将Oracle每个组件所诊断出的log文件存放在了这个目录下

3.3.2.5 flash_recovery_area(闪回区)

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

3.3.2.6 oradata

存放数据文件

CONTROL01.CTL:控制文件
EXAMPLE01.DBF:表空间文件
SYSAUX01.DBF:存储除数据字典以外的其他数据对象。由系统内部自动维护
SYSTEM01.DBF:存放Oracle系统内部表和数据字典的数据,如:表名、列名、用户名
UNDOTBS01.DBF:撤销表空间文件,用来保存回滚数据
USERS01.DBF:用户表空间
TEMP01.DBF:临时表空间文件
REDO01.LOG:重做日志文件1
REDO02.LOG:重做日志文件2
REDO03.LOG:重做日志文件3

3.3.2.7 product

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

3.3.3 Oracle的系统用户

3.3.3.1 sys

超级用户,权限最大,可以完成数据库的所有管理任务

3.3.3.2 system

没有sys权限大,创建一些用户查看管理信息的表或视图。不建议创建一些与管理无关的表或者视图

总结:sys只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登录,而system可以直接登录(normal)

3.3.3.3 scott

示例用户

3.3.4 Oracle的启动

Oracle是通过系统的服务来启动的

3.3.4.1 OracleServiceORCL

数据库服务(数据实例),数据库启动的基础

3.3.4.2 OracleOraDb11g_home1TNSListener

监听器服务,只有在数据库需要远程访问的时候或者使用PL/SQL、Developer等第三方工具时才需要

3.3.5 Oracle的关闭

OracleServiceORCL、OracleOraDb11g_home1TNSListener两者的服务停止即可

3.3.6 Oracle自带客户端工具

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

3.3.7 Oracle的使用

3.3.7.1 Oracle的表空间
  • 永久表空间
    表空间是数据的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表。
  • 临时表空间
    主要用来查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可释放临时表空间
3.3.7.2 创建永久表空间命令
create tablespace 永久表空间名称 datafile '永久表空间物理文件位置' size 

你可能感兴趣的:(数据库,oracle)