oracle三级模式及二级映像

  模式(schema)是数据库的一个名词,大部分的数据库在结构上都有三级模式的特征,了解下基本的概念,有助于后续深入的学习。

  用老罗坚果pro发布会的话说就是,不罗嗦,先上图。

      (图片来源于oracle-从入门到精(放)通(弃))

  三级模式的名称,分别为外模式(也叫子模式/用户模式),概念模式(也叫模式)和内模式(也叫存储模式)。

  从图上可以看出,数据库的外模式可以有多个,模式和内模式都只有一个。

  简单的理解总结:

  概念模式:oracle数据库全局逻辑结构,类似于设计方式;

  外模式:对应用户的对象,如表,索引等;

  内模式:对应存储结构,如如逻辑存储结构(表空间、区、段、块等)、物理存储结构(数据文件、控制文件、重做日志文件、初始化参数文件、配置文件等)。

概念模式(模式)

  概念模式是对oracle数据库的整体逻辑结构的一种抽象描述,不涉及具体的硬件和软件环境。

  概念模式主要描述数据的概念记录类型及其关系,还包含数据间的一些语义约束,对它的描述可以用DBMS中的DDL定义。----引自《oracle从入门到精通》

外模式

  这个就是经常用到的了,或者经常和用户打交道的模式。一般一个用户对应一个外模式。

  可以把外模式简单的理解为一个逻辑容器,存放的内容为对象的集合,这里边的对象,就是可以和用户打交道的各种数据库对象,比如表,索引,表分区/视图等等。

如何创建外模式schema

  创建数据库用户就可以了,创建完成后,会默认生成以用户名命名的schema。数据库安装的时候,会默认创建sys和system用户,因此也会有sys和system的schema。

  比如创建一个数据库用户invokerr,创建完成后,也就随之创建了一个缺省的schema,schema名字也为invokerr,invokerr可以看作是这个逻辑分区的管理员,访问本schema内的对象,如select * from user,可以不用添加schema名,相当于select * from invokerr.user。

  要访问其他schema的对象,就需要添加所属了,比如select * from scott.emp。

  oracle对象完整名称为schema.object,而不是user.object,只不过schema名和user名是相同的。scott(schema).emp(table)。

  DBMS提供子模式数据描述语言(子模式DDL)来严格定义子模式。----引自《oracle从入门到精通》

内模式

  也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密)。数据库只有一个内模式。

二级映像

  映像就是一种对应关系,oracle的二级映像实际上是三种模式之间的转换关系。

  二级映像分别为外模式/模式,模式/内模式映像,作用就是在有一方发生改变后,通过改变映像,使另一方不必发生变化。

外模式/模式

  保证数据与程序的逻辑独立性。

  由于程序是依据外模式编写,在模式发生改变时,通过改变映像,外模式可以不用变化,这样程序也就不用改动。

模式/内模式

  保证数据与程序的物理独立性。

  内模式发生变化,可以改变映像,保证模式不变,这样外模式和程序也就不用发生变化。

oracle学习笔记(1)-三级模式SCHEMA的更多相关文章

  1. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

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

    oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...

  3. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  4. thinkphp学习笔记6—url模式

    原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...

  5. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  6. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  7. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  8. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  9. XML学习笔记(三) -- Schema

    标签(空格分隔): 学习笔记 Schema的格式 XML Schema文档是由元素.属性.命名空间和XML文档中的其他节点构成的. XML Schema有两种重要的Schema模型:Microsoft ...

随机推荐

  1. Python进阶之装饰器

    函数也是对象 要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用.既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一 ...

  2. CSS3特效----制作立体导航栏菜单

    使用CSS3实现下图的导航菜单效果 <!doctype html> <html lang="en"> <head> <meta chars ...

  3. js-获取两个字符串日期的相隔周

    例如说"2017-04-01 23:00:00"是周六, "2017-04-28 23:00:00"是周五,包含各自所在的那一周,我真正需要获得的结果是5个周. ...

  4. jQuery选择器---基本选择器总结

    今天要跟大家分享一下jQuery选择器的使用方法,它的选择器分为四大类 如图: 基本选择器的使用: 1.id选择器 案例: <div id="notMe"><p& ...

  5. Excel表格导入Mysql数据库,一行存入多条数据的前后台完整实现思路(使用mybatis框架)

    现在有一张Excel表格: 存入数据库时需要这样存放: 现在需要将Excel表格做处理,将每一行拆分成多条数据存入数据库. 1.首先在前台jsp页面画一个按钮:,加入点击事件: <td styl ...

  6. TCP三次握手(建立连接)/四次挥手(关闭连接)

    TCP数据包格式 顺序号(32位):用来标识从TCP源端向TCP目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号.如果将字节流看作在两个应用程序间的单向流动,则TCP用顺序号对每个 ...

  7. 第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)

    前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给 ...

  8. 使用Fiddler进行http抓包和调试

    本文目录 : Fiddler的工作原理 Fiddler的常用操作 支持https解密分析 Fiddler的断点调试 本文小结 参考文献 俗话说:工欲善其事,必先利其器. Fiddler是windows ...

  9. LR11 scan correlation 卡死解决方案

    LR11 scan correlation 卡死解决方案 笔者在录制脚本时是勾选Enable correlation during recording的,导致后续每次脚本回放都会弹出scan corr ...

  10. java虚拟机学习-JVM调优总结-调优方法(12)

    JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.详细说明参考这里 ...