欢迎投稿

今日深度:

oracle学习入门系列之六模式

oracle学习入门系列之六模式


oracle学习入门系列之六

模式

上篇咱们学习记录了ORACLE数据库中的数据库结构、内存结构和进程等,篇幅 蛤蟆感觉偏多了。这次要休整下,每次笔记不宜太多,不然与书籍有何区别。我们要保证的是每次做记录都能所有收获所有提升。

上次中我们从总体上把握了下ORACLE系统结构,这次开始我们将涉及到ORACLE数据库的具体方方面面了。本次就从模式对象入手。

老规矩,先来两个问题:

a) 什么事模式

b) 为什么需要

搞清楚这两个问题即可。

本人邮箱:appdevzw@163.com

微信公众号:HopToad

欢迎各界交流

1 模式schema

在学模式对象前,必须先讲下用户的概念。

我们知道在创建数据库的时候会让我输入SYS用户和SYSTEM用户的密码,这两个用户是系统管理员。这两个账户由于权力很大,所以一般创建完数据库后,都会自己再创建一些用户,如: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 为什么需要模式

很多事情我不光光要知道概念是什么,也要知道为什么需要它。这样我们会记得更牢,并产生兴趣,也会促使我们做出改变和创新。

为什么需要模式呢,我们知道用户是需要密码才能登陆的,而模式和用户是一一对应的,那么对了,这个是处于安全考虑的。

想想用户小明有个表叫做工资,小红也有个表叫做工资;他们的表各自属于他们自己的schema. 如果小明没有访问小红schema的权限,那么小明是不能看到小红的工资表的,小红也同理。此处我们需要知道访问其他模式是需要权限的。

除了安全之外,还有一个方面就是整体管理方面。如果没有schema,小红有一个工资表,小明一个工资表,明天来了个小刚也一个工资表那不是乱套了么。有个schema,那就方便了,小红的工资表属于小红这个schema。(如果你说他们的工资表分别属于他们各自的用户啊,这样辩也没错,不过你这个想法提炼一下不就是schema概念了么?)

这篇笔记甚是舒服,下篇见。

www.htsjk.Com true http://www.htsjk.com/oracle/23416.html NewsArticle oracle学习入门系列之六模式 oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构、内存结构和进程等,篇幅 蛤蟆感觉偏多了。这次要休整下,每次笔记不宜太多...
评论暂时关闭