最近在学习达梦数据库时对达梦的模式概念有些模糊,所以将它和Oracle的进行了对比。
一、Oracle数据库关于模式、用户等概念的分析
Oracle数据库是我行一直使用的数据库,相对来说schema的概念比较清晰。先用官方解释来阐述下,在来讲讲我的理解。
原文:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.
大意:模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。(把数据库对象用模式分开成不同的逻辑结构)。
schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links等。
在我的理解中,schema的个数和名字都和user相同,但是schema和user的创建时间是不同的。schema是不能通过创建得到的,默认是在创建用户的时候自动生成的,在创建一个用户的同时为这个用户创建一个与用户名同名的schema并作为该用户的缺省 schema。一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该 表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的schema名。比如我们在访问数据库时,访问scott用户下的emp表,通过 select * from emp; 其实,这sql语句的完整写