第五章 SQL定义表
表名称和架构名称
可以通过定义表(使用CREATE TABLE)或通过定义投影到表的持久类来创建表:
- DDL:InterSystemsIRIS®数据平台使用CREATE TABLE中指定的表名来生成相应的持久类名,并使用指定的架构名来生成相应的包名。
- 类定义:InterSystemsIRIS®数据平台使用持久类名称来生成对应的表名,并使用包名称来生成对应的模式名。
由于以下原因,这两个名字之间的对应关系可能不相同:
- 持久化类和SQL表遵循不同的命名约定。 适用不同的有效字符和长度要求。 模式和表名不区分大小写; 包名和类名区分大小写。 系统自动将有效提供的名称转换为有效的对应名称,以确保生成的名称是惟一的。
- 持久化类名与对应的SQL表名之间的匹配是默认的。
可以使用
SqlTableName类关键字来提供不同的SQL表名。 - 默认模式名可能与默认包名不匹配。
如果指定一个非限定的SQL表名或持久类名,系统将提供一个默认的模式名或包名。
初始的默认模式名是
SQLUser; 初始默认包名为“User”。
模式名称
表、视图或存储过程名称可以是限定的(schema.name),也可以是限定的()。
- 如果指定模式名(限定名),则指定的表、视图或存储过程将被分配给该模式。 如果模式不存在,则InterSystems SQL创建模式,并将表、视图或存储过程分配给它。

