6. oracle学习入门系列之六 模式

时间:2023-10-05 09:46:26

oracle学习入门系列之六

模式

上篇咱们学习记录了ORACLE数据库中的数据库结构、内存结构和进程等。篇幅 蛤蟆感觉偏多了。这次要休整下,每次笔记不宜太多,不然与书籍有何差别。

我们要保证的是每次做记录都能全部收获全部提升。

上次中我们从整体上把握了下ORACLE系统结构,这次開始我们将涉及到ORACLE数据库的详细方方面面了。

本次就从模式对象入手。

老规矩。先来两个问题:

a)        什么事模式

b)       为什么须要

搞清楚这两个问题就可以。

本人邮箱:appdevzw@163.com

微信公众号: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概念了么?)

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