>>>>>>>>>>>> Daniel John Debrunner wrote (2005-11-14 15:18:59):
> > The best approach would probably be to add a non-standard character to
> > the identifiers so that a non-standard prefix could be
> > used. E.g. "SYS$".
> 
> That's pretty ugly in my mind, not sure why would would force such use
> on Derby's users. If we went down this path, then we have a somewhat
> unique current prefix for some newer system schemas, "SYSCS_". Or
> something like "SYSDERBY_" could be picked.

I agree that "SYS$" (I worked with VMS in the 80's ;-) is ugly and
that SYSCS_ or SYSDERBY_ is better.

> Do other databases have restrictions in creating schemas?

I quick search on the web gave:

*** Postgres:  

Schema names beginning with pg_ are reserved for system purposes and
may not be created by users.

*** DB2: 

The reserved schema names are:

    * SYSCAT
    * SYSFUN
    * SYSIBM
    * SYSSTAT
    * SYSPROC 

It is strongly recommended that schema names never begin with the
'SYS' prefix, because 'SYS', by convention, is used to indicate an
area that is reserved by the system. No user-defined functions,
user-defined types, triggers, or aliases can be placed into a schema
whose name starts with 'SYS'

*** Sybase and SQL-server

None of these (unless quoted):

BACKUP   COLUMN         COMMITTED       CONTAINS         CONTAINSTABLE
CROSS   CURRENT_DATE    CURRENT_TIME    CURRENT_TIMESTAMP       CURRENT_USER
DENY    DISTRIBUTED     FILE    FLOPPY  FREETEXT
FREETEXTTABLE   FULL    IDENTITYCOL     INNER   JOIN
LEFT    NOCHECK         OPENDATASOURCE  OPENQUERY       OPENROWSET
OUTER   PERCENT         PIPE    REPEATABLE      REPLICATION
RESTORE         RESTRICT        RIGHT   ROWGUIDECOL     SERIALIZABLE 
SESSION_USER    SYSTEMUSER      TAPE    TOP     UNCOMMITTED
UPDATETEXT                               

*** Oracle

None of the "Oracle reseved words" which in Oracle 8 was:

ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR CHECK
CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT DATE DECIMAL
DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT FOR
FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE IN INCREMENT INDEX
INITIAL INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK LONG
MAXEXTENTS MINUS MLSLABEL MODE MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT
NULL NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE PRIOR
PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS
SELECT SESSION SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM
SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE
VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH


-- 
Bernt Marius Johnsen, Database Technology Group, 
Sun Microsystems, Trondheim, Norway

Attachment: pgpjQZnewGPz0.pgp
Description: PGP signature

Reply via email to