- wpBeta
-
Schema注册和解决
为了更好地了解Spring Cloud Stream注册和解决新模式以及其使用Avro模式比较功能,我们将提供两个单独的子部分:一个用于注册,一个用于解析模式。
Schema注册流程(序列化)
注册过程的第一部分是从通过信道发送的有效载荷中提取模式。Avro类型,如SpecificRecord或GenericRecord已经包含一个模式,可以从实例中立即检索。在POJO的情况下,如果属性spring.cloud.stream.schema.avro.dynamicSchemaGenerationEnabled设置为true(默认),则会推断出一个模式。
图10. Schema Writer Resolution Process
一旦获得了架构,转换器就会从远程服务器加载其元数据(版本)。首先,它查询本地缓存,如果没有找到它,则将数据提交到将使用版本控制信息回复的服务器。转换器将始终缓存结果,以避免为每个需要序列化的新消息查询Schema服务器的开销。
图11. Schema注册流程
使用模式版本信息,转换器设置消息的contentType头,以携带版本信息,如application/vnd.user.v1+avro
Schema解析过程(反序列化)
当读取包含版本信息的消息(即,具有上述方案的contentType标头)时,转换器将查询Schema服务器以获取消息的 写入器 架构。一旦找到传入消息的正确架构,它就会检索读取器架构,并使用Avro的架构解析支持将其读入读取器定义(设置默认值和缺少的属性)。
图12. Schema阅读决议程序
注意了解编写器架构(写入消息的应用程序)和读取器架构(接收应用程序)之间的区别很重要。请花点时间阅读 Avro术语 并了解此过程。Spring Cloud Stream将始终提取writer模式以确定如何读取消息。如果您想要Avro的架构演进支持工作,您需要确保为您的应用程序正确设置了readerSchema。
mysql数据库schema是什么
数据库中schema是数据库对象集合,它包含了表,视图等多种对象。schema就像是用户名,当访问数据表时未指明属于哪个schema,系统就会自动的加上缺省的schema。schema在数据库中表示的是数据库对象集合,它包含了各种对像,比如:表,视图,存储过程,索引等等。一般情况下一个用户对应一个集合,所以为了区分不同的集合就需要给不同的集合起名字。用户的schema名就相当于用户名,并作为该用户缺省schema。扩展资料Schema的创建:需要注意的是,在不同的数据库中要创建的Schema方法是不一样的,但是它们有一个共同的特点就是都支持CREATESCHEMA语句。在Oracle中,由于数据库用户已经创建了一个模式,所以CREATESCHEMA语句创建的是一个schema,它允许将schema同表和视图关联起来,并在这些对象上真奇葩,原来授权,从而不必在多个事务中发出多个SQL语句。2023-07-07 02:52:041
xml约束技术---schema
1,schema简介: schema也是一个用于定义,描述xml文档结构和内容的一种模式语言,其出现,为了克服DTD的局限性,它在现在也逐渐替代了DTD约束。那它与DTD的比较有什么优越之处呢? @1,schema符合xml语法结构,DOM,SAX解析很容易读懂xml文档中schema中的内容。 @2,xml schema对名称空间支持非常好。 @3,它比DTD支持更多的数据类型,并支持用户自定义新的数据类型 @4,约束能力更强大,能够对xml文件做出更细致的语义约束。它不能像DTD一样定义实体,所以更复杂。 xml schema本身就是一个xml文件,他的扩展名xsd,schema文档一般称为模式文档,遵照这个文档写的xml文件称为实例文档 编写一个schema文档后,通常需要把这个文件声明的元素绑定到一个URI地址上,在schema技术中有一个专业的名称来描述这个过程,即把schema声明的元素绑定到一个名称空间上,以后xml文件就可以通过名称空间来告诉引擎元素来自哪里。2023-07-07 02:52:171
oracle中schema指的是什么
schema是一个逻辑概念,逻辑上把相关的所有对象(表、视图、索引,过程、包等)组织成一个集体。一般来说schema的名称和负责这个schema的用户名称是一致的。在这里给你举个例子,说明schema和用户名、以及用户下面的表、索引的关系。一个楼房相当于一个数据库一个楼房内有2家住户,用户A,用户B。当用户A进入自己的屋子(schema)后,就可以再自己的屋子里添加桌子(表),椅子(视图),沙发(索引)等。当然用户B也可以在自己的屋子(schema)里添加不一样的桌子,椅子,沙发。那么我们知道了A用户和B用户的屋子(schema)是不同的,所以一般我们会直接说A用户或者B用户,这样就能区别他们不同的桌子和椅子,但是严格来说,我们应该说A用户的屋子(schema)和B用户的屋子(schema)不一样。所以说这里面我们一般就说用户A,其实就直接代表了A这个schema。2023-07-07 02:52:261
oracle中schema指的是什么
Schema,即XML Schema,XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐地位。像所有XML Schema 语言一样,XSD用来描述一组规则──一个XML文件必须遵守这些规则,才能根据该schema‘合法(Valid)"。扩展资料:发展历程在官方文档的参考附录里,XSD标准承认受到[文件类型描述|DTD]]和其他早期XML schema 语言的影响,如DDML、SOX、XML-Data、以及XDR。XSD从中吸收了一些特性,然而也在这些特性中有所折衷。这些早期schema 语言中的XDR与SOX在XML Schema发布后仍继续使用了一段时间。不少微软的产品支持XDR直到2006年十二月MSXML6.0的发布(MSXML 6.0抛弃了XDR改用XSD)。Commerce One, Inc支持它自己的SOX schema 语言直到该公司于2004年末破产。2004年十二月,Novell, Inc.购买了该公司,包括那些与SOX相关的专利,据报导是尽力防止被某些不相关的、以打专利相关官司为生的公司剥削图利。参考资料来源:百度百科-Schema2023-07-07 02:52:421
schema是什么意思
在 SQL Server 2000 和早期版本中,数据库可以包含一个名为“架构(schema)”的实体,但此实体实际上是数据库用户。在 SQL Server 2005 和 SQL Server 2008 中,架构是指包含表、视图、过程等的容器。它位于数据库内部,而数据库位于服务器内部。这些实体就像嵌套框放置在一起。服务器是最外面的框,而架构是最里面的框。在 SQL Server 2005 和 SQL Server 2008 中,提倡"用户和架构分离",即一个用户可以对应多个架构,一个架构也可以对应多个用户,所以架构和user就不再需要同名了.系统可以赋予某个user访问某个架构的权限,也可以取消该权限.Schema,即XML Schema,XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐地位。像所有XML Schema 语言一样,XSD用来描述一组规则──一个XML文件必须遵守这些规则,才能根据该schema‘合法(Valid)"。然而,与其他XML Schema 语言不同,XSD意图设计为在确认一个文档的有效性时,将会产生满足特定数据类型的一个信息集合。这种后验证的XML信息集可用来开发XML文件处理软件。2023-07-07 02:52:571
知识图谱基础(三)-schema的构建
在前面一篇文章《知识图谱基础(二)-知识表达系统》中介绍了知识图谱的基础知识表达系统,什么是entity,什么是relation,什么是domain,什么是type等等。本篇文章主要从应用角度来聊一聊如何构建schema以及shcema构建中需要考虑的问题。以下所讲的schema构建主要是基于common sense进行构建的,弱关系图谱构建会在应用中讲到。 简单来说,一个知识图谱的schema就是相当于一个领域内的数据模型,包含了这个领域里面有意义的概念类型以及这些类型的属性。任何一个域的schema主要由类型(type)和属性(property)来表达。图1是plantdata内的创投schema,主要是为了发掘一级市场的投资和融资构建的schema。该schema主要是去定义需求,哪些数据对创投有用,才往上构建,例如:人物都有身高 体重,但是这些数据对创投来说意义不大,在schema中就不用构建了。关注创投的人会关注这些基金与人物投资了哪些公司,投资的公司所属行业,投资的公司属于哪一类企业,在该schema中就需要详细构建。1.如何构建域(domain) 域(domain)的概念是凌驾于所有类型之上,对于域的定义应该尽量的抽象,不应该具体,同时域与域之间应尽量做到相互独立,不交叉。例如,省份就不应该是一个域的概念,在思考是否应该把一个概念当做域时,需要考虑到该概念是否能够继续向上抽象,例如:省份;城市;国家;县等等,他们同属于地理位置域。在明确域的概念时,应该定义好域的边界,这样比较容易区分不同域之间的区域划分。 2.如何确定一个域的类型(type) 这里需要产品经理去思考,构建这个schema的核心需求是什么,到底需要解决用户什么问题。为了满足这些核心需求,我们需要创造出哪些概念? 举个例子,在汽车领域,用户主要关心什么问题,例如:汽车的品牌、车系、发动机。 在NBA领域,用户主要关心球队、所属联盟、教练、球员等等。 针对不同的需求,需要在域下面构建不同的类型来满足用户的需求。 3.如何确定属性(property) 思考的角度如下: 1.以用户需求为出发点 2.以数据统计为证据 比如在构建完足球领域中的球队类型后,该类型集合了所有的球队实体,站在用户角度触发,用户会关注球队的哪些关系?图2是我简单的针对足球领域构建的一个图谱,上面包含了梅西(球队的球员), 埃内斯托·巴尔韦德 (球队的教练),西甲(球队的所属联赛),其中梅西、西甲、埃内斯托.巴尔韦德又分属于不同的类型:足球球员,足球联赛,足球教练,这些所有的类型构成了足球域。从上图的common sense配合图查询和自然语言处理技术已经可以支持基础的问答了,例如,梅西是哪个球队的?埃内斯托巴尔韦德是哪些球员的教练?西甲有哪些球队在踢球?等等 schema的应用是产品经理需要重点考虑的内容,因为产品需求决定了schema应该怎么构建,构建的是否完备。而产品的具体应用则主导了schema的整体构建方式,如果不仔细考虑产品应用的话,最惨的情况可能构建了很久的schema会因为一个逻辑坑而彻底报废掉,由于知识图谱又是一个牵一发而动全身的工程,根据实际经验来说,如果图谱构建和应用有部分脱节,可能修改图谱schema比重新构建图谱schema的成本还要高。所以,首先确认好具体的应用场景对于一个schema构建的成功与否是至关重要的。 笔者写一套曾经用过的确认schema的流程 先将应用根据需求的强弱划分,分为基础核心需求,schema特色需求,锦上添花需求,未来扩展性需求。 基础核心需求:是经过需求分析后,构建这个schema需要完成最核心的需求,该需求优先级最高 schema特色需求:构建图谱时可能会经常遇到图谱可以实现而其他方法实现比较困难的特色需求,这类需求可能需求强度不是很高,但是由于能够实现一定的差异性,经常会有意想不到的效果。 锦上添花需求:非基础核心需求,做了更好,不做也可以接受 未来扩展性的需求:确认schema的时候要充分考虑到未来的扩展性,因为这类需求有可能会大改图谱的schema结构 在构建schema的时候,根据上述分类,需要去考虑该schema一期需要满足哪些具体的功能,将功能一一列下来,哪些功能是需要放在第二期、第三期完成的,未来的扩展性需求需要在构建的哪一块区域留下可扩展的内容。常用的方法可以使用excel去列出一、二、三期所需要的功能点。 列出上述的功能点后,针对每一个功能点在后面备注好该功能的构建要点(注:这个非常重要),通常需求只需要将产品需求转化成一定的查询结构即可,笔者原来用的是cypher查询语法。以图2为例,我要支持某个教练教了哪些球员?转化成查询语言就是(a:足球教练)<-{b:教练}-(c:球队)-{d:球员}-(e:足球球员) return e。将a变成参数,输入a即可返回所有的e,即输入埃内斯托巴尔韦德,返回就是梅西。 流程如下:query:埃内斯托巴尔韦德带了哪些球员?→语义解析→转化成上述查询,将埃内斯托巴尔韦德作为参数a代入查询→返回结果→前端包装展示 注:上面在每个功能点后面备注了构建要点,当大部分功能点的构建要点都写完的时候,需要集中查看构建要点,因为如果需求本身比较大的话,不同的需求很容易造成schema的构建冲突,正如前面所讲,schema尽量要保证少出错。这个时候由于备注了构建要点,可以全局的来审视这个schema中间有没有逻辑黑洞。常出现的问题主要是在属性的设计,以及知识融合上。 拿着上述文件去找开发,确认一下哪些是比较好实现的,一般来说做到这种程度大多数需求开发都是会接的。如果开发同学足够专业的话,他会从他的视角去给你提出他的宝贵意见。通常产品经理在思考schema这一块更倾向于思考这个schema的作用,而开发同学会思考工程实现、实现效率、运行效率、计算量等问题。 大规模构建schema的时候需要认真考虑数据源的情况,由于不同公司掌握的数据不同,所应用的对策也不同。 通常笔者会将数据源分为如下几种: 1.已经清洗好的结构化数据:这部分数据一般是公司的核心数据,或者其他公司的核心数据,构建的时候应该优先考虑这类数据。这部分数据通常只需要改变数据格式即可入图谱。 2.清洗好的结构化数据,但数据残缺:这部分数据通常需要数据挖掘,知识融合。清洗难度是由残缺比例决定的。 3.无数据:没有这部分数据,但是又需要这部分数据,通常只能去选择让BD去购买数据,或者让爬虫组去专业网站爬取,例如:企业数据可以去企查查,电影的数据可以去猫眼,产业的数据可以去产业信息网等等。 假设需要构建的图谱entity数量在千万级别,开发力量不够强大的时候,慎用纯数据挖掘方案,有条件的话笔者建议直接去买结构化数据,因为可能挖掘和知识融合在经济上的成本比直接买数据要高,而且时间周期也会很长。个人认为,大规模构建schema最难的地方就在于挖掘数据的知识融合上,举个例子:全国有10000个叫王刚的人,爬虫从A网站挖下来5000个“王刚”,从B网站挖下来7000个“王刚”,那么这5000个王刚和那7000个王刚到底是不是一个人?在没有身份证号码的情况下如何确定哪些王刚是一个人呢?常规的做法是去挖掘出“王刚”的其他信息,例如出生年月,任职信息,籍贯等等,然后通过一定的算法进行知识融合。通常,网站的数据不一定全面,即使经过知识融合后,挖掘的数据中一定会有大量的噪音,不同的需求对噪音的承受能力是不同的,构建schema的时候需要充分考虑数据出现噪音的可能性,去评价这部分需求对噪音的承受能力。 如果知识融合完成了话,大规模构建其实就是一个导数据的过程,由于图谱数据结构的关系,一般存2张表(点、边)或者使用RDFs存储,在entity数量上千万以后,图谱的查询压力会比较大,单机查询可能会直接跪掉,开发一般会采用graphX的分布式的存储,不过由于点和边的切割方式的问题,会有一定的副作用。2023-07-07 02:53:101
基模(Schema)与我何干
基模(也译作“图示”) (schemas)是认知心理学的一个重要概念,知识表征(knowledge representation)的一种。是瑞士发展心理学家让·皮亚杰(Jean Piaget)提出的,认知发展或构建过程的核心概念之一。 基模 是一种 认知结构 (cognitive frameworks),它将知识形像化,成为一个 概念 模型。一个基模既包括 概念 的各种属性,也包括这些属性之间的关系。让·皮亚杰将其视为为人类吸收知识的基本架构。 您是不是被这一连串的陌生的专业名词弄蒙圈了?没关系,这用 基模理论 就可以解释。如果你以前完全没有接触过认知心理学相关的知识,那么你大脑里就没有相关的 基模 ,所以在看这方面的信息时,就出现了这样的情况:里面所有的字你都认识,但是它在讲什么完全不知道。 不过我们有一大利器,那就是跨越未知和已知的桥梁—— 类比(隐喻) 。 可以这样想象 基模 :如果我们大脑是个文件柜(或者电脑硬盘),那么基模(schema)就是其中一个个的 文件盒(夹) 。(如下图所示) 我们学习新知识的过程,就是建立“基模”的过程。认知心理学中讲到,认知和学习过程都是,先从外界获得信息,然后为了能够让我们的心智使用这些信息,我们会通过某些方式对信息加以编码(encode),编码之后就在大脑中建立了 表征 (representation)。 概念 和作为概念模型的 基模 都是重要的表征形式。 从认知的程序可以看出,学习的过程,就是建立各种基模的过程。当我们进入一个陌生的领域,我们的对它的认知基模基本为零,需要一点一滴的积累概念和其之间的关系,逐渐累积相关的基模,这个过程是没法一蹴而就的。 基模在我们思维中如何起作用呢?如果单从概念来理解非常抽象,让我们看一个例子。 如果你对例子的答案有些不能确定,很可能是你在根据“常识”,做出了一个虚假的前提假设——外科医生都是男性。我们头脑中的“ 外科医生 ”这个概念就是一个基模,因为现实中, 外科医生 通常都是有男性,而且在影视剧中,常常还都是英俊、成熟、富有的中青年男性。这会使我们会把男性这一 属性 与我们脑中的“ 外科医生 ”这个基模联系在一起,并且在处理“外科医生”这一概念时把它本身不具有的 属性 与其捆绑在一起。 现实中有还有很多和我们生活息息相关的基模,比如 事件基模 (script schema),它描述我们熟悉的事件的程序。例如考试、婚礼、乘飞机前的例行手续、在餐馆就餐都有一些约定成俗的规则,我们根据经验形成的基模可以帮助我们迅速地消除不确定性,决定自己的行为,为我们的生活提供便利。 从基模理论,我们可以发现 快速阅读 的本质。所谓的 快速阅读,其实就是我们大脑中的基模足够多,看到书中的某些概念是自己已经熟悉的基模类型,便可以快速跳过。 之所以能够保证既快速,又能掌握书中的要点和内容,那只是因为我们在阅读的东西,和自己的知识体系、理解力相当,也就是说,我们还在舒适圈内学习或者查找资料。 从这个角度来看,市面上的教授的很多快速阅读的方法,都是无用的毒鸡汤。比如练习跳读、扫读等等技巧,或者抓几个要点或提纲,让你觉得短时间内就弄懂了一本书,而实际情况是,要么它仅仅是给你读懂了这本书的幻觉,要么这本书的价值也就只值得扫读、跳读。 基模的 优点 是显而易见的,基模会加快信息的处理加工,有助于形成自动推理,添加缺失的信息,形成某种解释。如果没有基模,我们对所有的新信息的处理都要从头做起,这会使我们的认知效率大大降低。 但是为了提高效率的基模,也因此带来了 缺点 ,基模所代表的旧信息可能不适应新的认知对象,我们有选择的吸收与基模相一致的信息,有可能错误的添加认知对象所不具有的特征(如文中的例子)。而且基模一旦形成,我们不愿意轻易地修改它,这会加强一开始形成的偏见。我们的一些 社会基模 (social schema)会导致偏见的产生,例如,受大众媒体报道的一些特别事件的影响,我们会把河南人、新疆人和一些负面的东西联系起来。 基模理论能够帮助我们了解自己的认知和学习过程,从而更有效的吸收信息和知识。而且了解其缺点,还能帮助我们认清,认知中的偏见从何而来,从而更好的避免自己被偏见左右。 参考与备注: 1、文中例子答案:儿子与母亲的关系。 2、 基模 3、 让·皮亚杰 4、 认知发展论 5、《大众传播理论:范式与流派》刘海龙。 6、 认知心理学中「表征」的概念是什么? 7、 Schema Theory: A Summary2023-07-07 02:53:291
schema 是什么意思有什么作用
XML Schema定义(XML Schema Definition,XSD)是一套W3C标准,用于基于XML的称为XML Schema的类型系统。用于定义的语言是一种称为XML模式定义语言(XML Schema Definition Language)的XML语法。Web 服务使用XML作为表示消息和数据的底层格式。因此,XSD成为Web服务类型系统的自然选择。XML文档必须有严格的形式规范,以适应各种具体的应用。首先,XML文档必须符合XML语法限制,术语称为“well-formed XML”;其次,为了使XML表示的数据有一定含义,还需要根据应用为其定义语义上的限制,术语称为“validating XML”。“well-formed XML”是容易验证的,而“validating XML”还需要另一个关联的文档来定义XML标记规范。以前使用的是DTD文档,现在使用的是Schema。比如一个用来表示书对象的XML文档如下:金庸相关的DTD文档内容应为:<!ELEMENT title(#PCDATA)>如果使用Schema,文档内容则为:> <element name="author" type="string"/> </complexType>Schema文档相对于DTD文档有明显的好处,首先Schema文档本身就是“validating XML”,而DTD文档甚至不是“well-formed XML”,因此,可以使用相同的工具来出来Schema文档和XML文档,而处理DTD必须有专门的工具;Schema相对DTD,还有格式简单、容易理解、表达能力更强等优点,因此代替DTD已是大势所趋。关于XML Schema的详细内容可参考:http://www.w3.org/TR/xmlschema-1/2023-07-07 02:53:361
请教数据库中关于schema的理解
在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQLServer和Orcal数据库中好像又不一样.目前我只能理解,在mysql中schema<==>database。数据库中User和Schema的关系假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。在SQLServer2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQLServer2005中这种架构被打破了,User和Schema也被分开了。首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床,User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。2023-07-07 02:53:421
oracle中schema指的是什么
官方文档中关于schema是这样解释的: “A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user. Schema objects are the logical structures that directly refer to the database"s data. Schema objects include structures like tables, views, and indexes.(There is no relationship between a tablespace and a schema. Objects in the same schema can be in different tablespaces, and a tablespace can hold objects from different schemas.)” 官方文档里面说得比较明白,schema是数据对象的集合,包括像表、视图、索引、同义词等等都可以说是schema的对象。下面通过具体的例子来加深对user和schema两者区别的认识: 第一步,以sys用户登陆SQL并建立普通用户storm和penguin: $ sqlplus / as sysdba SQL> create user storm identified by storm; User created. SQL> create user penguin identified by penguin; User created. 第二步,赋予一些基本的权限给新建的用户storm和penguin: SQL> grant connect,create table,resource to storm,penguin; Grant succeeded. 第三步,以storm用户登陆,创建一张表并插入数据: SQL> conn storm/storm Connected. SQL> create table t (id int); Table created. SQL> insert into t values(1); 1 row created. SQL> commit; Commit complete. 第四步,以penguin用户登陆,看能否查询storm用户所建表里面的数据: SQL> conn penguin/penguin Connected. SQL> select table_name from user_tables; no rows selected SQL> show user; USER is "PENGUIN" SQL> select * from storm.t; select * from storm.t * ERROR at line 1: ORA-00942: table or view does not exist 从以上结果可以看出,用户 penguin无法查看用户storm所建表里面的内容,甚至被告知没有这张表。 第五步,修改当前schema为storm,并继续查询: SQL> alter session set current_schema=storm; Session altered. SQL> show user; USER is "PENGUIN" SQL> select * from storm.t; select * from storm.t * ERROR at line 1: ORA-00942: table or view does not exist 仍然不能查看。 第六步,以storm用户登陆,赋予penguin用户查看t表的权限: SQL> conn storm/storm Connected. SQL> grant select on t to penguin; Grant succeeded. 第七步,以penguin用户登陆,查看storm用户的t表: SQL> conn penguin/penguin Connected. SQL> select * from storm.t; ID ---------- 1 更简单的,将当前schema更改为storm,可以简化查询过程: SQL> alter session set current_schema=storm; Session altered. SQL> select * from t; ID ---------- 12023-07-07 02:53:511
schema名词解释
名词的解释 (1) [noun;substantive] (2) 表示名称(如人、 动物 )的词 (3) 除 代词 外,在句子中用作 动词 的主语或宾语的词,或是在独立结构中表示名称的词,或是在联系动词后作表语用的词 详细解释 (1).术语或近似术语的字眼儿。 丁玲 《杜晚香》 :“抗美援朝, 晚香 还不及懂得这个新名词, 李 家的小 儿子 就报名参军了。” 柳青 《一九五五年秋天在皇甫村》 :“他要参加农业社,却 不知 道这个名词。” (2).语法学称表示人或事物名称的词。 章炳麟 《訄书·订文》 :“语言必先名词,次及动词,又次及 助动词 。” (3).逻辑学称表达三段论法结构中的 概念 的词。 词语分解 名的解释 名 í 人或事物的称谓: 名字 。名氏。名姓。名义。名分(坣 )。名堂。名落孙山。名存实亡。 起名字:“秦氏有好女,自名为罗敷”。 做某事时用来作 依据 的称号:这些人以“办学”为名,行骗钱之实。 叫出,说出 词的解释 词 (词) í 语言里最小的可以独立运用的单位:词汇。词书。词典。词句。词序。词组。 言辞,话语,泛指写诗作文:歌词。演讲词。誓词。词章。词律(文词的声律)。 中国 一种诗体(起于南朝,形成于唐代,盛行2023-07-07 02:53:581
数据库中Schema和Database有什么区别
数据库中User和Schema的关系假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。 在SQL Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQL Server2005中这种架构被打破了,User和Schema也被分开了。 首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。 在SQL Server2000中,假如我们在某一个数据库中创建了用户Bosco,按么此时后台也为我们默认地创建了默认Schema 【Bosco】。Schema的名字和User的名字相同,这也是我们分不清楚用户和Schema的原因。 在SQL Server2005中,为了向后兼容,当你用sp_adduser 存储过程创建一个用户的时候,SQL Server2005同时也创建了一个和用户名相同的Schema,然而这个存储过程是为了向后兼容才保留的,我们应该逐渐熟悉用新的DDL语言Create User和Create Schema来操作数据库。在SQL Server2005中,当我们用Create User创建数据库用户时,我们可以为该用户指定一个已经存在的Schema作为默认Schema,如果我们不指定,则该用户所默认的Schema即为dbo Schema,dbo 房间(Schema)好比一个大的公共房间,在当前登录用户没有默认Schema的前提下,如果你在大仓库中进行一些操作,比如Create Tabe,如果没有指定特定的房间(Schema),那么你的物品就只好放进公共的dbo房间(Schema)了。但是如果当前登录用户有默认的Schema,那么所做的一切操作都是在默认Schema上进行(比如当前登录用户为login1,该用户的默认Schema为login1,那么所做的所有操作都是在这个login1默认Schema上进行的。实验已经证明的确如此)。估计此时你会有一点晕,为什么呢?我刚才说dbo是一个Schema,但是你可以在数据库中查看到,dbo同时也是一个user,晕了吧,呵呵。 在SQL Server2005中创建一个数据库的时候,会有一些Schema包括进去,被包括进去的Schema有:dbo,INFORMATION_SCHEMA, guest,sys等等(还有一些角色Schema,不提了,有晕了)。 我在上文中已经提到了,在SQL Server2005中当用存储过程sp_adduser创建一个user时,同时SQL Server2005也为我们创建了一个默认的和用户名相同的Schema,这个时候问题出来了,当我们create table A时,如果没有特定的Schema做前缀,这个A表创建在了哪个Schema上,即进入了哪个房间?答案是: 1.如果当前操作数据库的用户(可以用Select current_user查出来)有默认的Schema(在创建用户的时候指定了),那么表A被创建在了默认的Schema上。 2.如果当前操作数据库的用户没有默认的Schema(即在创建User的时候默认为空),但是有一个和用户名同名的Schema,那么表A照样被创建在了dbo Schema上,即使有一个和用户名同名的Schema存在,由于它不是该用户默认的Schema,所以创建表的时候是不会考虑的,当作一般的Schema来处理,别看名字相同,可是没有任何关系哦。 3.如果在创建表A的时候指定了特定的Schema做前缀,则表A被创建在了指定的 Schema上(有权限吗?) 现在问题又出来了,在当前操作数据库的用户(用select current_user可以查看到,再次强调)没有默认Schema的前提下,当我们用Create table A语句时,A表会去寻找dbo Schema,并试图创建在dbo Schema上,但是如果创建A表的用户只有对dbo Schema的只读权限,而没有写的权限呢?这个时候A表既不是建立不成功,这个就是我以后会提及到的Login,User, Role和Schema四者之间的关系。在这里,为了避免混淆和提高操作数据库的速度(在少量数据范围内,对我们肉眼来说几乎看不到差异),我们最好每次在操作数据库对象的时候都显式地指定特定的Schema最为前缀。 现在如果登录的用户为Sue,该用户有一个默认Schema也为Sue,那么如果现在有一条查询语句为Select * from mytable, 那么搜寻每个房间(Schema)的顺序是怎样的呢?顺序如下: 1. 首先搜寻sys.mytable (Sys Schema) 2. 然后搜寻Sue.mytable (Default Schema) 3. 最后搜寻 dbo.mytable (Dbo Schema) 执行的顺序大家既然清楚了,那么以后在查询数据库表中的数据时,最好指定特定的Schema前缀,这样子,数据库就不用去扫描Sys Schema了,当然可以提高查询的速度了。 另外需要提示一下的是,每个数据库在创建后,有4个Schema是必须的(删都删不掉),这4个Schema为:dbo,guest,sys和INFORMATION_SCHEMA,其余的Schema都可以删除。2023-07-07 02:54:061
在oracle中创建schemal是指什么
是对象2023-07-07 02:54:143
oracle中schema指的是什么
模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。(把数据库对象用模式分开成不同的逻辑结构)。oracle11g及以前版本中 模式(schema) 和用户是一个概念(12c还没有搞明白)。所以:scott.table1中scott 是模式名,也是用户名。模式,应该是一组对象的集合,比如表、视图、存储过程。角色,是一组权限的集合。可以把角色,授权给用户。在最新的数据库结构中(比如sqlserver2008),用户和模式是分离的。可以把模式,即一组对象 指定给用户。2023-07-07 02:54:341
oracle中schema指的是什么
官方文档中关于schema是这样解释的: “A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user. Schema objects are the logical structures that directly refer to the database"s data. Schema objects include structures like tables, views, and indexes.(There is no relationship between a tablespace and a schema. Objects in the same schema can be in different tablespaces, and a tablespace can hold objects from different schemas.)” 官方文档里面说得比较明白,schema是数据对象的集合,包括像表、视图、索引、同义词等等都可以说是schema的对象。下面通过具体的例子来加深对user和schema两者区别的认识: 第一步,以sys用户登陆SQL并建立普通用户storm和penguin: $ sqlplus / as sysdba SQL> create user storm identified by storm; User created. SQL> create user penguin identified by penguin; User created. 第二步,赋予一些基本的权限给新建的用户storm和penguin: SQL> grant connect,create table,resource to storm,penguin; Grant succeeded. 第三步,以storm用户登陆,创建一张表并插入数据: SQL> conn storm/storm Connected. SQL> create table t (id int); Table created. SQL> insert into t values(1); 1 row created. SQL> commit; Commit complete. 第四步,以penguin用户登陆,看能否查询storm用户所建表里面的数据: SQL> conn penguin/penguin Connected. SQL> select table_name from user_tables; no rows selected SQL> show user; USER is "PENGUIN" SQL> select * from storm.t; select * from storm.t * ERROR at line 1: ORA-00942: table or view does not exist 从以上结果可以看出,用户 penguin无法查看用户storm所建表里面的内容,甚至被告知没有这张表。 第五步,修改当前schema为storm,并继续查询: SQL> alter session set current_schema=storm; Session altered. SQL> show user; USER is "PENGUIN" SQL> select * from storm.t; select * from storm.t * ERROR at line 1: ORA-00942: table or view does not exist 仍然不能查看。 第六步,以storm用户登陆,赋予penguin用户查看t表的权限: SQL> conn storm/storm Connected. SQL> grant select on t to penguin; Grant succeeded. 第七步,以penguin用户登陆,查看storm用户的t表: SQL> conn penguin/penguin Connected. SQL> select * from storm.t; ID ---------- 1 更简单的,将当前schema更改为storm,可以简化查询过程: SQL> alter session set current_schema=storm; Session altered. SQL> select * from t; ID ---------- 12023-07-07 02:54:411
Oracle里schema和database有什么区别
RA92是Oracle的SID,说是Database也可以。 在Oracle中,一个用户就是一个Schema,表都是建立在Schema中的,也可以理解为每个用户拥有不同的表。一个用户想访问另外一个用户,也就是另外一个schema的表的时候,可以用 username.tablename的形式来访问,完全不需要分布式事务。分布式事务不是给你做这个用的。2023-07-07 02:54:491
如何查询oracle中所有的schema名以及各个schema下的所有表名
不知道怎么有一下子全查出来 。查 方案:应该是每个用户一个方案, select username from dba_users;查表名:select table_name from dba_tables where owner="X";2023-07-07 02:54:592
oracle schema是什么意思
oracle schema的中文翻译oracle schema Oracle架构2023-07-07 02:55:142
schema must be set怎么解决
schema一直报这个错误:Schema must be set解决方法是:将菜单options--->Require Schema2023-07-07 02:55:211
mysql怎么连接schema
在 MySQL 数据库中,Schema 是一个逻辑数据库,它类似于一个数据库的命名空间,用于将数据库对象组织到一个命名空间中。连接到一个 Schema 的方法如下:1. 使用 MySQL 客户端连接到 MySQL 服务器2. 通过 USE 命令来选择要连接的 Schema,如:`USE schema_name;`,其中 schema_name 是要连接的 Schema 名称。3. 如果连接成功,MySQL 客户端会输出一个提示信息,提示信息中会包含当前连接的数据库名称和 Schema 名称。注意:连接 Schema 的前提是已经连接到了 MySQL 数据库,并且该 Schema 存在于 MySQL 数据库中。以下是一个示例,假设我们已经连接到了 MySQL 数据库,现在需要连接到一个名为 test 的 Schema:```USE test;```执行上述命令后,MySQL 客户端会输出如下提示信息:```Database changed```提示信息中的 "Database changed" 表示当前连接的数据库已经切换到了 test Schema。2023-07-07 02:55:291
mongo数据库中的的schema什么意思
database schema 是指数据库的模式结构定义,就是你创建了哪些表,表中的属性是什么 database instance 是指你创建的这个数据库2023-07-07 02:55:551
SQL的schema是指用户名吗?
Oracle里schema几乎和user/用户是通用的。schema是指一组数据库object(比如:表,视图,包,序列,等等),而这些object是属于用户的,属于一个用户的所有object就叫schema。如果你使用Oracle的企业管理器Enterprise Manager,你会发现里面的用户就叫schema。2023-07-07 02:56:021
数据库中的schema翻译成中文应该是什么??
图解2023-07-07 02:56:125
数据库 SQL 关系模型 中的模式 schema 是个什么概念?怎么理解?三级模式什么意思?跪求解释,一定采纳
schema是模式的意思指的是表的集合就是创建数据库的意思.但学术味太重.因此大家都使用.CERATE DATABASE...的形式来创建数据库.三级模式指的是.外模式.就是你查询访问得到的数据就是外模式.逻辑模式.就是表格建立规则.如何构成的等.物理模式。....就是数据在硬碟上的存储方式.比如存储大小等.何种存储方式.2023-07-07 02:56:301
如何获取数据库中所有的schema的名称
获取数据库中所有的表名的方法:1、oracle下:select table_name from all_tables;2、MySQL下:select table_name from information_schema.tables where table_schema="csdb" and table_type="base table";3、sql server下:select name from sys.tables go2023-07-07 02:57:031
在xml中xsd:schema和xs:schema是一个意思吗
如果与xsd:schema语句的一个标签内(也就是一个<>),有xmlns:xsd=“XXXXX”就说明xsd只是命名空间的一个别名,命名空间具体在哪里还要看后面的XXXXX。对xs:schema也一样。如果不是这么出现的我还没见过,希望能帮到你2023-07-07 02:57:111
mysql数据库schema是什么
系统数据库2023-07-07 02:57:317
schema是什么意思?
Schema,即XML Schema,XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐地位。相关信息:像所有XML Schema 语言一样,XSD用来描述一组规则──一个XML文件必须遵守这些规则,才能根据该schema‘合法(Valid)"。然而,与其他XML Schema 语言不同,XSD意图设计为在确认一个文档的有效性时,将会产生满足特定数据类型的一个信息集合。这种后验证的XML信息集可用来开发XML文件处理软件。2023-07-07 02:58:001
数据库中的”SCHEMA”是什么,怎么翻译?
schemaKK: []DJ: []n.1. 轮廓;概要;略图2. 【哲】先验图式3. 【心】图式2023-07-07 02:58:142
oracle中schema指的是什么
对于初学者 , 你可以理解schmea就是user用户2023-07-07 02:58:213
数据库的模式(SCHEMA)到底是怎么用的?
模式(schema) 是用于 在一个 大项目中的 各个 小项目每个 小项目的表, 放在 各自的 模式(schema) 下面.这样, 遇到 小项目里面. 有 相同名字的 表的话, 不会发生冲突.例如一个 公司的 系统.里面分2个 子系统, 分别为 财务系统 和 人力资源系统.这2个 子系统, 共用一个数据库.那么 财务系统的表, 可以放在 财务的 模式(schema).人力资源系统的表,放在 人力资源系统的模式里面。这2个 子系统, 能够 互相访问 对方的表但是又不因为 表重名 的问题,影响对方。2023-07-07 02:58:391
数据库中Schema和Database有什么区别
在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL Server和Orcal数据库中好像又不一样. 目前我只能理解,在mysql中 schema<==>database。数据库中User和Schema的关系假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。 在SQL Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQL Server2005中这种架构被打破了,User和Schema也被分开了。 首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床,User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。2023-07-07 02:58:471
Schema是什么意思啊
XML Schema定义(XML Schema Definition,XSD)是一套W3C标准,用于基于XML的称为XML Schema的类型系统.用于定义的语言是一种称为XML模式定义语言(XML Schema Definition Language)的XML语法.Web 服务使用XML作为表示消息和数据的底层格式.因此,XSD成为Web服务类型系统的自然选择.XML文档必须有严格的形式规范,以适应各种具体的应用.首先,XML文档必须符合XML语法限制,术语称为“well-formed XML”;其次,为了使XML表示的数据有一定含义,还需要根据应用为其定义语义上的限制,术语称为“validating XML”.“well-formed XML”是容易验证的,而“validating XML”还需要另一个关联的文档来定义XML标记规范.以前使用的是DTD文档,现在使用的是Schema.2023-07-07 02:58:552
数据库中的SCHEMA如何理解?
schema是模式的意思。一个schema就相当于一套表、试图。2023-07-07 02:59:011
在xml中schema不应该由它本身验证是什么意思
XML Schema定义(XML Schema Definition,XSD)是一套W3C标准,用于基于XML的称为XML Schema的类型系统。用于定义的语言是一种称为XML模式定义语言(XML Schema Definition Language)的XML语法。Web 服务使用XML作为表示消息和数据的底层格式。因此,XSD成为Web服务类型系统的自然选择。XML文档必须有严格的形式规范,以适应各种具体的应用。首先,XML文档必须符合XML语法限制,术语称为“well-formed XML”;其次,为了使XML表示的数据有一定含义,还需要根据应用为其定义语义上的限制,术语称为“validating XML”。“well-formed XML”是容易验证的,而“validating XML”还需要另一个关联的文档来定义XML标记规范。以前使用的是DTD文档,现在使用的是Schema。2023-07-07 02:59:081
schema名词解释
名词的解释 (1) [noun;substantive] (2) 表示名称(如人、 动物 )的词 (3) 除 代词 外,在句子中用作 动词 的主语或宾语的词,或是在独立结构中表示名称的词,或是在联系动词后作表语用的词 详细解释 (1).术语或近似术语的字眼儿。 丁玲 《杜晚香》 :“抗美援朝, 晚香 还不及懂得这个新名词, 李 家的小 儿子 就报名参军了。” 柳青 《一九五五年秋天在皇甫村》 :“他要参加农业社,却 不知 道这个名词。” (2).语法学称表示人或事物名称的词。 章炳麟 《訄书·订文》 :“语言必先名词,次及动词,又次及 助动词 。” (3).逻辑学称表达三段论法结构中的 概念 的词。 词语分解 名的解释 名 í 人或事物的称谓: 名字 。名氏。名姓。名义。名分(坣 )。名堂。名落孙山。名存实亡。 起名字:“秦氏有好女,自名为罗敷”。 做某事时用来作 依据 的称号:这些人以“办学”为名,行骗钱之实。 叫出,说出 词的解释 词 (词) í 语言里最小的可以独立运用的单位:词汇。词书。词典。词句。词序。词组。 言辞,话语,泛指写诗作文:歌词。演讲词。誓词。词章。词律(文词的声律)。 中国 一种诗体(起于南朝,形成于唐代,盛行2023-07-07 02:59:271
数据库 schema是什么意思?
纲要 图解的意思,,,放到 数据库 里是什么意思 你自己理解吧,,,,2023-07-07 02:59:353
ORACLE多个实例和多个SCHEMA哪种方式好
多个SCHEMA 方式好;省资源,好管理 如果跨字符集,不能用多个SCHEMA的,只能多实例了2023-07-07 02:59:422
schema与schedule的区别
Schema是架构的意思,Schedule是日程安排的意思。2023-07-07 02:59:491
SQL Server中的Schema是指什么
大体是指数据库的表结构信息。但我开发C#/ado.net这么久都没有听说过具体的Rules Schema Name和Data Schema Name。有可能是因为它用了某些数据库的框架。2023-07-07 02:59:581
数据库中的schema这种东东,具体有什么用处呢?
根据各人的理解主要有两个用途:1、对数据库对象分类,2、对象的权限隔离。2023-07-07 03:00:061
ogg不同schema
ogg是格式而schema是一个集合。数据库中schema是数据库对象集合,它包含了表,视图等多种对象。schema就像是用户名,OGG格式的全称应该是OGG Vobis。它是一种新的音频压缩格式,类似于MP3等现有的音乐格式。2023-07-07 03:00:251
数据库中Schema和Database有什么区别?
在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQLServer和Orcal数据库中好像又不一样.目前我只能理解,在mysql中schema<==>database。x0dx0ax0dx0a数据库中User和Schema的关系x0dx0a假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。x0dx0ax0dx0a在SQLServer2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQLServer2005中这种架构被打破了,User和Schema也被分开了。x0dx0ax0dx0ax0dx0a首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把x0dx0aDatabase看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个x0dx0aSchema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比x0dx0aTable上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床,x0dx0aUser就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应x0dx0a数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个x0dx0aSchema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以x0dx0a扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间x0dx0a能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权x0dx0a限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。x0dx0ax0dx0a在SQLServer2000中,假如我们在某一个数据库中创建了用户Bosco,按么此时后台也为我们默认地创建了默认Schema【Bosco】。Schema的名字和User的名字相同,这也是我们分不清楚用户和Schema的原因。x0dx0ax0dx0ax0dx0a在SQLServer2005中,为了向后兼容,当你用sp_adduser存储过程创建一个用户的时候,SQLx0dx0aServer2005同时也创建了一个和用户名相同的Schema,然而这个存储过程是为了向后兼容才保留的,我们应该逐渐熟悉用新的DDL语言x0dx0aCreateUser和CreateSchema来操作数据库。在SQLServer2005中,当我们用Createx0dx0aUser创建数据库用户时,我们可以为该用户指定一个已经存在的Schema作为默认Schema,如果我们不指定,则该用户所默认的Schema即为x0dx0adboSchema,dbox0dx0a房间(Schema)好比一个大的公共房间,在当前登录用户没有默认Schema的前提下,如果你在大仓库中进行一些操作,比如Createx0dx0aTabe,如果没有指定特定的房间(Schema),那么你的物品就只好放进公共的dbo房间(Schema)了。但是如果当前登录用户有默认的x0dx0aSchema,那么所做的一切操作都是在默认Schema上进行(比如当前登录用户为login1,该用户的默认Schema为login1,那么所做的x0dx0a所有操作都是在这个login1默认Schema上进行的。实验已经证明的确如此)。估计此时你会有一点晕,为什么呢?我刚才说dbo是一个x0dx0aSchema,但是你可以在数据库中查看到,dbo同时也是一个user,晕了吧,呵呵。x0dx0ax0dx0a在SQLServer2005中创建一个数据库的时候,会有一些Schema包括进去,被包括进去的Schema有:dbo,INFORMATION_SCHEMA,guest,sys等等(还有一些角色Schema,不提了,有晕了)。x0dx0ax0dx0ax0dx0a我在上文中已经提到了,在SQLServer2005中当用存储过程sp_adduser创建一个user时,同时SQLx0dx0aServer2005也为我们创建了一个默认的和用户名相同的Schema,这个时候问题出来了,当我们createtablex0dx0aA时,如果没有特定的Schema做前缀,这个A表创建在了哪个Schema上,即进入了哪个房间?答案是:x0dx0ax0dx0a1.如果当前操作数据库的用户(可以用Selectcurrent_user查出来)有默认的Schema(在创建用户的时候指定了),那么表A被创建在了默认的Schema上。x0dx0ax0dx0ax0dx0a2.如果当前操作数据库的用户没有默认的Schema(即在创建User的时候默认为空),但是有一个和用户名同名的Schema,那么表A照样被创建x0dx0a在了dbox0dx0aSchema上,即使有一个和用户名同名的Schema存在,由于它不是该用户默认的Schema,所以创建表的时候是不会考虑的,当作一般的x0dx0aSchema来处理,别看名字相同,可是没有任何关系哦。x0dx0ax0dx0a3.如果在创建表A的时候指定了特定的Schema做前缀,则表A被创建在了指定的Schema上(有权限吗?)x0dx0ax0dx0ax0dx0a现在问题又出来了,在当前操作数据库的用户(用selectx0dx0acurrent_user可以查看到,再次强调)没有默认Schema的前提下,当我们用CreatetableA语句时,A表会去寻找dbox0dx0aSchema,并试图创建在dboSchema上,但是如果创建A表的用户只有对dbox0dx0aSchema的只读权限,而没有写的权限呢?这个时候A表既不是建立不成功,这个就是我以后会提及到的Login,User,x0dx0aRole和Schema四者之间的关系。在这里,为了避免混淆和提高操作数据库的速度(在少量数据范围内,对我们肉眼来说几乎看不到差异),我们最好每次x0dx0a在操作数据库对象的时候都显式地指定特定的Schema最为前缀。x0dx0ax0dx0a现在如果登录的用户为Sue,该用户有一个默认Schema也为Sue,那么如果现在有一条查询语句为Select*frommytable,那么搜寻每个房间(Schema)的顺序是怎样的呢?顺序如下:x0dx0ax0dx0a1.首先搜寻sys.mytable(SysSchema)x0dx0ax0dx0a2.然后搜寻Sue.mytable(DefaultSchema)x0dx0ax0dx0a3.最后搜寻dbo.mytable(DboSchema)x0dx0ax0dx0a执行的顺序大家既然清楚了,那么以后在查询数据库表中的数据时,最好指定特定的Schema前缀,这样子,数据库就不用去扫描SysSchema了,当然可以提高查询的速度了。x0dx0ax0dx0a另外需要提示一下的是,每个数据库在创建后,有4个Schema是必须的(删都删不掉),这4个Schema为:dbo,guest,sys和INFORMATION_SCHEMA,其余的Schema都可以删除。2023-07-07 03:00:321
Schema文档使用下列哪种语法编写
XML语言。1.XMLSchema是用一种套预选规定好的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。Schema的新特性1.Schema基于XML语法。2.Schema可以用能处理XML文档的工具处理。3.Schema大大扩充了数据类型,可以自定义数据类型4.Schema支持继承Object-Oriented"5.Schema支持属性组。2023-07-07 03:00:391
怎么查看数据库的 schema
首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。2023-07-07 03:00:461
schema和tablespace究竟是干什么用的
remap_schema当你从A用户导出的数据,想要导入到B用户中去,就使用这个:remap_schema=A:B remap_tablespace 与上面类似,数据库对象本来存在于tbs_a表空间,现在你不想放那儿了,想换到tbs_b,就用这个remap_tablespace=tbs_a:tbs_b 结果是所有.2023-07-07 03:00:531
MYSQL中database和schema一样吗?
在SQL标准中,Database和Schema是不同的概念,在很多数据库中,二者也有明显的不同,但在另外一些数据库中,二者可能是相同的含义。通常情况下,Database指的是一个数据库中的一类对象,用于组织表、视图、存储过程、自定义函数等数据库对象;而Schema除了包含对象外,另外一个重要的特点是有用户的概念,可以这样理解Schema:Schema是指定的数据库用户和这个用户所拥有的所有数据库对象的集合。2023-07-07 03:01:001
ios开发 怎么设置应用的schema
schema类似自定义url协议,我们可以通过自定义的协议来打开自己的应用,形如: 代码如下 复制代码 myapplink:// # 例如 facebook的 fb:// # itunes的 itms-apps:// # 还有短信也是类似的 sms:// 如果要打开一个app,最简单的方式是通过一个链接,如我们在html中这样写: 代码如下 复制代码 <a href="myapplink://">打开我的app</a>2023-07-07 03:01:101
数据库中Schema和Database有什么区别
概论第四版中增加了create schema (第三版好像没有这个内容),但是却没有提到create database。相反目前在大多数DBMS中(如SQL Server2000、Mysql等)都有create database语句用来新建数据库,而create schema 在SQL Server2000中确实也有但好像用处不大,不过也可能是我对SQL server2000中的create schema理解的不对,看过它的联机帮助也看的不太明白。所以就不太明确create schema和create database到底是什么关系?回复:schema是一个名字空间,创建在某个database下的;一个database下可以包含多个schema。schema的好处有三点:1. 多个用户使用同一个数据库而不会相互影响。2. 对数据库中的对象进行逻辑分组,更便于管理。3. 各个应用分别使用各自的模式,以避免命名冲突。另外。关于schema、database的定义各个数据库产品解释和实现不尽相同,需要具体情况具体分析。2023-07-07 03:01:301
db2切换schema的所属
db2切换schema的所属:数据源是类DataSource的对象,你在获取Connection的地方统一执行setcurrentschema。一般应用都会在统一的地方获取Connection,方便切换数据库。执行createschema需要有DBADM权限建立某个schema需要有SYSADM和DBAMIN权限总的来说就是需要SYSADM和DBAMIN权限。CREATESCHEMAAUTHORIZATION--如果不输入AUTHORIZATION,就是执行命令的本人db2=>createschemadb2user12DB20000ITheSQLcommandcompletedsuccessfully.db2=>selectSCHEMANAME,OWNERfromsyscat.schematawhereschemaname="DB2USER12"SCHEMANAMEOWNER2023-07-07 03:01:361