文章目录
数据库的相关概念
什么是数据库
数据库就是数据的集合, 用户可以对数据进行新增, 查询, 更新, 删除等操作.
数据库是以一定方式储存在一起、 能与多个用户共享、 具有尽可能小的冗余度、与应用程序彼此独立的数据集合
数据库的类型
关系型数据库
特点: 关系型数据库典型的数据结构是表. 由二维表之间的联系所组成的一个数据组织, 支持事物一致特性
优点:
- 易于维护, 都是表结构, 格式一致
- 使用方便: SQL语言通用
- 复杂操作: 支持SQL, 可用于一个表以及多个表之间非常复杂的查询
缺点:
- 性能差: 读写性能差, 尤其是海量的高效率读写, 传统关系型数据库来说, 硬盘I/O是一个很大的瓶颈
- 存储方式不灵活: 固定的表结构, 灵活度稍次
代表产品:
- Oracle
- mysql
- PostgreSql
- DB2
- Microsoft SQL Server
- Microsoft Access
非关系型数据库
特点: 非关系型数据库严格上不是一种数据库, 应该是一种数据结构化存储方法的集合, 可以是文档或者键值对等. 不支持事务一致性.
优点:
- 格式灵活: 存储数据的格式可以是key-value形式, 文档形式, 图片形式等等
- 高扩展性: 基于键值对, 数据没有耦合性, 容易扩展
- 速度快, 无需经过sql层的解析, 读写性能更高
缺点:
- 不支持sql: 不提供sql支持, 学习和使用成本较高
- 不支持事务: 无事务处理能力
- 不支持复杂查询: 数据结构相对复杂, 复杂查询方面稍次
代表产品:
- Redis
- Mongodb
- Big Table
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版本标识对云计算的支持