在一个数据库中可以有多个应用的数据表,这些不合应用的表可以放在不合的schema之中,
2 ]6 n; W: L5 q. D# r- L 3 _! m, U0 y: Y2 M6 l! y ?
同时,每一个schema对应一个用户,不合的应用可以以不合的用户毗连数据库,! Q+ V# m4 r. d* v0 @
3 S- q) R( j4 ~5 i( u % l5 P: e# c' B1 O! }0 i% I' k
这样,一个大数据库就可以按照应用把其表分隔来打点。
) e' P) q$ j! v7 t+ { K0 v ( E+ p& }: H7 C& W5 N
不合的schema之间它们没有直接的关系,不合的shcema之间的表可以同名,# k/ ~' T/ I1 L+ V) R7 J' ]
也可以互相引用(但必需有权限),在没有操作此外schema的操作根权下,
/ C) B! N/ N/ L- \' ` ; J) A5 ^7 _4 V+ T0 W0 D6 J( B% x
每个用户只能操作它自己的schema下的所有的表。不合的schema下的同名的表,
1 s# F7 @/ T. k" h5 c % J0 o" f6 v& d
可以存入不合的数据(即schema用户自己的数据)。3 G6 t" p! H2 l' O" t# W: l
Oracle里schema几乎和user/用户是通用的。schema是指一组数据库object" J( s/ r2 ~; i
3 }5 Y& E# Y, `* c+ D
(好比:表,视图,包,序列,等等),而这些object是属于用户的,
' S# y: x. n% H4 U: S4 A" x# E
; V* L" {1 l$ _& n( A 属于一个用户的所有object就叫schema.
' O. `- n4 v& p+ `& }- w
V% a6 @+ Y* _7 a( Y 如不美不美观你使用Oracle的企业打点器Enterprise Manager,你会发现琅缗缦沔的用户就叫schema.$ y6 \4 P' @: @$ S/ C' [ h
* X, @( `5 n3 w+ S3 |- N Schema 中辞意思是 方案。 "方案"只是 Oracle 一个分类,不合用户有不合的方案。
' H F4 X2 D( e$ p$ J 9 i6 A* P* `6 _. |6 S7 M
拿 DBA Studio 来说吧,在左边分了四大类:(例程,存储,安然,方案)
3 I4 z" q4 a! z. z) ^
. S2 \2 H" P, t! Z2 O& W( r% W) _
2 `) N7 v2 l' [% }2 ^ 例程: 是打点库的启动…之类的。 www.2cto.com
4 |' Z" ^8 e. X& P6 }* M( w 3 ^6 b% H, I( R8 N
9 C) u/ o/ c: x$ H' |) b; k 存储: 打点表空间,数据文件之类。6 \6 E6 S2 |( h' q# M4 p: f
安然: 就是打点用户(密码,表空间分配…): ]8 }& D J& U1 z1 s8 Q( w7 `
9 \: `1 p4 }! ?% `4 u0 h
9 D" ^ P+ w& p5 ^2 s7 ~; N P/ e
方案: 有(表,视图,存储过程…),不合用户有不合的案。- z) t, f1 p- z/ s1 }: s j
* d) r" x( l. J% ~, B
如: 在"方案"->选你的"用户名"之后,才会呈现用户名相关的表。
) j/ [+ m; E, {% y; w$ ], f- I1 | , H8 f2 S* J0 h; c! A
----------------------------两个不等闲理解的概念──user和schema% H6 J: n* ~. N; c" f; ?7 I9 [9 ]
user是节制权限的,而schema则是一个容器,非所有者如不美不美观需要访谒这个容器下的对象 |