数据库-----catalog与schema简介

在SQL环境下Catalog和Schema都属于抽象概念,主要用来解决命名冲突问题

一个数据库系统包含多个Catalog,每个Catalog包含多个Schema,每个Schema包含多个数据库对象(表、视图、字段等)

如数据库对象表的全限定名可表示为:Catalog名.Schema名.表名

SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名

从实现的角度来看,各种数据库系统对Catalog和Schema的支持和实现方式千差万别,比较简单而常用的实现方式是使用数据库名作为Catalog名,使用用户名作为Schema名,具体可参见下表:


供应商


Catalog支持


Schema支持


Oracle


不支持


Oracle User ID


MySQL


不支持


数据库名


MS SQL Server


数据库名


对象属主名,2005版开始有变


DB2


指定数据库对象时,Catalog部分省略


Catalog属主名


Sybase


数据库名


数据库属主名


Informix


不支持


不需要


PointBase


不支持


数据库名

时间: 2024-10-14 15:02:57

数据库-----catalog与schema简介的相关文章

Catalog与Schema

按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题.从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表.视图.字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了:例如数据库对象表的

Table configuration with catalog null, schema null错误的一个原因

我在进行Mybatis调试时出现了下面的警告提示: Generation Warnings Occured Table configuration with catalog null, schema null, and table 表名 did not resolve to any tables Mybatis generator操作没有产生结果. 多处找资料发现在我的 generatorConfig.xml文件中: <jdbcConnection driverClass="com.mys

Mysql数据库的mysql Schema 到底有哪些东西&amp; 手工注入的基础要领

#查看数据库版本 mysql> select @@version; +------------+ | @@version  | +------------+ | 5.5.16-log | +------------+ 1 row in set (0.00 sec) mysql> select * from information_schema.schemata; # 保存了系统的所有的数据库名 ,关键的字段是schema_name # 2 rows in set (0.04 sec)表示只有2

数据库中的schema概念

原文地址:http://blog.sina.com.cn/s/blog_7952e89001010jlj.html 数据库的初学者往往会对关系型数据库模式(schema).数据库(database).表(table).用户(user)之间感到迷惘,总感觉他们的关系千丝万缕,但又不知道他们的联系和区别在哪里,对一些问题往往说不出个所以然来.下面,我们就以SQL Server为核心,对其模式(schema).数据库(database).表(table).用户(user)之间的关系展开讨论. 首先,我

2016.7.12 Table configuration with catalog null, schema public, and table globalpage did not resolve to any tables(疑)

在eclipse中运行mybatis的generator插件时,出现如下错误提示: Generation Warnings Occured:Table configuration with catalog null, schema public, and table globalpage did not resolve to any tables. 虽然不知道为什么,但是去掉public就OK了??? 去掉再运行就没有错误了.

Android官方ORM数据库Room技术解决方案简介(一)

是时候该忘记Android SQLite了!Android官方ORM数据库Room技术解决方案简介(一) Android的Romm是Android官方整合出来的一揽子ORM数据库解决方案.Android Room和历史上的ORM数据库如Android ORMLite(见附录文章1,2),Android greenDao等等,有诸多相同的设计思想和理念,但Android Room同时吸收众家ORM数据库之长,有自己新的创新和改进.我将分开写若干篇文章,逐点介绍Android官方的ORM数据库技术解

数据库中的Schema到底是什么

参考:http://database.guide/what-is-a-database-schema/ 在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式.模式中包含了schema对象,可以是表(table).列(column).数据类型(data type).视图(view).存储过程(stored procedures).关系(relationships).主键(prima

从零开始实现一个最简单的数据库_Step2:Schema

属性(Property)做好后,就到了模式(Schema)了.其实模式仅仅是属性的封装,属性写的稳健的话,模式做起来会轻松很多. 因为我是一点点的写的代码,写之前也没有做太多架构方面的东西(毕竟小程序),所以经常会有修改.基本上从周一改到了今天,接口方面改的还不是特别的多,但实现方面确实几经周折. 我在写模式的时候,考虑最多的也就,2件事情:1,在设计层面,模式应该包含哪些内容(当然主要是属性),又有哪些类需要用到模式(以及怎么使用它):2,模式在内存.硬盘中都是以何种方式进行存储的.最早的时候

二 Schema简介

2.1 Schema 的作用 因为DTD无法解决命名冲突问题,所以出现了 Schema,它是DTD的替代者.DTD 和 Schema 的功能都是用于描述xml结构的. Schema: W3C 提出的一套用于结束xml元素的标准,支持命名空间,和 DTD 的作用一致.DTD 因为定义语法相对困难,且不是标准的 xml形式去描述定义的.而Schema本身就是xml(所以也被称作自描述的语言),去约束另一个xml元素的内容相对 DTD 更容易维护.2.2 Schema 文件的扩展名 xsd XML S