好问题,一个仅通过查看 HANA(数据库)无法回答的问题。
SAP 的数据仓库应用程序 SAP Business Warehouse (SAP BW) 多年来一直使用这种命名数据库对象的方式,甚至比 HANA 还早。
如果您看到类似的表和视图名称,/BIC/<this_is_a_name>
则这些是 SAP BW 对象(或来自使用 BW 技术的应用程序)。对于所有实际问题,这是为 DB 对象
创建名称空间的一种方式。
现在,SQL DB 带有一种用于 DB 对象的命名空间机制——您提到的.
在不同名称组件之间使用句点的机制。
<DB name>
. <schema name>
. <object name>
是一个常见的方案。
但是,并非所有 DBMS 都支持/支持很多年前,当 SAP BW 首次开发时(如果我没记错的话,大约是 1996/7 年)。例如,Oracle 仅支持每个 DB 用户一个模式。因此,要在这个默认模式中创建“命名空间”,必须在对象名称“内”进行。
正如您所指出的, SAP 选择了正斜杠/
来分割对象名称,并且由于为 SQL 指定的对象命名规则,这要求必须引用该名称。
如果分隔符是句号,那会有什么不同.
吗?
一点也不。由于句点字符对 SQL 具有特殊含义,因此 DBMS 会尝试将其解释为
<DB name>
. <schema name>
.<object name>
上文提到的。
如果提供的时间多于这两个时间段,则 DBMS 不知道这意味着什么。
当谈到 SAP HANA 中的“图形视图”(信息模型)时,还有另一个方面发挥作用。
经典的 XS 建模/开发面向开发工件的中央存储库。DB 对象和 XSJS (JavaScript) 程序的所有源代码都存储在此存储库中,并从那里“激活”(考虑编译和部署)。
此存储库中的组织结构是“包”,其行为类似于文件夹和子文件夹,与您在例如 JAVA 项目中找到的非常相似)。在这个包结构中,每个单独的对象都可以通过其完整的“路径”来唯一地寻址,例如<main package>
. <sub-package>
. <sub-sub-package>
/ <objectname>
。
这就是视图名称中混合句点.
和正斜杠/
的来源。
请注意,所有这些仍处于传统水平,即在技术上绝对可以在没有所有名称空间 zip-zap 的情况下创建计算视图。那时您就不能使用图形建模工具。