在一个数据库中可以有多个应用的数据表,这些不合应用的表可以放在不合的schema之中,
' s' C. z7 I' C; t: z
/ s2 a! V, `8 H5 c; X 同时,每一个schema对应一个用户,不合的应用可以以不合的用户毗连数据库,* F2 H& _* v* z5 T9 Y7 k# D7 w0 B
& }% U& h1 ~& m4 D7 o3 K % Y( t9 d! w2 c h, b+ N
这样,一个大数据库就可以按照应用把其表分隔来打点。
$ d" e7 G( r: ], P9 s4 w/ I
, F7 p+ k! b. H$ u$ n" f9 d 不合的schema之间它们没有直接的关系,不合的shcema之间的表可以同名,& j* d% a: X; N1 g1 S
也可以互相引用(但必需有权限),在没有操作此外schema的操作根权下,# U8 { R* r8 B) ]4 g
$ w1 z3 c- d5 z4 S; ]9 n 每个用户只能操作它自己的schema下的所有的表。不合的schema下的同名的表,6 F' N7 w: R' f
& ?4 }9 K6 j5 X( o W
可以存入不合的数据(即schema用户自己的数据)。
9 F4 W* A+ T& N% ~ Oracle里schema几乎和user/用户是通用的。schema是指一组数据库object
. L M. p8 s7 f G+ B C4 h+ F; `4 l/ N: v' z* x* d1 Q
(好比:表,视图,包,序列,等等),而这些object是属于用户的,
r! g+ G2 ^, b! {4 s
$ T3 {8 O3 T$ Y! v u" d$ t: Y 属于一个用户的所有object就叫schema.
$ g( `: q0 j4 |6 K, P! w$ i
5 i9 I& h8 u1 E5 T- S | 如不美不美观你使用Oracle的企业打点器Enterprise Manager,你会发现琅缗缦沔的用户就叫schema.
1 s& ?* [7 X, q# x: [+ H- h & f& m# _. R2 Y$ P' k2 w
Schema 中辞意思是 方案。 "方案"只是 Oracle 一个分类,不合用户有不合的方案。
( l6 e, Q! k7 O$ a2 I ) S1 T# G) J2 r3 R
拿 DBA Studio 来说吧,在左边分了四大类:(例程,存储,安然,方案)4 D7 d+ U6 q C* `( l( |5 v. j
; ` @3 v. a) A/ w! g6 A
; y( `8 r% [9 o* M0 W( `2 @5 J
例程: 是打点库的启动…之类的。 www.2cto.com
5 L6 F' ?2 G, }" f8 X " \3 ]% ?, w+ ~
; W$ d* t7 j; @) I
存储: 打点表空间,数据文件之类。& i" h. N; D. _8 |
安然: 就是打点用户(密码,表空间分配…)
/ T& {. g. J( {5 I 5 @ h ?! i' ?; Q( w. B
/ i8 A& u7 X% H j& y( |! \& v
方案: 有(表,视图,存储过程…),不合用户有不合的案。2 c+ W) E0 O& k2 \
! f; i8 A5 V1 @! M 如: 在"方案"->选你的"用户名"之后,才会呈现用户名相关的表。
t/ p9 d$ h$ @& }7 q9 w: h# q4 q . r* g/ N8 T& v% v
----------------------------两个不等闲理解的概念──user和schema
% e% C+ ^( U( R2 S* L1 F+ b user是节制权限的,而schema则是一个容器,非所有者如不美不美观需要访谒这个容器下的对象 |