zoukankan      html  css  js  c++  java
  • dbo是默认用户也是架构

    dbo是默认用户也是架构
    dbo作为架构是为了更好的与2000兼容,
    在2000中DataBaseName.dbo.TableName解释为:数据库名.用户名.表名,
    在2005中DataBaseName.dbo.TableName解释为:数据库名.架构名.表名,
    这样2000中的代码移植到2005中就不会报错(dbo在2005中是默认的架构,创建表时,如不指定架构,则默认为属于dbo为个架构)。
    2000中:
    dbo 是 database owner 的缩写, 是数据库对象所有者SQL SERVER 中的 对象的标准写法是 databasename.databaseownername.objectname

      数据库所有者 (dbo)  dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。

    在2005中:

        dbo是一个构架(schema),与sql2000不同的是,在sql2005中,表的调用格式如下:"数据库名.构架名.表名",同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念.
        在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式.

    什么时候使用:

        数据库名.构架名.表名,这种方式在相同的数据服务器,但是所用表不在当前编码的数据库内。

        例1:在数据库A中有表dbo.T1,B中有dbo.T2。     

        在数据库B里调用T1这时候要写成 select * from A.dbo.T1

         例2:使用链接数据库的时候:

         SELECT * FROM [连接名].[数据库名].[架构名].[表名]
         SELECT * FROM testlink.test.dbo.t1

  • 相关阅读:
    tf-idf sklearn
    特征工程——特征预处理
    dict 字典
    特征预处理——特征表达
    特征工程之特征选择
    机器学习技巧学习
    dataframe去重 drop_duplicates
    dataframe 转为list
    XGboost
    StratifiedShuffleSplit()函数 实现对数据集的划分
  • 原文地址:https://www.cnblogs.com/ammy714926/p/4194018.html
Copyright © 2011-2022 走看看