按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了;例如数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。这里还有一点需要注意的是,SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名。
从实现的角度来看,各种数据库系统对Catalog和Schema的支持和实现方式千差万别,针对具体问题需要参考具体的产品说明书,比较简单而常用的实现方式是使用数据库名作为Catalog名,使用用户名作为Schema名,具体可参见下表:
表1 常用数据库
供应商 |
Catalog支持 |
Schema支持 |
Oracle |
不支持 |
Oracle User ID |
MySQL |
不支持 |
数据库名 |
MS SQL Server |
数据库名 |
对象属主名,2005版开始有变 |
DB2 |
指定数据库对象时,Catalog部分省略 |
Catalog属主名 |
Sybase |
数据库名 |
数据库属主名 |
Informix |
不支持 |
不需要 |
PointBase |
不支持 |
数据库名 |
最后一点需要注意的是Schema这个单词,它在SQL环境下的含义与其在数据建模领域中的含义是完全不同的。在SQL环境下,Schema是一组相关的数据库对象的集合,Schema的名字为该组对象定义了一个命名空间,而在数据建模领域,Schema(模式)表示的是用形式语言描述的数据库的结构;简单来说,可以这样理解,数据建模所讲的Schema<也就是元数据>保存在SQL环境下相应Catalog中一个Schema<名叫DEFINITION_SCHEMA>下的表中,同时可以通过查询该Catalog中的另一个Schema<名叫INFORMATION_SCHEMA>下的视图而获取,具体细节不再赘述。
另外我结合MySQL官方的MySQL administrater数据库管理工具理解一下所谓的schema,catalog:
图1 MySql
点击那个catalogs,下面就出来了所有的database。想了一下,我这样来总结:
数据库:指的是说MySQL(或者说Oracle等)
schema:指的是说当偶create database caiceclb时,caiceclb就是一个schema
catalog:指的是所有的database目录,就像上图显示的那样,将MySQL原来的(mysql,infomation_schema)及后来新建的的database的集合。
相关推荐
在数据库管理中,Catalog(目录)和Schema(模式)是两个非常重要的概念,它们构成了数据库组织和管理的基础。本文将深入探讨这两个概念,以及它们在实际应用中的作用。 首先,让我们来理解什么是Catalog。在数据库...
openGauss基本管理 openGauss是一种关系型数据库管理系统(RDBMS),即一种用于管理存储在关系中的数据的系统。...搜索路径(search_path)始终以pg_temp和pg_catalog这两个schema作为搜索路径顺序中的前两位。
在Eclipse中,XML Schema(XSD)是用于定义XML文档结构的重要工具,它提供了验证XML文件正确性的规则。然而,有时在Eclipse中编辑XML文件时,可能会遇到没有自动提示或验证的问题,这通常是由于Eclipse未能正确关联...
文档中的“Catalog Schema Wizard”可能指的是一个用于指导用户如何在ArcCatalog中构建Geodatabase模式的向导。 5. **数据类型和字段**:文档提到了“esriFieldTypeInteger”等字段类型,这表明在Geodatabase设计...
例如,在一个书目XML文档的Schema中,`<catalog>`和`<book>`元素可能分别被定义为`catalogtype`和`elementtype`这两种类型,这些类型在Schema文档的其他部分会被详细定义。 XML Schema还提供了注解(annotation)...
这可以通过"Window" -> "Preferences" -> "XML" -> "XML Catalog"来进行。在这里,可以添加Spring框架的XSD文件URL或者本地路径,比如`http://www.springframework.org/schema/beans/spring-beans.xsd`。 3. **关联...
XSD(XML Schema Definition)是另一种用于描述XML文档结构的规范,相比DTD,它提供了更强大的功能和表达能力。XSD允许定义数据类型、使用命名空间、设置约束条件等。XSD文件可以更精确地控制元素和属性的值,如数字...
jPDL4Schema 校验 jPDL(Java Process Definition Language)是一种流程定义语言,由 jBPM(Java Business Process Management)开发。jPDL 用于描述业务流程,并以 XML 文件的形式存储。在 jBPM3 中,需要两个文件...
例如,`sql_catalog`包含了临时表、数据类型、提交类型、存储方式、字符集、对象列表、对象类型、SQL类型、事务、版本、schema等元素。此外,还有`sql_trans`用于管理事务状态,`sql_column`表示列信息,`sql_index`...
标题 "org.jibx.schema.org.oasis_open.committees.entity.release._1_0.catalog-1.0.6.zip" 暗示我们正在处理一个与Java相关的开源项目,它可能涉及XML Schema(XSD)和数据绑定框架JiBX。 JiBX是一个强大的工具,...
在Eclipse插件开发中,XMLCatalog是一个非常重要的工具,它用于管理和解析XML文档中的实体引用,例如DTD(文档类型定义)或XSD(XML Schema定义)。在本教程中,我们将深入探讨如何将XMLCatalog集成到你的Eclipse...
from zope.schema import TextLine @interface.implementer(Interface) class MyObject(object): title = TextLine(title=u"Title") catalog = Catalog() catalog.index('title', 'text') # 创建索引对象 obj1 =...
Eclipse dubbo Multiple ...add->catalog entry ->file system 选择刚刚下载的文件路径 修改key值和配置文件的http://code.alibabatech.com/schema/dubbo/dubbo.xsd 相同 回到项目,左击配置文件xml 选择validate
mongoose-schema-export --excludeModels=Catalog,PrintJob --excludeFields=__v --cwd=main/src/app/id --pattern=**/*.model.js --format=drawio --output=drawio.xml 选项: -f, --format Output format. ...
- **Meerdere schema’s in één database**: 如有多个数据库模式,需要适当地在ReportNet中配置。 - **Query Items aanpassen naar het gewenste Usage formaat**: 可能需要调整查询元素以符合ReportNet的使用格式...
【标题】:“英语资料,很有用的哦” 【描述】中的内容主要涉及到的是Hibernate框架的映射配置,这是一种用于Java应用程序的对象关系映射(ORM)工具。Hibernate通过XML文件将Java对象与数据库表进行绑定,使得开发...
Java JSON Schema和Hyper-Schema生成器。 当前,它基于v4草案。 支持Java 8日期和时间API。 最新发布 < groupId>com.github.reinert</ groupId> < artifactId>jjschema < version>1.16 简单的操作方法 假设...
@Table(name="",catalog="",schema="") - 可选,通常和@Entity 配合使用,只能标注在实 体的 class 定义处,表示实体对应的数据库表的信息。 属性: name - 可选,表示表的名称,默认地,表名和实体名称一致,只有在...
下载一个dubbo.xsd文件windows->preferrence->xml->xmlcatalog add->catalog entry ->file system 选择刚刚下载的文件路径 修改key值和配置文件的http://code.alibabatech.com/schema/dubbo/dubbo.xsd 相同 保存即可...