zoukankan      html  css  js  c++  java
  • 【数据库学习笔记】什么是DBO?

      刚开始使用SQL server,对DBO不是很理解。在网络上搜寻了一些他人的理解,现摘抄如下。

     来源网址:

      http://bbs.csdn.net/topics/200051355

      http://bbs.csdn.net/topics/100179549

      我也上百度找了一下,有两个命案比较像。

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


    这两答案,看上去感觉是大致一样,却明显有差别,真是头痛,希望对SQL有多年了解的前辈们给解释或下一个定论,到底是“构架”还是“默认用户”?

    ---------------------------------------------------------------------------------------------------------------------------

    dbo是默认用户也是架构,
    dbo作为架构是为了更好的与2000兼容,
    在2000中DataBaseName.dbo.TableName解释为:数据库名.用户名.表名,
    在2005中DataBaseName.dbo.TableName解释为:数据库名.架构名.表名,
    这样2000中的代码移植到2005中就不会报错(dbo在2005中是默认的架构,创建表时,如不指定架构,则默认为属于dbo为个架构)。

    ----------------------------------------------------------------------------------------------------------------------------------

    虽然 SQL Server 2000 包含 CREATE SCHEMA 语句,但实际上并不会像上面所定义的那样创建架构。在 SQL Server 2000 中,数据库用户和架构是隐式连接在一起的。每个数据库用户都是与该用户同名的架构的所有者。对象的所有者在功能上与包含它的架构所有者相同。因而,SQL Server 2000 中的完全限定名称的“架构”也是数据库中的用户。

    在 SQL Server 2005 中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。并且可以在架构中创建具有用户友好名称的对象,明确指示对象的功能。

    SQL Server 2005 还引入了“默认架构”的概念,用于解析未使用其完全限定名称引用的对象的名称。在 SQL Server 2000 中,首先检查的是调用数据库用户所拥有的架构,然后是 DBO 拥有的架构。在 SQL Server 2005 中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用 CREATE USER 和 ALTER USER 的 DEFAULT_SCHEMA 选项设置和更改默认架构。如果未定义 DEFAULT_SCHEMA,则数据库用户将把 DBO 作为其默认架构。

    -----------------------------------------------------------------------------------------------------------------------------------

    欢迎关注我的微博:@机器学习日记 https://weibo.com/6382778167/profile?rightmod=1&wvr=6&mod=personinfo
  • 相关阅读:
    iOS 10适配知识点
    iOS中的【库】
    修改UISearchBar的Cancel按钮的颜色和文字
    UIScrollView 滑动手势与右滑返回冲突
    Sqoop使用手册
    Hbase常用操作CRUD(增删改查)
    HBase 常用Shell命令
    搭建HBase完全分布式集群
    Mac下安装HBase及详解
    使用brew安装软件
  • 原文地址:https://www.cnblogs.com/danscarlett/p/4053495.html
Copyright © 2011-2022 走看看