>>>>>>>>>>>> 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
pgpjQZnewGPz0.pgp
Description: PGP signature
