在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,
m# O% m0 a: a$ {6 M" z2 d
, l1 R" h8 E2 m7 q0 O) y r 同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,0 a$ S) J6 C8 e/ f' x
6 m; B0 \$ X5 c6 w, a1 q; {- x, V* {
这样,一个大数据库就可以根据应用把其表分开来管理。+ Q. [1 }- g; H
Y( Q( O% Y* _6 {9 \3 ]$ T: M" g 不同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,( K& O3 |) a `7 y' ]7 X
9 E5 x4 x `& e. x4 Z2 l1 _ 也可以互相引用(但必须有权限),在没有操作别的schema的操作根权下,
( ?8 o+ J. A8 o( V2 g6 C ! q1 b, ~# Z' S% e8 ?1 N+ y' U
每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,
* v! W1 D; ~% c9 Q: V
; j3 H8 n& A& H' I5 g* B 可以存入不同的数据(即schema用户自己的数据)。
/ j7 c8 a# H, o0 L- d) Y
: y8 D: `+ z# k Oracle里schema几乎和user/用户是通用的。schema是指一组数据库object |