一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
表空间与用户的关系
创建用户时,一个用户只能指明一个表空间。多个用户可以指明同一个表空间。是1:N
访问时表空间时,对用户授权即可访问。是N:N
表空间
创建表空间会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间;
一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。
oracle中用户的所有数据都是存放在表空间中的
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)
表空间建立在1个或多个数据文件上;
不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。
用户
创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;
一个用户有一个默认空间
多个用户可以共用一个默认空间
1)、同一个数据库用例中,用户名是不能重复的
2)、不同用户中可以创建同名的表
3)、表空间创建后需要创建用户后才能使用,因为任何数据库对象都需要建立在一个数据用户上
4)、连接dba权限的用户可以直接访问其他用户的数据库对象,否则需要相关用户授权
5)、访问其他用户的数据库对象是时需要加上对象所属用户的用户名
oracle是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表
推荐教学:《Oracle视频教学》