- 浏览: 2317479 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (314)
- JAVA基础知识 (54)
- Java-IO/FIle (16)
- Java-JDBC (4)
- JAVA-新增特性-注解 (3)
- Java-枚举 (2)
- Java-泛型 (1)
- Java-多线程 (15)
- Java-XML (4)
- Java-JMS(消息服务) (4)
- Java-JVM (0)
- Web Service服务 (7)
- Jsp (10)
- js (18)
- Struts框架 (11)
- Spring框架 (29)
- Hibernate框架 (28)
- Spring Boot框架 (2)
- ExtJS前端框架 (29)
- Jquery js库 (8)
- JUnit框架 (8)
- Selenium 测试 (1)
- NoSql---Redis (6)
- ORACLE数据库 (45)
- MySQL数据库 (4)
- tomcat (3)
- Nginx反向代理服务器 (4)
- web应用服务器通用知识 (3)
- 开发工具IDE (14)
- UML建模 (1)
- SVN CVS 版本管理 (6)
- git 分布式版本管理 (4)
- 报表设计 (5)
- 文件上传下载 (2)
- 数据算法 (1)
- 存储过程 (5)
- JSON 相关 (1)
- OGNL表达式 (3)
- Util工具包 (9)
- 设计模式 (15)
- linux 相关 (3)
- life think (3)
- 工作流管理框架 (1)
- 大数据-Hadoop (1)
最新评论
-
huih:
很不错的文章
SpringMVC+Hibernate+Spring 简单的一个整合实例 -
calm01:
学习了.
Spring <bean>标签属性 Autowire自动装配(转载) -
lizhenlzlz:
我的也是拦截不了service层
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)(转载) -
josh_123:
讲的不错,很详细,如果quartz定时任务类采用不继承任何类的 ...
Spring,jdk定时任务的几种实现以及任务线程是串行还是并行执行(转载) -
human_coder:
你知道eclipse调试怎么可以回调吗?有时候总是调快了,不能 ...
Debug---Eclipse断点调试基础
有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。
我们先来看一下他们的定义:
A schema is a collection of database objects (used by a user.).
Schema objects are the logical structures that directly refer to the database’s data.
A user is a name defined in the database that can connect to and access objects.
Schemas and users help database administrators manage database security.
从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。
一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。
一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。类似如果我们在创建对象时不指定该对象的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果我们在创建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,我们需要在创建对象时指定该对象的表空间。
咳,说了这么多,给大家举个例子,否则,一切枯燥无味!
SQL> Gruant dba to scott
SQL> create table test(name char(10));
Table created.
SQL> create table system.test(name char(10));
Table created.
SQL> insert into test values('scott');
1 row created.
SQL> insert into system.test values('system');
1 row created.
SQL> commit;
Commit complete.
SQL> conn system/manager
Connected.
SQL> select * from test;
NAME
----------
system
SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改变用户缺省schema名
Session altered.
SQL> select * from test;
NAME
----------
scott
SQL> select owner ,table_name from dba_tables where table_name=upper('test');
OWNER TABLE_NAME
------------------------------ ------------------------------
SCOTT TEST
SYSTEM TEST
--上面这个查询就是我说将schema作为user的别名的依据。实际上在使用上,shcema与user完全一样,没有什么区别,在出现schema名的地方也可以出现user名。
表空间:
一个表空间就是一片磁盘区域,他又一个或者多个磁盘文件组成,一个表空间可以容纳许多表、索引或者簇等
每个表空间又一个预制的打一磁盘区域称为初始区间(initial extent)用完这个区间厚在用下一个,知道用完表空间,这时候需要对表空间进行扩展,增加数据文件或者扩大已经存在的数据文件
instance是一大坨内存sga,pga....和后台的进程smon pmon.....组成的一个大的应用。 schema就是一个用户和他下面的所有对象。。 tablspace 逻辑上用来放objects.物理上对应磁盘上的数据文件或者裸设备。 |
在Oracle中,结合逻辑存储与物理存储的概念,我们可以这样来理解数据库、表空间、SCHEMA、数据文件这些概念:
数据库是一个大圈,里面圈着的是表空间,表空间里面是数据文件,那么schema是什么呢?schema是一个逻辑概念,是一个集合,但schema并不是一个对象,oracle也并没有提供创建schema的语法。
schema:
一般而言,一个用户就对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema,用户是不能创建schema的,schema在创建用户的时候创建,并可以指定用户的各种表空间(这点与PostgreSQL是不同,PostgreSQL是可以创建schema并指派给某个用户)。当前连接到数据库上的用户创建的所有数据库对象默认都属于这个schema(即在不指明schema的情况下),比如若用户scott连接到数据库,然后create table test(id int not null)创建表,那么这个表被创建在了scott这个schema中;但若这样create kanon.table test(id int not null)的话,这个表被创建在了kanon这个schema中,当然前提是权限允许。
创建用户的方法是这样的:
create user 用户名 identified by 密码
default tablespace 表空间名
temporary tablespace 表空间名
quota 限额 (建议创建的时候指明表空间名)
由此来看,schema是一个逻辑概念。
但一定要注意一点:schema好像并不是在创建user时就创建的,而是在该用户创建了第一个对象之后才将schema真正创建的,只有user下存在对象,他对应的schema才会存在,如果user下不存在任何对象了,schema也就不存在了;
数据库:
在oracle中,数据库是由表空间来组成的,而表空间里面是具体的物理文件---数据文件。我们可以创建数据库并为其指定各种表空间。
表空间:
这是个逻辑概念,本质上是一个或者多个数据文件的集合。
数据文件:
具体存储数据的物理文件,是一个物理概念。
一个数据文件只能属于一个表空间,一个表空间可以包含一个或多个数据文件。一个数据库由多个表空间组成,一个表空间只能属于一个数据库。
若还不理解,下面是我从网上摘的一个比喻,很形象的解释了什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User,不妨一看。
“我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西,如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。”---摘自网络
发表评论
-
oracle 动态执行命令execute immediate
2016-06-12 17:42 3512可以使用execute immediate来动态执SQL语 ... -
Oracle表与索引的分析及索引重建(转载)
2015-04-27 17:08 3339Oracle表与索引的分析及索引重建 2010年1 ... -
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和总结(转载)
2015-04-15 16:36 8396在web开发中,避免不了对日期的操作,就几种常见的日期操作 ... -
jdbc连接数据库使用sid和service_name的格式区别(转载)
2015-04-10 10:25 4029最近使用jdbc连接oracle时报错: ORA-1250 ... -
oracle 执行计划为什么不走hash join?(转载)
2015-04-07 14:34 5627今天,某省的同事来告诉我,表重组后,他用于统计的一个sql脚 ... -
详细介绍ORACLE sqlplus命令(转)
2015-04-03 10:05 2074一、ORACLE的启动和关闭1、在单机环境下要想启动或关 ... -
oracle sqlplus登陆命令(转载)
2015-04-03 09:59 4362oracle sqlplus登陆命令 首先,进入 ... -
Oracle ORA-01555快照过旧的错误(转载)
2015-02-25 16:31 3060第一篇文章: 首先 ... -
oracle创建分区表,以及非分区表转分区表(转载)
2015-01-22 17:14 3430什么是分区表,分区表详解:http://langgufu. ... -
oracle游标详解
2015-01-15 16:55 5296Oracle游标循环 第一种使用loop 循环 ... -
Oracle调优总结--2(经典实践 重要)
2014-11-24 15:43 1036Oracle SQL性能优化 (1 ... -
解读Oracle执行计划
2014-11-19 17:10 5184本篇解释执行计划中基本项的含义 关于生成和显示Oracle ... -
Oracle 执行计划(Explain Plan) 说明
2014-11-19 17:10 54674如果要分析某条SQL的性能问题,通常我们要先看SQL的执 ... -
oracle导出excel 方法总结
2014-11-19 11:38 8944oracle导出excel 一、oracle导出exce ... -
oracle translate()详解+实例(替换字符函数)+rpad()填充函数
2014-10-28 16:19 2448一、语法: TRANSLATE(string,from ... -
oracle根据已有表及数据创建表分区并导入数据
2014-10-21 17:05 62oracle根据已有表及数据创建表分区并导入数据 假 ... -
ORACLE 普通表转换成分区表(在线重定义方法详解 转载)
2014-10-21 17:01 5536什么是分区表,分区表详解:http://langguf ... -
Oracle中的不等于号(转)
2014-07-29 16:02 1238今天碰到一个Oracle不等 ... -
oracle 自定义类型 type / create or replace type (转载)
2014-07-17 15:21 16948<!--正文 begin--> 一: ... -
【转】oracle存储过程导出表数据为TXT文件【全表字段】
2014-05-07 17:33 4462-****************************** ...
相关推荐
win7修复本地系统工具
《自动化专业英语》04-Automatic-Detection-Block(自动检测模块).ppt
《计算机专业英语》chapter12-Intelligent-Transportation.ppt
内容概要:本文详细介绍了基于西门子S7-1200博图平台的3轴伺服螺丝机程序。该程序使用SCL语言编写,结合KTP700组态和TIA V14及以上版本,实现了对X、Y、Z三个轴的精密控制。文章首先概述了程序的整体架构,强调了其在自动化控制领域的高参考价值。接着深入探讨了关键代码片段,如轴初始化、运动控制以及主程序的设计思路。此外,还展示了如何通过KTP700组态实现人机交互,并分享了一些实用的操作技巧和技术细节,如状态机设计、HMI交互、异常处理等。 适用人群:从事自动化控制系统开发的技术人员,尤其是对西门子PLC编程感兴趣的工程师。 使用场景及目标:适用于希望深入了解西门子S7-1200博图平台及其SCL语言编程特点的学习者;旨在帮助读者掌握3轴伺服系统的具体实现方法,提高实际项目中的编程能力。 其他说明:文中提供的代码示例和设计理念不仅有助于理解和学习,还能直接应用于类似的实际工程项目中。
内容概要:本文详细探讨了五种非线性滤波器(卡尔曼滤波(KF)、扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)、粒子滤波(PF)和变维卡尔曼滤波(VDKF))在水下长基线定位(LBL)系统中的应用。通过对每种滤波器的具体实现进行MATLAB代码展示,分析了它们在不同条件下的优缺点。例如,KF适用于线性系统但在非线性环境中失效;EKF通过雅可比矩阵线性化处理非线性问题,但在剧烈机动时表现不佳;UKF利用sigma点处理非线性,精度较高但计算量大;PF采用蒙特卡罗方法,鲁棒性强但计算耗时;VDKF能够动态调整状态维度,适合信标数量变化的场景。 适合人群:从事水下机器人(AUV)导航研究的技术人员、研究生以及对非线性滤波感兴趣的科研工作者。 使用场景及目标:①理解各种非线性滤波器的工作原理及其在水下定位中的具体应用;②评估不同滤波器在特定条件下的性能,以便为实际项目选择合适的滤波器;③掌握MATLAB实现非线性滤波器的方法和技术。 其他说明:文中提供了详细的MATLAB代码片段,帮助读者更好地理解和实现这些滤波器。此外,还讨论了数值稳定性问题和一些实用技巧,如Cholesky分解失败的处理方法。
VMware-workstation-full-14.1.3-9474260
DeepSeek系列-提示词工程和落地场景.pdf
javaSE阶段面试题
《综合布线施工技术》第5章-综合布线工程测试.ppt
安川机器人NX100使用说明书.pdf
内容概要:本文详细介绍了将M7120型平面磨床的传统继电器控制系统升级为基于西门子S7-1200 PLC的自动化控制系统的过程。主要内容涵盖IO分配、梯形图设计和组态画面实现。通过合理的IO分配,确保了系统的可靠性和可维护性;梯形图设计实现了主控制逻辑、砂轮升降控制和报警逻辑等功能;组态画面则提供了友好的人机交互界面,便于操作和监控。此次改造显著提高了设备的自动化水平、运行效率和可靠性,降低了维护成本。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是熟悉PLC编程和控制系统设计的专业人士。 使用场景及目标:适用于需要进行老旧设备升级改造的企业,旨在提高生产设备的自动化水平和可靠性,降低故障率和维护成本。具体应用场景包括但不限于金属加工行业中的平面磨床等设备的控制系统改造。 其他说明:文中还分享了一些实际调试中的经验和技巧,如急停逻辑的设计、信号抖动的处理方法等,有助于读者在类似项目中借鉴和应用。
chromedriver-linux64-136.0.7103.48.zip
IMG_20250421_180507.jpg
《网络营销策划实务》项目一-网络营销策划认知.ppt
Lianantech_Security-Vulnerabil_1744433229
MybatisCodeHelperNew2019.1-2023.1-3.4.1
【深度学习部署】基于Docker的BERT模型训练与API服务部署:实现代码复用与模型共享
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装火车票订票系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,火车票订票系统的有效运用可以帮助管理人员准确快速地处理信息。 火车票订票系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现火车票订票系统的功能。其中管理员管理用户,新闻公告。 火车票订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,火车票订票系统都可以轻松应对。 关键词:火车票订票系统;SpringBoot框架,系统分析,数据库设计
【ABB机器人】-00标准保养简介.pdf
最新校园跑腿小程序源码 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 此版本为独立版本,不需要微擎 直接放入就可以 需要自己准备好后台的服务器,已认证的小程序,备案的域名!