oracle学习入门系列之六
模式
上篇咱们学习记录了ORACLE数据库中的数据库结构、内存结构和进程等。篇幅 蛤蟆感觉偏多了。这次要休整下,每次笔记不宜太多,不然与书籍有何差别。
我们要保证的是每次做记录都能全部收获全部提升。
上次中我们从整体上把握了下ORACLE系统结构,这次開始我们将涉及到ORACLE数据库的详细方方面面了。
本次就从模式对象入手。
老规矩。先来两个问题:
a) 什么事模式
b) 为什么须要
搞清楚这两个问题就可以。
本人邮箱:[email protected]
微信公众号:HopToad
欢迎各界交流
1 模式schema
在学模式对象前,必须先讲下用户的概念。
我们知道在创建数据库的时候会让我输入SYS用户和SYSTEM用户的password,这两个用户是系统管理员。
这两个账户因为权力非常大,所以一般创建完数据库后,都会自己再创建一些用户,如:xiaoming,xiaohong,xiaogang等等。这些我们创建的就是用户,那和模式是什么关系呢?
模式的定义是这种,模式,schema,是指属于特定用户的数据库对象集合。
So,这个定义来看模式的定义是基于用户之上的,没实用户就没有模式之说。只是。非常多ORACLE技术人员都会将用户和模式替换,虽然他们是不同的事物。
一般实际情况是这种。当我们部署数据库应用的时候,要用到非常多的对象,如表、索引、触发器、约束等等,而这些对象最后是要归属给某个用户的。比方xiaoming。那么我们就拥有一个叫做xiaoming 的模式也叫schema. 模式是个逻辑结构。
ORACLE在创建一个用户的同一时候会创建一个同名的模式。所以schema和用户是一一相应的。
我们在訪问数据库的时候有时候须要指定訪问那个schema,比方select * from scott.emp;
这个就是訪问scott模式中的emp表,假设不加scott,模式就是訪问用户缺省模式的schema了。
这就是oracle的用户和模式,user 和 schema.
最终搞明确了什么是schema,那我们来说说为什么须要schema。
继续往下走。
2 为什么须要模式
非常多事情我不光光要知道概念是什么,也要知道为什么须要它。
这样我们会记得更牢。并产生兴趣。也会促使我们做出改变和创新。
为什么须要模式呢,我们知道用户是须要password才干登陆的,而模式和用户是一一相应的,那么对了,这个是处于安全考虑的。
想想用户小明有个表叫做工资,小红也有个表叫做工资;他们的表各自属于他们自己的schema. 假设小明没有訪问小红schema的权限。那么小明是不能看到小红的工资表的,小红也同理。此处我们须要知道訪问其它模式是须要权限的。
除了安全之外,另一个方面就是总体管理方面。
假设没有schema,小红有一个工资表。小明一个工资表,明天来了个小刚也一个工资表那不是乱套了么。
有个schema,那就方便了,小红的工资表属于小红这个schema。(假设你说他们的工资表分别属于他们各自的用户啊,这样辩也没错,只是你这个想法提炼一下不就是schema概念了么?)
这篇笔记甚是舒服,下篇见。