什么是存储定义语言 (SDL)?

And*_*san 7 terminology database-theory

在我的Databases演讲中,老师提到SQL不仅仅是一种数据定义语言(DDL)、数据操作语言(DML)和视图定义语言(VDL),还是一种存储定义语言(SDL)。最后的用法没有任何进一步的解释或示例。

在 Internet 上搜索有关使用 SQL 作为 SDL 的额外信息不会产生任何相关结果。谁能举一个使用 SQL 作为存储定义语言的例子?

编辑:

像 MySQL 这样的规范会SET storage_engine=MYISAM;算作存储定义吗?它并没有真正涉及到数据存储,而是如何将存放。

小智 2

您可能想请老师定义“SDL”。我认为这个术语没有出现在 SQL 标准中。我找到了这个参考资料(参见第 3 页),但我不同意:SQL 没有定义物理结构、每个字段的物理字节、物理字段顺序、物理排序或“混合记录”,无论这意味着什么。SQL 根本不定义字段、记录,或者说明数据如何存储在磁盘上(如果数据存储在磁盘上的话)。

也就是说,每个供应商确实为管理员提供了一些方法来定义数据的保存位置,并且许多供应商提供了对物理存储方面的不同级别的控制(例如 ISAM、聚集索引)。AFAIK 所有这些东西都不在 SQL 标准之外。我使用过理解 SQL DML 的 DBMS,但定义表和存储的机制完全独立。