数据库的逻辑结构:表空间,段,区和块

数据库的逻辑结构:表空间,段,区和块
数据库由表空间组成,而表空间由段构成,而段又是由区构成,而区又是由oracle块组成的一种结构。 这样可以提高数据库的效率。

表空间:
表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或是多个数据文件组成;
段:通常来书,一个表就是一个段,建立了一个表oracle就会建立一个段
在oracle建立这个段之后,会继续给这个段分配了一个区,所谓区,就是物理上连续的多个块
在建立完之后,oracle才开始往表里面插入数据,插入数据的时候是区里面的块中插入,当然,一个区中的前几个块会被段自己使用,oracle插入数据的时候会找到空块,把数据一行行的写进去,块被写满之后,会自动填充下一个块,让一个区的所有块都被填满之后,oracle会在创建下一个区,然后继续插入数据
区是oracle给段分配空间的最小单位
一般来说,一个块里面有多行记录。

如果说这样理解起来很难的话,可以举一个生活中的案例:比如,我们描述一个人在哪的时候,我们通常是这样描述:张三在河南,而不是说张三在北纬多少多少度。这样我们把张三比作表,数据,河南看做表空间,北纬多少多少度看做数据文件。就很容易理解了,河南由很多坐标点组成。张三在某一个坐标点上,而我们在描述的时候只会说她在河南。其实河南叫什么都可以。坐标点是实际存在的,而河南是一个名字。
同理,我们可以把一个数据库看成中国,中国分为好几个省(表空间),而省又往下分为好多市(段),而市又往下分为好几个县(区),而县往下分好几个乡(块) 这就是数据库的逻辑结构。(你如果说还有村,这就属于杠精了啊)

所以数据库逻辑上是由一个或多个表空间组成,通过表空间可以达到以下作用:
1、控制数据库的占用空间;
2、dba可以将不用的数据类型部署到不同的位置,有利于提高i/o性能,同时利于备份和恢复等管理操作;

建立表空间:
建立表空间一般要dba来完成,其他用户如果想要创建表空间,需要有 create tablespace的系统权限;
语法:

CREATE TABLESPACE Smart_table 
 		DATAFILE 'Ftable.dat' 
		SIZE 4000M REUSE AUTOEXTEND ON NEXT 100M Maxsize Unlimited;

扩展表空间(既增加一个数据文件):

ALTER TABLESPACE Smart_Table 
		ADD DATAFILE 'D:\app\Administrator\product\11.2.0\dbhome_1\database\FTABLE1.DAT' 
		SIZE 5000M AUTOEXTEND  ON NEXT 150M maxsize unlimited

使用表空间:

 create table users (id number(50),name varchar2(30)) tablespace smart_table;

改变表空间的状态:
当建立表空间时,表空间处于联机(online)状态,此时表空间是可以访问的,可以查看修改表空间中的数据。但是在进行数据维护时,可能需要改变表空间的状态,一般由dba来操作;
使表空间脱机(不可访问):

alter tablespace users(表空间名) offline;

使表空间联机:

alter tablespace users online;

使表空间变为只读状态:

alter tablespace users read only;
--改回读写状态
alter tablespace users read write;

查看表空间所拥有的表:

select * from all_tables where tablespace_name = 'users';

查看该表属于哪个表空间:

select tablespace_name ,table_name from user_tables where table_name = '表名';

删除表空间:

drop tablespace '表空间' including contents and datafiles;
--including contents 表示删除表空间时,将删除表空间的所有数据库对象,datafiles表示数据文件也被删除;
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值