Dataset and Field Naming Rules

Dataset Naming Rules

Dataset names must comply with the following specifications:

  • Character Range:
    • Allowed characters: Chinese characters, uppercase English letters (A-Z), lowercase English letters (a-z), digits (0-9), and underscore (_).
    • Prohibited characters: All characters outside the above allowed range are illegal, such as: spaces, parentheses, hyphens, dots, quotation marks, percent signs, etc. If the name contains illegal characters, they will be automatically converted to underscores (_) for storage.
  • First Character Rule: The first character of the name must be a Chinese character or a letter (case insensitive). It is prohibited to start with a digit or an underscore.
  • Length Limit:
    • The name must contain at least 1 valid character; the length cannot be 0.
    • The maximum length of the name is 59 characters. One Chinese character, one letter, one digit, or one underscore each counts as 1 character. If the name exceeds 59 characters, the system will automatically truncate the excess part.
  • Reserved Keyword Conflict: The name must not conflict with any reserved keywords of the database system.

Field Naming Rules

Field names must comply with the following specifications:

  • Character Range:
    • Allowed characters: Chinese characters, uppercase English letters (A-Z), lowercase English letters (a-z), digits (0-9), and underscore (_).
    • Prohibited characters: All characters outside the above allowed range are illegal, such as: spaces, parentheses, hyphens, dots, quotation marks, percent signs, etc. If the name contains illegal characters, they will be automatically converted to underscores (_) for storage.
  • First Character Rule: The first character of the name must be a Chinese character or a letter (case insensitive). It is prohibited to start with a digit, an underscore, or the two consecutive letters "sm".
  • Length Limit:
    • The name must contain at least 1 valid character; the length cannot be 0.
    • The maximum length of the name is 28 characters. One Chinese character, one letter, one digit, or one underscore each counts as 1 character. If the name exceeds 28 characters, the system will automatically truncate the excess part.
  • Uniqueness: Field names within the same dataset must be unique and cannot be duplicated.
  • Reserved Keyword Conflict: The name must not conflict with any reserved keywords of the database system.

Reserved Keywords of Database Systems

Databases such as UDB, Oracle, and SQL Server have some reserved keywords. When creating tables and fields in SuperMap, neither table names nor field names can use these keywords. The keywords for UDB/UDBX and Oracle databases are compiled here for user convenience. In addition to the reserved keywords listed below, Oracle automatically generates system objects and sub-objects prefixed with "SYS_". Therefore, Oracle prevents users from using the prefix "SYS_" for specified objects or sub-objects, as it may cause naming resolution conflicts.

UDB/UDBX Database Reserved Keywords

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 Database Reserved Keywords

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