schema 订阅
Schema
信息
操作系统
未知
开发语言
Java
开源协议
未知
Schema
Schema是一个利用RDF与RDF Schema进行存储,查询,讨论(reasoning )的Java开源框架.Sesame既可以当作RDF与 RDF Schema的数据库或当作一个Java 库用来为应用程序提供RDF的功能.
收起全文
精华内容
参与话题
问答
  • 数据库中的Schema是什么?

    万次阅读 多人点赞 2018-01-10 13:14:35
    在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data type...

    参考:http://database.guide/what-is-a-database-schema/

    在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas 和schemata都可以作为复数形式。模式中包含了schema对象,可以是(table)、(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等。数据库模式可以用一个可视化的图来表示,它显示了数据库对象及其相互之间的关系

     

    以上是模式图的一个简单例子,显示了三个表及其数据类型、表之间的关系以及主键和外键,以下是数据库模式的一个更复杂的例子。

     

    在这种情况下,模式图分为四个部分:

    (1)Customer Data(客户数据):与客户有关的数据,如姓名,地址等

    (2)Business(业务):业务所需的数据,例如员工,商店位置,付款细节等

    (3)Inventory(库存):所有产品的细节。在这里,产品是电影,所以它包含电影标题,类别,演员等数据。

    (4)Views(视图):关于用于评估的数据的特别观点,所以通过这些模式图,我们可以进一步创建一个数据库,实际上,MySQL Workbench允许我们直接从图中生成一个Create Table脚本,然后我们就可以直接用这个脚本去创建一个数据库,还可以直接将一个数据库转换为一个关系图表。

    Schema和DataBase是否等同?

    涉及到数据库的模式有很多疑惑,问题经常出现在模式和数据库之间是否有区别,如果有,区别在哪里。

    取决于数据库供应商

    对schema(模式)产生疑惑的一部分原因是数据库系统倾向于以自己的方式处理模式

    1MySQL的文档中指出,在物理上,模式与数据库是同义的,所以,模式和数据库是一回事。

    2但是,Oracle的文档却指出,某些对象可以存储在数据库中,但不能存储在schema中。 因此,模式和数据库不是一回事。

    (3)而根据这篇SQL Server技术文章SQLServer technical article,schema是数据库SQL Server内部的一个独立的实体。 所以,他们也不是一回事。

    因此,取决于您使用的RDBMS,模式和数据库可能不一样。

    SQL标准对schema如何定义?

    ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors),如果你之前对schema的定义疑惑不解,希望看了我的这篇文章会好一些,起码不会更差。

    广义上

    造成疑惑的另一个原因可能是由于schema这一术语具有如此广泛的含义,因为它在不同的环境下有不同的含义,schema一词源于希腊语skhēma,意思是形态(form),轮廓(figure),形状(shape)或方案(plan)。Schema在心理学中被用来描述组织信息类别及其之间关系的有组织的思维或行为模式。我们在设计一个数据库之前,还需要看看数据中的信息种类和它们之间的关系, 在我们开始使用DBMS中的物理模式之前,我们需要创建一个概念模式。在软件开发中讨论模式时,可以讨论概念模式、物理模式、内部模式、外部模式、逻辑模式等,每一个都有其特定的含义。

    DBMS的schema定义

    以下是三个领先的关系数据库系统的schema定义:

    MySQL

    Conceptually, a schema is a set of interrelated database objects, such as tables, table columns, data types of the columns, indexes, foreign keys, and so on. These objects are connected through SQL syntax, because the columns make up the tables, the foreign keys refer to tables and columns, and so on. Ideally, they are also connected logically, working together as part of a unified application or flexible framework. For example, theINFORMATION_SCHEMA and performance_schema databases use “schema” in their names to emphasize the close relationships between the tables and columns they contain.

    In MySQL, physically, aschema is synonymous with adatabase. You can substitute the keywordSCHEMA instead ofDATABASE in MySQL SQL syntax, for example using CREATE SCHEMA instead of CREATE DATABASE.

    Some other database products draw a distinction. For example, in the Oracle Database product, aschema represents only a part of a database: the tables and other objects owned by a single user.

    MySQL官方文档指出,从概念上讲,模式是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等等。但是从物理层面上来说,模式与数据库是同义的。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE

    参考: MySQL Glossary, MySQL 5.7 参考手册. MySQL, Retrieved 6 June 2016。

    SQL Server

    The names of tables, fields, data types, and primary and foreign keys of a database.

    SQL Server官方文档指出,schema中包含了数据库的表,字段,数据类型以及主键和外键的名称。参考:SQL Server Glossary. SQL Server 2016 Technical Documentation. Microsoft Developer Network. Retrieved 6 June 2016.

    Oracle Database

    Oracle中的schema系统与其他数据库系统大不相同,Oracle的schema与数据库用户密切相关。

    A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema.

    Oracle官方文档指出,schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。

    参考: Oracle Database Objects. Oracle Database Online Documentation 12c Release 1 (12.1). Oracle Help Center. Retrieved 6 June 2016.

    如果想了解更多关于schema的内容,可以参考这篇文章schema definitions by DBMS.

    创建Schema

    尽管上述三个DBMS在定义schema方面有所不同,还是有一个共同点,就是每一个都支持CREATE SCHEMA语句。

    MySQL

    在MySQL中,CREATE SCHEMA创建了一个数据库,这是因为CREATE SCHEMACREATE DATABASE的同义词。 换句话说,你可以使用CREATE SCHEMA或者CREATE DATABASE来创建一个数据库。

    Oracle Database

    在Oracle中,CREATE SCHEMA语句实际上并不创建一个模式,这是因为已经为在创建用户时,数据库用户就已经创建了一个模式,也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。

    SQL Server

    在SQL Server中,CREATE SCHEMA将按照名称创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和ORACLE也不同,CREATE SCHEMA语句实际创建了一个模式(前面说到这个语句在ORACLE中不创建一个模式),在SQL Server中,一旦创建了模式,就可以往模式中添加用户和对象。

    总结

    schema这个词可以用在很多不同的环境中,在特定数据库管理系统创建一个schema时,您需要使用DBMS特定定义模式,当你切换到一个新的数据库管理系统时,一定要查看该系统是如何定义schema的。

    展开全文
  • schema

    千次阅读 2018-12-07 18:13:34
    从网上摘的一个比喻,很形象的解释了什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User,不妨一看。 “我们可以把Database看作是一个大仓库。仓库分了很多很多的房间,Schema就是其中的...

    从网上摘的一个比喻,很形象的解释了什么是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了。”

    展开全文
  • Schema

    千次阅读 2011-11-26 14:29:15
    一个有效的Schema文件的结构如下: elementFormDefault="qualified" attributeFormDefault="unqualified">   Schema类型的元素是Schema文件的根元素,每个Schema文件必须包含Schema类型的元素。...
    一个有效的Schema文件的结构如下:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- 这里编写内容 -->
     </xs:schema>

    Schema类型的元素是Schema文件的根元素,每个Schema文件必须包含Schema类型的元素。Schema类型元素的属性有以下几种:
    xmlns: xmlns是xhtml namespace的缩写,称为“命名空间” xmlns属性的值是一个URI或URL地址 xmlns属性不可缺少
    targetNamespace: 该属性的值是在xmlns已经定义好的命名空间中选择。该属性可有可无
    elementFormDefault:用于指示子元素是否放到命名空间中,有“qualified”和“unqualified”两种取值
    attributeFormDefault: 用于指示是否把某个子元素的属性放到命名空间中,有“qualified”和“unqualified”两种取值
    还有其他属性

    简单类型元素主要有:
    simpleType类型元素、element类型元素、attribute类型元素、enumeration类型元素、pattern类型元素、list类型元素 union类型元素。

    simpleType类型元素:

    simpleType类型的属性有“final”、“id”和“name”。“final”属性指出派生的类型,防止该simpleType元素的指定派生类型,该值可以包含一个列表,该列表是list、union或restriction元素的子集。

    element类型元素:
    element用于定义一个普通的元素。一般格式如下:

    <element name="name" type="string"></element>
    <element name="age" type="int"></element>
    <element name="address" type="string"></element>
    element元素的属性有name、abstract、block、default、final、fixed、id、nillable、maxOccurs、minOccurs、substitutionGroup和type
    name属性的值是该element元素的元素名。
    type属性的值是该element元素的数据类型。
    ref属性的值必须指向一个全局元素。
    maxOccurs属性的值是元素在其父元素中出现的最大次数,它的取值为大于0或等于0的数,在默认状态下为unbounded。
    minOccurs属性的值是元素在其父元素中出现的最小次数,它的取值为大于0或等于0的数,在默认状态下为1。

    attribute类型元素:
    attribute用于声明一个属性元素。如:

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:attribute name="a"></xs:attribute>
    </xs:schema>

    attribute主要有name、default、fixed、id、 ref、type、use几种属性。

    (1)Default:指该attribute类型元素的名称具有默认值;
    (2)fixed:指该attribute类型元素的名称具有固定的值 ;
    (3)use:指示如何使用该attribute类型元素。use属性的值必须是“optional”、“prohibited”、“required”中的一种。“optional”表示该属性可以是任何值,并且该属性是可选的;“prohibited”表示不能使用该属性;“required”表示该属性必须出现一次。在默认状态下use的值是“optional”。

    sequence类型元素:

    sequence类型要求组中的元素以指定的顺序出现在父元素中。与DTD中逗号的用法类似,sequence类型的属性如下:
    id属性:唯一标识该sequence类型的元素。 
     maxOccurs和minOccurs属性:限制该元素组在父元素中出现的次数。

    complexType类型元素:

    complexType类型用于定义一个复合类型的元素。

    complexType类型的属性有以下几种:

    name属性:该复合类型元素的名称。

    abstract属性:指示在实例文档中是否可以使用复杂类型。如果该值为true,则元素不能直接使用该复杂类型,而是必须使用从该复杂类型派生的复杂类型。默认值为false。

    final属性:防止从该复杂类型元素派生出指定的类型。

    mixed属性:指示是否允许字符数据出现在该复杂类型的子元素之间。如果值为“false”,则不允许字符数据出现,反之,可以。

    choice类型元素 :

    choice类型限制唯一的一个元素从某个组中被选择。choice类型的属性主要有以下几种:

    id属性:唯一标识该元素,id属性的值必须唯一。

    maxOccurs和minOccurs属性:限制该元素组在父元素中出现的次数。


    展开全文
  • Schemaschema文档

    千次阅读 2019-06-19 17:34:01
    Schemaschema文档 技术上说schema是元数据的一个抽象集合,包含一套schema component: 主要是元素与属性的声明、复杂与简单数据类型的定义。这些schema component通常是在处理一批schema document时被创建。...

    Schema与schema文档

    技术上说schema是元数据的一个抽象集合,包含一套schema component: 主要是元素与属性的声明、复杂与简单数据类型的定义。这些schema component通常是在处理一批schema document时被创建。schema文档包含着schema component的源语言定义。在日常使用中,一个schema文档常被称作一个schema。

    Schema文档通过名字空间组织起来:所有的被命名的schema component属于一个目标名字空间;这个目标名字空间是schema文档作为整体的一个属性。schema文档可以包含进来(include)使用同一名字空间的其它schema文档,也可以导入(import)使用不同名字空间的schema文档。

    展开全文
  • Json Schema

    2017-08-03 19:25:24
    SON Schema指的是数据交换中的一种虚拟的“合同”。 JSON验证器负责验证语法错误,JSON Schema负责提供一致性检验。 JSON Schema是数据接收方额第一道防线,也是数据发送方节约时间、保证数据正确的好工具。 ...
  • 本文原文连接:...有时候你会发现过去一直启动正常的系统,某天启动时会报出形如下面的错误:org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www
  • Creating schema using Saiku Schema Designer

    千次阅读 2016-05-18 13:32:36
    原文地址:http://wiki.meteorite.bi/display/SAIK/Creating+schema+using+Saiku+Schema+Designer Created by Tom Barber, last modified on Apr 28, 2015 What Is A Schema? A schema in its r
  • Schema详解

    千次阅读 2019-06-19 17:46:49
    Schema,即XML Schema,XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐...
  • xml schema

    千次阅读 2018-09-28 16:41:33
    Xml schema Xml schema 也是用于定义和描述xml文档内容和结构的模式语言,其出现是为了克服dtd的局限性 XML SCHEMA VS DTD XML SCHEMA 符合XML语法结构 DOM,SAX等XML API 很容易解析xml schema 文档中的内容 ...
  • Schema约束

    千次阅读 2015-11-07 13:36:30
    1.1. Schema约束 几个重要知识: 1. namespace 相当于schema文件的id 2. targetNamespace属性 用来指定schema文件的namespace的值  3. xmlns属性 引入一个约束, 它的值是一个schema文件的...
  • Schema规范

    2016-08-18 17:01:27
    Schema规范
  • 一般推荐使用Json Schema(一种Json的数据结构定义)去校验。 对于JsonSchema,有很多种方式:可以自己一个个节点的写,可以使用生成工具,或者在线生成工具生成。 那么如何快速的根据Json内容 写出一个Json...
  • schema约束

    千次阅读 2016-12-13 15:38:11
    schema通过schema来解决DTD的不足,dtd里面有PCDATA类型,但是在schema里面可以支持更多的数据类型,比如 年龄只能是整数,在schema可以直接定义一个整数类型,schema语法更加复杂,schema目前不能替代dtdschema快速...
  • Schema学习

    2016-09-30 14:53:33
    1.Schema介绍 XML Schema 是基于 XML 的 DTD 替代者。可描述 XML 文档的结构。 XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。 XML Schema 本身也是一种XML构造,它用来描述[哪个元素,在什么...
  • XML:Schema、三种编写Schema的方式

    万次阅读 2019-07-27 19:58:57
    针对DTD文件的不足之处:(不能出现相同名称的元素,DTD的语法不是xml的语法)出现的Schema,需要使用什么命名空间的东西就先引入,使用xmlns,后面加后缀,不加就不用后缀 定义Schema文件,后缀名为xsd ...
  • schema设计

    2017-03-15 10:58:34
    schema设计 Schema设计   Schema:表的模式;   设计数据的表,索引,以及表和表的关系 在数据建模的基础上将关系模型转为数据库表满足业务模型需要基础上根据数据库和应用特点优化表结构   关系...
  • exec DBMS_STATS.UNLOCK_schema_STATS('TT_USER'); 批量解锁用户 begin dbms_stats.unlock_schema_stats('ZBQ_WB'); dbms_stats.unlock_schema_stats('ZBQ_BZ'); dbms_stats.unlock_schema_stats('JC...
  • JSON Schema 详解

    万次阅读 多人点赞 2019-04-12 12:20:04
    要真正理解 JSON Schema,首先需要知道什么是 JSON。 JSON 代表 “JavaScript对象表示法”,是一种简单的数据交换格式。它最初是万维网的一个符号。因为JavaScript存在于大多数Web浏览器中,而JSON是基于JavaScript...
  • Postgres Schema information_schema pg_catalog

    千次阅读 2018-08-21 01:02:47
    今天讨论Postgres中两个重要的系统Schema:information_schema与pg_catalog 首先,我们通过查看pg_catalog.pg_namespace来查看当前数据库中全部的Schema qingping=&gt; select oid,* from pg_catalog.pg_...
  • xml之schema约束

    千次阅读 2020-07-01 19:37:32
    schema约束的定义 将dtd文件引入到xml文档中 前言 在这里我们介绍了xml之tdt约束,但是这种约束没法约束属性的值,比如age属性我想限制只能是数字,那就不行了,所以我们这里介绍schema约束 schema约束的...
  • Schema being registered is incompatible with an earlier schema; error code: 409 Schema being registered is incompatible with an earlier schema; error code: 409 最近在研究Kafka Stream,遇到了很多坑,...
  • 摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中,新加入了动态更新schema功能,这个默认的schema.xml确找不到了,那么managed-schemaschema.xml是...
  • JSON Schema详解

    万次阅读 2017-09-06 14:18:02
    熟悉XML的开发人员都知道,对XML文档的定义有一个XML Schema。 同样,对于JSON文件的定义,也应该有一个JSON Schema以规范JSON文件内容。 JSON Schema用以标注和验证JSON文档的元数据的文档,可以类比于XML Schema...
  • postgresql创建schema

    万次阅读 2017-09-12 10:48:09
    schema概念有点像命名空间或者把它想像成一个文件系统中的目录,差别就是这个schema下不能再有schema嵌套. 各个对象比如表、函数等存放在各个schema下,同一个schema下不能有重复的对象名字,但在不同schema下可以重复....
  • json schema

    千次阅读 2017-04-14 09:41:45
    一、简介  我们先看下面的json数据 { "id": 1, "name": "g2", "desc":"b2" } 假设, 我们要求id为long...现在流行的json schema 是用来校验json数据是否合法。 详情请移至 https://spacetelescope.githu
  • 摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中,新加入了动态更新schema功能,这个默认的schema.xml确找不到了,那么managed-schemaschema.x...
  • oracle之schema

    千次阅读 2019-05-21 23:02:29
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。 我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.).Schema objects are the ...

空空如也

1 2 3 4 5 ... 20
收藏数 154,995
精华内容 61,998
关键字:

schema