oracle学习笔记(1)-三级模式SCHEMA
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的更多相关文章
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- 6. oracle学习入门系列之六 模式
oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- thinkphp学习笔记6—url模式
原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写 ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- XML学习笔记(三) -- Schema
标签(空格分隔): 学习笔记 Schema的格式 XML Schema文档是由元素.属性.命名空间和XML文档中的其他节点构成的. XML Schema有两种重要的Schema模型:Microsoft ...
随机推荐
- DCalendar增加月份选择功能--简单jQuery日期选择器插件改动
做时间插件的时候,很多都会遇到要做选择月份的插件,但是DCalendar提供的api只支持日期选择,最近遇到这个问题,所以调整了一下源码,话不多说,先看效果吧 点击日期插件,出现上图,再点击月份就直接 ...
- java局部/成员/静态/实例变量
局部变量和成员变量主要是他们作用域的区别成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定 ...
- BM25和Lucene Default Similarity比较 (原文标题:BM25 vs Lucene Default Similarity)
原文链接: https://www.elastic.co/blog/found-bm-vs-lucene-default-similarity 原文 By Konrad Beiske 翻译 By 高家 ...
- [刷题]算法竞赛入门经典(第2版) 5-14/UVa1598 - Exchange
题意:模拟买卖,当出售价bid等于或低于出售价ask,则交易. 代码:(Accepted,0.330s) //UVa1598 - Exchange //Accepted 0.330s //#defin ...
- KafKa介绍(分布式架构)
介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以to ...
- Java线程安全性中的对象发布和逸出
发布(Publish)和逸出(Escape)这两个概念倒是第一次听说,不过它在实际当中却十分常见,这和Java并发编程的线程安全性就很大的关系. 什么是发布?简单来说就是提供一个对象的引用给作用域之外 ...
- Samba文件共享服务
Samba起源: 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序:NFS ...
- bootstrap学习笔记之基础导航条 http://www.imooc.com/code/3111
基础导航条 在Bootstrap框中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多.我们先来看导航条中最基础的一个--基础导航条. 使用方法: 在制作一个基础导航条时,主要分 ...
- JTable常见用法细则+设置某列可编辑+滚动表格
JTable常见用法细则 JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处. 一.创建表格控件的各种方式: 1) 调用无参构造函数. JTa ...
- Linux如何安装VMware Tools
第一步:安装VMware Tools 桌面上会出现一个光盘,并且会弹出一个框框,里面是VMware Tools的安装包,将其拖到桌面上 就像下面这样 进入终端,将文件拷贝到/tmp目录下面,并解压(也 ...