在数据库中CatalogSchema指的是什么

在数据库中CatalogSchema指的是什么,第1张

数据库CatalogSchema概念解读

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

详细信息如下:

InOracle:

serverinstance==database==catalog:alldatamanagedbysameexecutionengine

schema:namespacewithindatabase,identicaltouseraount

user==schemaowner==namedaount:identicaltoschema,whocanconnecttodatabase,whoownstheschemaanduseobjectspossiblyinotherschemas

toidentifyanyobjectinrunningserver,youneed(schemanameobjectname)

InPostgreSQL:

serverinstance==dbcluster:alldatamanagedbysameexecutionengine

database==catalog:singledatabasewithindbcluster,isolatedfromotherdatabasesinsamedbcluster

schema:namespacewithindatabaseItallowsmanyuserstouseonedatabasewithoutinterferingwitheachother

user==namedaount:whocanconnecttodatabase,ownanduseobjectsineachalloweddatabaseseparately

toidentifyanyobjectinrunningserver,youneed(databasenameschemanameobjectname)

InMySQL:

serverinstance==notidentifiedwithcatalog,justasetofdatabases

database==schema==catalog:anamespacewithintheserver

user==namedaount:whocanconnecttoserveranduse(butcannotown-noconceptofownership)objectsinoneormoredatabases

toidentifyanyobjectinrunningserver,youneed(databasename

在SQL标准中,Database和Schema是不同的概念,在很多数据库中,二者也有明显的不同,但在另外一些数据库中,二者可能是相同的含义。

通常情况下,Database指的是一个数据库中的一类对象,用于组织表、视图、存储过程、自定义函数等数据库对象;而Schema除了包含对象外,另外一个重要的特点是有用户的概念,可以这样理解Schema:Schema是指定的数据库用户和这个用户所拥有的所有数据库对象的集合。

什么原数据!Schema只是个视图!

有多个同名的存储过程!

它的数据都是来自系统表的!

例如

select from information_Schemaschemata

这些都是保存在master的视图

不知道你说的是不是我说的这个!如果不是请赐教你是说哪里?

每个数据都得建schema,需要将创建schema,跟他的表的索引区别开来,同时可以让索引,表,视图不在同一个命名空间,让没有权限的用户不能 *** 作。

1、如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有 *** 作数据库中每个房间的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙。

2、在SQL Server 2000中,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,假如我们在某一数据库中创建了用户Bosco,那么此时后台也为我们默认的创建了schemaBosco,schema的名字和user的名字相同。

3、在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同。

database schema 是数据库的架构,包含在数据库实例中的数据库里,相当于原来版本的使用者如dbo等 database instance 是数据库实例,相当于安装数据库系统后的一个数据库服务。

以上就是关于在数据库中CatalogSchema指的是什么全部的内容,包括:在数据库中CatalogSchema指的是什么、MYSQL中database和schema一样吗、数据库表的Schema的元数据是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9481193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存