Oracle学习(一)
1、数据库介绍#
1.1数据库定义#
所谓的数据库其实就是数据的集合。用户可以对集合中的数据进行新增、查询、更新、删除等操作。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
1.2数据库类型#
1.2.1关系型数据库#
1.2.1.1定义
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致特性。
1.2.1.2优缺点
优点:
- 易于维护:都是使用表结构,格式一致;
- 使用方便:SQL语言通用;
- 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
缺点:
- 性能差:读写性能比较差,尤其是海量数据的高效率读写,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
- 存储方式不灵活:固定的表结构,灵活度稍欠;
常见的关系型数据库有:
Oracle、MySQL、PostgreSQL、DB2、Microsoft SQL Server、Microsoft Access
1.2.2非关系型数据库#
1.2.2.1定义
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。不支持事务一致特性。
1.2.2.2优缺点
优点:
- 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等;
- 高扩展性:基于键值对,数据没有耦合性,容易扩展;
- 速度快:无需经过sql层的解析,读写性能很高;
缺点:
- 不支持SQL:不提供sql支持,学习和使用成本较高;
- 不支持事务:无事务处理能力;
- 不支持复杂查询:数据结构相对复杂,复杂查询方面稍欠;
常见的非关系型数据库有:
Redis、Mongodb、BigTable
2、Oracle数据库介绍#
2.1Oracle数据库构成#
所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle数据库其实就是一组文件的集合。Oracle数据库分别由:数据文件、控制文件、日志文件所构成。
2.1.1数据文件(.DBF)#
数据文件是一个二进制文件,是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件。Oracle在创建表空间的同时会创建数据文件。
2.1.2控制文件(.CTL)#
控制文件是一个二进制文件,它主要记录数据库的名称、数据库的数据文件存放位置等信息。一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。(配置文件)
2.1.3日志文件(.LOG)#
日志文件在Oracle数据库中分为重做日志(Redo Log File)文件和归档日志文件两种。重做日志文件是Oracle数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库操作过程。用于备份和还原数据库,以达到数据库的最新状态。
重做日志(Redo Log File):对数据库操作的记录,用于出现问题时的回滚。详见:https://blog.csdn.net/sunansheng/article/details/51918724
归档日志:重做日志的重新归档,持久化到成固定的文件到硬盘,便于以后的恢复和查询。当然,前提条件是数据库要处于归档模式。
Oracle 11g默认是为归档日志设定2个归档位置,这2个归档位置的的归档日志的内容完全一致,但文件名不同。
2.2Oracle实例#
实例就是数据库启动后分配的内存和建立的后台进程.数据库关闭后,物理上的文件还存在,但实例(分配的内存和建立的进程)就没有了。
2.2.1Oracle实例与数据库的关系#
实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。
在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作。
2.3Oracle数据库版本说明#
Oracle 8i、Oracle 9i、Oracle 10g、Oracle 11g、Oracle 12c ......
- I:代表Internet。8i版本开启对Internet的支持。所以,在版本号之后,添加了标识i
- G:代表Grid网格。10g加入了网格计算的功能,因此版本号之后的标识使用了字母g
- C:代表云(cloud)计算设计。12c版本表示对云计算的支持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构