• sql-schema与catalog


     schema: 指的是说当偶create database caiceclb时,caiceclb就是一个schema

     catalog: 指的是所有的database目录,就像上图显示的那样,将MySQL原来的(mysql,infomation_schema)及后来新建的的database的集合。

    catalog,数据库名,schema,表名,
    服务器的本地名称.数据库名.dbo.表名

    schema: 指的是说当用户create database ****时,****就是一个schema

     catalog:指的是所有的database目录,将MySQL原来的(mysql,infomation_schema)及后来create database ****创建的的database的集合。

    schema:    (直接翻译)模式;计划;图解;概要   我自己的理解在数据库里:表空间

    catalog:    (直接翻译) 目录 产品目录 编目  

    schema:

    指的是说当偶create database caiceclb时,caiceclb就是一个schema

    在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。
    不同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权下,每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的数据(即schema用户自己的数据。

    catalog: 指的是所有的database目录

    两者关系:

    从概念上说,一个数据库系统包含多个 Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了;例如数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。这里还有一点需要注意的是,SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名

    在Oracle中,一个用户就是一个Schema,表都是建立在Schema中的,也可以理解为每个用户拥有不同的表。一个用户想访问另外一个用户,也就是另外一个schema的表的时候,可以用 username.tablename的形式来访问,完全不需要分布式事务。
     
     
    当你在 SQL Server 里面, 使用 create database  创建一个数据库以后。
    你可以不必额外的去创建 schema,因为 SQL Server 会 自动的创建一个 名字叫  dbo  的 schema
  • 相关阅读:
    肯恩·威尔伯:整合灵性途径的几大障碍
    金刚经里面的「应无所住而生其心」,这句话怎么理解?
    成熟是人一辈子的修养,与年龄无关
    杰克·康菲尔德:灵性成熟的十个特质
    杰克·康菲尔德:我是谁?(强烈推荐)
    x11vnc:利用远程机器上的X-Server来进行VNC连接(x11vnc 和 x-server 在不同的机器上)
    Linux ALL:Tigervnc-Server
    Centos 6/Redhat 6:远程图形桌面: tigervnc
    Fedora 31 :远程图形桌面: tigervnc
    win server 2019 :【2个?远程管理用户(单会话?)】升级为远程桌面服务【多用户(多会话)】
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4596393.html
Copyright © 2020-2023  润新知