Friday, 19 September 2014

Schema Object Naming Rules



Names must be from 1 to 30 bytes long with these exceptions:
·         Names of databases are limited to 8 bytes.
·         Names of database links can be as long as 128 bytes.

You should use ASCII characters in database names, global database names, and database link names, because ASCII characters provide optimal compatibility across different platforms and operating systems.
Nonquoted identifiers must begin with an alphabetic character from your database character set. Quoted identifiers can begin with any character.
Nonquoted identifiers can contain only alphanumeric characters from your database character set and the underscore (_), dollar sign ($), and pound sign (#). Database links can also contain periods (.) and "at" signs (@). Oracle strongly discourages you from using $ and # in nonquoted identifiers.
Quoted identifiers can contain any characters and punctuations marks as well as spaces. However, neither quoted nor nonquoted identifiers can contain double quotation marks or the null character (
\0).

The following schema objects share one namespace:
·         Tables
·         Views
·         Sequences
·         Private synonyms
·         Stand-alone procedures
·         Stand-alone stored functions
·         Packages
·         Materialized views
·         User-defined types
Each of the following schema objects has its own namespace:
·         Indexes
·         Constraints
·         Clusters
·         Database triggers
·         Private database links
·         Dimensions

Because tables and views are in the same namespace, a table and a view in the same schema cannot have the same name. However, tables and indexes are in different namespaces. Therefore, a table and an index in the same schema can have the same name.
Each schema in the database has its own namespaces for the objects it contains. This means, for example, that two tables in different schemas are in different namespaces and can have the same name.
Each of the following nonschema objects also has its own namespace:
·         User roles
·         Public synonyms
·         Public database links
·         Tablespaces
·         Profiles
·         Parameter files (PFILEs) and server parameter files (SPFILEs)

No comments:

Post a Comment