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概念了么?)

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

6. oracle学习入门系列之六 模式的更多相关文章

  1. [转]oracle学习入门系列之五内存结构、数据库结构、进程

    原文地址:http://www.2cto.com/database/201505/399285.html 1 Oracle数据库结构 关于这个话题,网上一搜绝对一大把,更别提书籍上出现的了,还有很多大 ...

  2. 7.oracle学习门户系列七---网络管理和配置

    oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上 ...

  3. OPEN(SAP) UI5 学习入门系列之四:更好的入门系列-官方Walkthrough

    好久没有更新了,实在不知道应该写一些什么内容,因为作为入门系列,实际上应该更多的是操作而不是理论,而在UI5 SDK中的EXPLORER里面有着各种控件的用法,所以在这里也没有必要再来一遍,还是看官方 ...

  4. OPEN(SAP) UI5 学习入门系列之一:扫盲与热身(下)

    1 UI5代码结构 上一次我们一起用了20秒的时间完成一个UI5版的Hello World.应用打开后有一个按钮,按钮的文字是Hello World,点击这个按钮之后,按钮会慢慢的消失掉(Fade o ...

  5. oracle学习笔记(1)-三级模式SCHEMA

    oracle三级模式及二级映像 模式(schema)是数据库的一个名词,大部分的数据库在结构上都有三级模式的特征,了解下基本的概念,有助于后续深入的学习. 用老罗坚果pro发布会的话说就是,不罗嗦,先 ...

  6. OPEN(SAP) UI5 学习入门系列之三:MVC (上) - 模型

    这次我们来一起学习MVC,这个专题分为两个小节,本次主要是总览以及模型,下一次着重会介绍视图以及控制器,因为控制器其实没有太多可以讲的,所以和视图合并在一块. 1 Model View Control ...

  7. OPEN(SAP) UI5 学习入门系列之二: 最佳实践练习(上)

    这篇博文难产了很久,原来是打算一周更新一篇的,上周原计划写MVC,但是写了一半,发现带入了太多的细节,不太符合这个入门系列的主题. 当我们学习一个新的技能的时候,如果一开始就面对大量的细节,很容易陷入 ...

  8. oracle学习笔记系列------oracle 基本操作之基本函数的用法

    --创建一个accout账户表 CREATE TABLE account( id ) NOT NULL, recommender_id ), login_name ) NOT NULL, login_ ...

  9. Oracle Essbase入门系列(二)

    本篇开始会一个三口之家的家庭财务数据库为例,讲述Essbase的功能和开发.为了说明EPM应用程序的管理和开发过程,会绕一些弯路,不使用EAS,而尽量用EPMA. 创建应用程序 首先登陆到Worksp ...

随机推荐

  1. [洛谷P3932]浮游大陆的68号岛

    题目大意:有一行物品,每两个物品之间有一个距离.每个物品有一个价值.现在问你若干问题,每个问题问你把l~r所有物品全部搬到物品x处需要多少价值. 把物品a搬到物品b处的价值为物品a的价值乘a到b的距离 ...

  2. CF245H Queries for Number of Palindromes(回文树)

    题意翻译 题目描述 给你一个字符串s由小写字母组成,有q组询问,每组询问给你两个数,l和r,问在字符串区间l到r的字串中,包含多少回文串. 输入格式 第1行,给出s,s的长度小于5000 第2行给出q ...

  3. CRC校验原理及步骤

    什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并 ...

  4. Spring Cloud学习笔记【九】配置中心Spring Cloud Config

    Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分.其中服务端 ...

  5. Java中发送http的get、post请求

    近期做项目中,须要把消息通过中间件的形式通过http请求的方式推送给第三方,因此用到了http协议,小编花费了一个多小时.对于http协议中的post和get请求,封装了一个工具类.以下与大家分享一下 ...

  6. 换主页轮播的主题图片(4、删除)---轻开电子商务系统(企业入门级B2C站点)

    接(  换主页轮播的主题图片1 ) 文件:site/links/img0.html中的表单(第11行最后一个td) <td><if x="@{sys:canDo}" ...

  7. vue18 动画

    <!-- bower-> (前端)包管理器 npm install bower -g 验证: bower --version bower install <包名> bower ...

  8. word中添加Mathtype公式行间距改变问题

    转载链接:http://blog.sciencenet.cn/home.php?mod=space&uid=471807&do=blog&id=616838 最近碰到在word ...

  9. Server.UrlEncode与HttpUtility.UrlEncode的区别

    一.HttpUtility.UrlEncode 方法 1.public static string UrlEncode(byte[]) 将字节数组转换为已编码的 URL 字符串. 2.public s ...

  10. <QT障碍之路>QApplication:No such file or directory

    原因:QT5将很多部件都移动了QT widgets模块中. 解决方法: 在.pro文件中添加 greaterThan(QT_MAJOR_VERSION, ): QT += widgets