这是一篇纯概念文, 主要是我初学 oracle 的一些基本概念, 阅读需要 3 分钟
oracle 数据库
oracle 数据库可以分为两部分:
1.oracle 数据库;
2.数据库实例
oracle 数据库:一系列物理文件的集合(数据文件、控制文件、联机日志、参数文件等)
数据库实例:一组 oracle 后台进程/线程以及在服务器分配的共享内存区。
通常我们连接数据库时, 需要知道的 SID 就是数据库的实例, 我们通过连接到这个实例来对数据库进行操作。
表空间
简单来说表空间就是 oracle 数据库的一部分空间, oracle 数据库可以拥有多个表空间, 每个表空间内可以存放许多数据库实体,例如表、视图、索引等。
那么你可能会有疑问, 为什么数据库要划分出不同的表空间?
举个例子来说, 在实际应用中, 有很多产品是共用一个数据库的, 但是为了避免当某个产品数据库操作, 影响到其他产品。我们需要将各个产品的数据表独立开, 这时候就可以为每个产品指定一个表空间, 将不同的产品所用的数据表放入不同的表空间中, 避免了其他产品操作数据表造成的影响。而且一个数据库内存放多个产品的信息, 整个数据库的数据量会非常的庞大, 从而影响了产品的性能(对只有一条数据的数据表进行查询和有一万条数据的数据表进行查询, 所消耗的时间是不同的)。因此将数据库划分到不同的表空间时, 操作数据库时默认只在指定的表空间中进行。也提高了数据库整体的性能。
用户
要进行数据库操作, 就需要用户。用户才能对存放在表空间的数据表进行操作。每个用户都会指定一个默认的表空间, 当用户进行数据库操作时, 不指明表空间的时候, 就会在默认表空间中进行操作。
表和视图
表是真实存在的结构, 当在数据库中进行增删改的数据操作时,实际上都是对表进行操作。
视图只是存储的一个 sql 语句, 当查看视图的时候, 只不过是运行了视图上的 sql 语句而已。视图本身不进行数据存储。
领取专属 10元无门槛券
私享最新 技术干货