6. oracle学习入门系列之六 模式
来源:互联网 发布:数据安全保密责任书 编辑:程序博客网 时间:2024/05/12 04:40
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概念了么?)
这篇笔记甚是舒服,下篇见。
- 6. oracle学习入门系列之六 模式
- 4. oracle学习入门系列之四 oracle数据库简介
- 设计模式系列之六:策略模式
- 设计模式系列之六命令模式
- 设计模式系列之六:代理模式
- 学习Gtkmm系列之六
- 2. oracle学习入门系列之二 数据库基础知识
- java设计模式学习系列之六:Observer, 观察者模式---小例
- oracle学习记录之六
- 【Hadoop入门学习系列之六】HBase基本架构、编程模型和应用案例
- 损失函数减肥用_神经网络调权重(深度学习入门系列之六)
- 损失函数减肥用,神经网络调权重(深度学习入门系列之六)
- android Fragment系列学习笔记之六
- Android学习系列之(六)Fragment初涉
- C++11系列学习之六-----for
- 设计模式学习系列六:组合模式(composite)
- php设计模式学习系列(六)--建造者模式
- oracle学习笔记之六 子查询
- oc中的copy的深浅拷贝
- 面试笔试
- mysql触发器的作用及语法
- [Servlet]Servlet的生命周期
- 【矩阵与行列式】矩阵和行列式学习笔记
- 6. oracle学习入门系列之六 模式
- securitytube视频列表
- org.json.JSONException: No value for xxx
- String、StringBuilder、 StringBuffer 深入分析 源码解析
- LCD驱动(FrameBuffer)实例开发讲解
- js 变量类型、相互转换
- Python模拟登陆
- mysql查询安装目录与安装mysql时候如果遇到什么public key not installed 问题解决方案。
- wcout输出时显示不了中文