数据集及字段命名规则

数据集命名规则

数据集命名需符合以下规范:

  • 字符范围:
    • 允许的字符范围:汉字 (中文字符)、大写英文字母 (A-Z)、小写英文字母 (a-z)、数字 (0-9)、下划线 (_)。
    • 禁止使用的字符:除上述允许的字符范围外的所有字符均为非法字符,例如:空格、括号、连字符、点号、引号、百分号等。若名称中含有非法字符,将自动转换为下划线(_)进行存储。
  • 首字符规则:名称的第一个字符必须是汉字或字母(大小写均可),禁止以数字或下划线作为开头。
  • 长度限制:
    • 名称必须包含至少1个有效字符,长度不能为0。
    • 名称的最大长度为59个字符,1个汉字、1个字母、1个数字或1个下划线均计为1个字符,若名称超过59字符,系统将自动截断超出部分。
  • 保留关键字冲突:名称不得与任何数据库系统的保留关键字冲突。

字段命名规则

字段命名需符合以下规范:

  • 字符范围:
    • 允许的字符范围:汉字 (中文字符)、大写英文字母 (A-Z)、小写英文字母 (a-z)、数字 (0-9)、下划线 (_)。
    • 禁止使用的字符:除上述允许的字符范围外的所有字符均为非法字符,例如:空格、括号、连字符、点号、引号、百分号等。若名称中含有非法字符,将自动转换为下划线(_)进行存储。
  • 首字符规则:名称的第一个字符必须是汉字或字母(大小写均可),禁止以数字、下划线或“sm”两个连续字母作为开头。
  • 长度限制:
    • 名称必须包含至少1个有效字符,长度不能为0。
    • 名称的最大长度为28个字符,1个汉字、1个字母、1个数字或1个下划线均计为1个字符,若名称超过28字符,系统将自动截断超出部分。
  • 唯一性:同一个数据集中的字段具有唯一性,不得重复。
  • 保留关键字冲突:名称不得与任何数据库系统的保留关键字冲突。

数据库系统的保留关键字

UDB、Oracle、SQL Server 等数据库均有一些保留的关键字,在 SuperMap 中创建表和字段的时候,表名和字段名都不能使用这些关键字。现在把 UDB/UDBX和 Oracle 数据库关键字整理出来,希望给用户带来一些方便。除了下面列出的保留关键字外,Oracle 对系统自动生成的对象及子对象以"SYS_"开头,因此 Oracle 会阻止用户为指定的对象或子对象以"SYS_"为前缀,否则有可能引起命名解析冲突。

UDB/UDBX 数据库保留关键字

ABORT CHECK DROP IMMEDIATE NATURAL RELEASE UPDATE
ACTION COLLATE EACH IN NO RENAME USING
ADD COLUMN ELSE INDEX NOT REPLACE VACUUM
AFTER COMMIT END INDEXED NOTNULL RESTRICT VALUES
ALL CONFLICT ESCAPE INITIALLY NULL RIGHT VIEW
ALTER CONSTRAINT EXCEPT INNER OF ROLLBACK VIRTUAL
ANALYZE CREATE EXCLUSIVE INSERT OFFSET ROW WHEN
AND CROSS EXISTS INSTEAD ON SAVEPOINT WHERE
AS CURRENT_DATE EXPLAIN INTERSECT OR SELECT  
ASC CURRENT_TIME FAIL INTO ORDER SET  
ATTACH CURRENT_TIMESTAMP FOR IS OUTER TABLE  
AUTOINCREMENT DATABASE FOREIGN ISNULL PLAN TEMP  
BEFORE DEFAULT FROM JOIN PRAGMA TEMPORARY  
BEGIN DEFERRABLE FULL KEY PRIMARY TO  
BETWEEN DEFERRED GLOB LEFT QUERY THEN  
BY DELETE GROUP LIKE RAISE TRANSACTION  
CASCADE DESC HAVING LIMIT REFERENCES TRIGGER  
CASE DETACH IF LINES REGEXP UNION  
CAST DISTINCT IGNORE MATCH REINDEX UNIQUE  

Oracle 数据库保留关键字

ABORT COMMIT EXIT LIMITED OTHERS ROWNUM TEXT
ACCEPT COMPRESS FALSE LINES OUT ROWS THEN
ACCESS CONNECT FETCH LOCK PACKAGE ROWTYPE TO
ADD CONSTANT FILE LONG PARTITION RUN TRIGGER
ALL CRASH FLOAT LOOP PCTFREE SAVEPOINT TRUE
ALTER CREATE FOR MAX PLS_INTEGER SCHEMA TYPE
AND CURRENT FROM MAXEXTENTS POSITIVE SELECT UID
ANY CURRVAL MINUS MIN POSITIVEN SEPARATE UNION
ARRAY CURSOR FUNCTION MLSLABEL PRAGMA SESSION UNIQUE
ARRAYLEN DATABASE GENERIC MOD PRIOR SET UPDATE
AS DATA_BASE GOTO MODE PRIVATE SHARE USE
ASC DATE GRANT MODIFY PRIVILEGES SIZE USER
ASSERT DBA GROUP NATUAL PROCEDURE SMALLINT VALIDATE
ASSIGN DEBUGOFF HAVING NATURALN PUBLIC SPACE VALUES
AT DEBUGON IDENTIFIED NEW RAISE SQL VARCHAR
AUDIT DECLARE IF NEXTVAL RANGE SQLCODE VARCHAR2
BETWEEN DECIMAL IMMEDIATE NOAUDIT RAW SQLERRM VARIANCE
BINARY_INTEGER DEFAULT IN NOCOMPRESS REAL START VIEW
BODY DEFINITION INCREMENT NOT RECORD STATE VIEWS
BOOLEAN DELAY INDEX NOWAIT REF STATEMENT WHEN
BY DELETE INDEXES NULL RELEASE STTDEV WHENEVER
CASE DESC INDICATOR NUMBER REMR SUBTYPE WHERE
CHAR DIGITS INITIAL NUMBER_BASE RENAME SUCCESSFUL WHILE
CHAR_BASE DISPOSE INSERT OF RESOURCE SUM WITH
CHECK DISTINCT INTEGER OFFLINE RETURN SYNONYM WORK
CLOSE DO INTERFACE ON REVERSE SYSDATE WRITE
CLUSTER DROP INTERSECT ONLINE REVOKE TABAUTH XOR
CLUSTERS ELSE INTO OPEN ROLLBACK TABLE  
COLAUTH ELSIF IS OPTION ROW TABLES  
COLUMN EXCLUSIVE LEVEL OR ROWID TASK  
COMMENT EXISTS LIKE ORDER ROWLABEL TERMINATE