schema对象介绍
1、schema对象简介
数据库schema为一组数据结构的逻辑集合,称之为schema对象,schema对象最贱的为表和索引,schema对象由SQL创建和维护。
一个数据库用户拥有一个用户名和各种数据库权限,每个用户属于一个schema,这个schema的名称和用户的名称相同,这个schema包含的数据也就是这个用户所属的schema。例如,hr用户用一个hr的schema,这个schema包含的schema对象例如employee表。在一个生产环境的数据库中,一个schema的拥有者相当于一个数据库应用程序的一个用户。
在一个schema中,每个不同类型的schema对象有一个唯一的名称,例如:hr.employee表示表employee在hr这个schema中。
总结就是:一个用户有一个schema,在这个schema中包含着很多的schema对象,例如表、索引等
2、schema对象的类型:
在一个关系型数据库中,最重要的schema对象就是表,表是用行存储来保存数据
A、indexes(索引)
索引是一个schema对象,包含表中的每个索引列的入口,提供一种快捷的方式找到相关行,
B、partitions(分区)
partitions是一个大表或者一个索引的部分,每个partition有它自己的名称,也可以有它自己的存储特征
C、views(视图)
视图是将几个表或者视图中的数据的一种展现方式,可以当成是存储了一种查询,视图不会真正的存储数据
D、sequences(序列)
序列是由用户创建的对象,用来共享给多个用户生成整数,典型的是,序列可以当做用户主键值
E、dimensions(维度)
一个维度定义了一种父子关系在一对列的集合当中,所有的列必须来源于同一个表
F、synonyms(同义词)
同义词是表示其他schema对象的别名,所以,同义词相当于一个简单的别名,同义词不需要存储除了在数据字段中定义它
G、PL/SQL subprograms and packages
PL/SQL是oracle提供的对SQL的扩展
其他类型的对象同样存储在数据库中,并且由SQL创建和维护,但是不包含在schema之中,这些对象包括:数据库用户、角色、上下文、目录对象
3、schema对象的存储
一些schema对象存储在逻辑存储结构segment上,例如:一个未分区的堆组织的表或者一个索引会占用一个segment,而其他的schema对象,例如视图和序列,仅由一些元数据组成。
oracle数据库将schema对象存在在逻辑对象tablespace之中,要分清楚的是,schema和tablespace之间是没有关系的;一个表空间可以存储来自多个schema中的对象;schema对象也可以存储在不同的表空间中。各个对象的数据在物理上存储在一个或者多个数据文件之中。
一个segment可以跨多个数据文件,多个数据文件必须属于同一个表空间;一个segment不能跨多个表空间,只能包含在一个表空间之内。
4、schema对象的依赖性
一些schema对象引用了其他的对象,从而造成了schema对象的依赖性。例如:一个view中的查询引用了其他的表或者是视图,
查询依赖性的时候,使用下面语句即可:
select object_name,status from user_objects where object_name='object_name'.
状态有valid和invalid。
5、SYS和SYSTEM schema
所有的oracle数据库都有一个缺省的管理账户,管理员账户有最高的权限,并且具有DBA的义务,例如:启动关闭数据库,管理内存和存储,创建和管理数据库用户等
管理员账户SYS是在数据创建的时候自动创建的,这个账户可以管理oracle数据库的所有功能。
SYS schema用来存储数据的基表和数据字典视图,这些基表和视图是oracle数据库最重要的。在SYS schema中的表,只能由数据库自己进行维护,并且不能被任何用户修改。
SYSTEM账户是在数据库创建的时候自动创建的,SYSTEM schema用来存储额外的表和视图来展现管理信息和内部的表和视图用来其他的数据库管理信息。
用来不要使用SYSTEM schema用来存储无关管理员用户的表。
schema对象介绍的更多相关文章
- schema 对象的简单介绍
官方文档链接地址 http://docs.oracle.com/cd/E11882_01/server.112/e40540/tablecls.htm#CNCPT010 Introduction to ...
- ASP.NET Web API 路由对象介绍
ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...
- FastReport报表对象介绍一:“Text”对象
FastReport中文网 http://www.fastreportcn.com/Article/70.html ------------------------------------------ ...
- 三HttpServletResponse对象介绍(1)
转载自http://www.cnblogs.com/xdp-gacl/p/3789624.html Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象 ...
- JavaScript Date对象介绍
原文:JavaScript Date对象介绍 Date 日期和时间对象 1. 介绍 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 2. 构造函数 2.1 new ...
- HttpServletResponse对象介绍
一.HttpServletResponse对象介绍
- Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)
一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...
- MySQL sys Schema 简单介绍-2
之前在<MySQL sys Schema 简单介绍-1>中简单的介绍了,sys Schema库中的表.那么这些表都可以查询些什么信息呢?接下来本文将做下介绍. 1. 表的情况 1.1 统计 ...
- 【重温基础】16.JSON对象介绍
本文是 重温基础 系列文章的第十六篇. 今日感受:静. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1-14篇 [重温基础]15.JS对象介绍 本章节复习的 ...
随机推荐
- VC error LNK2005 解决办法
error LNK2005: "int __cdecl VerifyVMR9(void)" (?VerifyVMR9@@YAHXZ) 解决办法 在 属性->配置属性-> ...
- 2014-9-17二班----9 web project
http://localhost:8080/rwkj1/indexServlet 跳转 http://localhost:8080/rwk ...
- 用于主题检测的临时日志(383b4f88-5dc7-4b08-a585-27104eb4ee7f - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
这是一个未删除的临时日志.请手动删除它.(1e2a0af2-731b-4f82-9aa0-4e2d10ed7a1a - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
- linux 显示当前用户信息
1.w命令 2.who命令 3.who am i 4. users
- Java API —— Map接口
1.Map接口概述 · 将键映射到值的对象 · 一个映射不能包含重复的键 · 每个键最多只能映射到一个值 2.Map接口和Collection接口的 ...
- 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.
The picture above is funny. But for me it is also one of those examples that make me sad about the o ...
- 整理了一份招PHP高级工程师的面试题
1. 基本知识点 HTTP协议中几个状态码的含义:1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 100 (继续) 请求者应当继续提出请求. 服务器返回此代码 ...
- 对于接收到的GPS信息详解
最近一直在做gps驱动方面的东西,对于底层接收到的gps信息不是很了解,查询了资料对这些信息做出总结: 由于在室内,所以信号不是很好,接收不到卫星信号,必须站到窗口或者空旷的地方,这是gps的debu ...
- (五)CSS伪类(Pseudo-class)
CSS伪类用于向某些选择器添加特殊的效果.伪类的语法如下: selector : pseudo-class {property: value} CSS类也可以与伪类搭配使用: selector.cla ...
- i386 和amd64 的意思
首先可以简化一个概念,i386=Intel 80386.其实i386通常被用来作为对Intel(英特尔)32位微处理器的统称. Windows NT类系统的安装盘上,通常i386是其根上的一个文件夹, ...