程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了目录,架构,用户和数据库实例之间的关系大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决目录,架构,用户和数据库实例之间的关系?

开发过程中遇到目录,架构,用户和数据库实例之间的关系的问题如何解决?下面主要结合日常开发的经验,给出你关于目录,架构,用户和数据库实例之间的关系的解决方法建议,希望对你解决目录,架构,用户和数据库实例之间的关系有所启发或帮助;

  • 服务器实例==数据库==目录==所有数据均由同一执行引擎管理
  • 模式==数据库中的名称空间,与用户帐户相同
  • 用户==模式所有者==命名帐户,与模式相同,谁可以连接到数据库,谁拥有该模式并可能在其他模式中使用对象
  • 标识正在运行的服务器中的任何对象,您需要(模式名称+对象名称)

  • 服务器实例==数据库集群==由同一执行引擎管理的所有数据
  • 数据库==目录==数据库集群中的单个数据库,与同一数据库集群中的其他数据库隔离
  • 数据库中的架构==命名空间
  • 用户==命名帐户,可以连接数据库,分别拥有和使用每个允许的数据库中的对象
  • 标识正在运行的服务器中的任何对象,您需要(数据库名称+模式名称+对象名称)

  • 服务器实例==未用目录标识,只是一组数据库
  • 数据库==模式==目录==服务器内的名称空间。
  • 用户==命名帐户,该帐户可以连接到服务器并在一个或多个数据库中使用(但不能 拥有@H_675_34@ -没有所有权的概念)对象
  • 标识正在运行的服务器中的任何对象,您需要(数据库名称+对象名称)

  • 服务器实例==托管数据库集
  • 服务器中的数据库==名称空间限定符,很少称为目录
  • 模式==所有者==数据库中的名称空间,与数据库角色相关联,默认情况下仅dbo使用
  • 用户==命名帐户,该帐户可以连接到服务器并在一个或多个数据库中使用(但不能 拥有@H_675_34@ -模式作为所有者)对象
  • 标识正在运行的服务器中的任何对象,您需要(数据库名称+所有者+对象名称)

因此,我认为您的问题的答案是:

  1. 取决于实现,是否需要目录名称来标识对象。“目录”,“模式”和“数据库”的含义因一种实现方式而异。

  2. 是的,目录是数据存储的抽象。我认为也应该将其定义为一个独立的隔离名称空间,但并非所有sql引擎都可以做到这一点。

  3. __所有供应商都很好地定义了 数据库@H_675_34@ 和 架构@H_675_34@ 。 目录@H_675_34@ 有时与“数据库”(至少在Oracle和POSTGRes中)同义,有时与“ scheR_103_11845@a”同义,有时又与两者同义。术语 目录@H_675_34@ 通常还表示元数据收集(又名系统表)。

解决方法

为了比较不同供应商(Oracle,SQL
Server,DB2,MySQL和POSTGReSQL)的数据库,我如何唯一地标识任何对象,我是否需要目录?例如,在Java的DatabaseMetadata中,我至少应指定目录和模式fooPattern。

目录仅仅是数据存储的抽象吗?

大佬总结

以上是大佬教程为你收集整理的目录,架构,用户和数据库实例之间的关系全部内容,希望文章能够帮你解决目录,架构,用户和数据库实例之间的关系所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。