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. 使用glPushMatrix和glPopMatrix的原因

    转自 百度百科   glPushMatrix 函数将当前矩阵堆栈推送,通过一个,复制当前矩阵. 这就是后 glPushMatrix 的调用堆栈的顶部矩阵是它下面的相同的.   1. 原理讲解 终于明白 ...

  2. 百度LBS开放平台个性化地图 制作一款独一无二的地图

    百度LBS开放平台个性化地图  制作一款独一无二的地图 天天用百度地图的亲们是否已不再满足仅仅看例如以下的地图样式了呢? 默认百度地图样式 是否特别渴望看特别不一样的地图呢.如带京城81号气息的午夜蓝 ...

  3. 英语影视台词---三、Cinema Paradiso

    英语影视台词---三.Cinema Paradiso 一.总结 一句话总结:天堂电影院 1.Alfredo: No, Toto. Nobody said it. This time it's all ...

  4. 如何搭建Eclipse +Apache Tomcat配置Java开发环境

    Linux平台下如何搭建Eclipse +Apache Tomcat配置的Java开发环境 本文出自 "李晨光原创技术博客" 博客,请务必保留此出处http://chenguang ...

  5. Android 仿QQ首页的消息和电话的切换,首页的头部(完全用布局控制)

    Android 仿QQ首页的消息和电话的切换,首页的头部(完全用布局控制) 首先贴上七个控制布局代码 1.title_text_sel.xml 字体颜色的切换 放到color文件夹下面 <?xm ...

  6. Tomcat部署项目修改浏览器上猫咪头像

    一.发现问题用tomcat部署项目,在浏览器标签也上发现了tomcat猫咪图.要把这个图修改掉. 二.解决问题apache-tomcat-5.5.28\webapps\ROOT下的ico文件,将需要替 ...

  7. Codefroces 731C. Socks

    C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  8. 如何在 Linux 上安装应用程序

    如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...

  9. Python excel 功能扩展库 ——> openpyxl 的基本使用

    说明:本文档内容参考自 https://www.cnblogs.com/zeke-python-road/p/8986318.html (作者:关关雎鸠`)的文档 from openpyxl impo ...

  10. 【VC++学习笔记五】SDI|MDI的全屏显示

    一.Mainframe中添加一个记录是否全屏状态的变量BOOL m_bFullScreen. 二.工具栏添加一个按钮,进行全屏的操作,响应事件函数写在Mainframe中. 三.在响应函数中,添加如下 ...