转自
http://friendlysong.blog.163.com/blog/static/32252439201122631949422/
不知道大家在学习的过程中有没有注意到过这样的一个问题,当你创建一个表,名字为TEST。也许过几天当你做索引或者视图实验的时候,想再次创建一个名字为TEST的索引或视图的时候,ORACLE会提示你已经存在该对象。本来我也没太在意,我以为就是以前可能创建过一个同名的对象呗,可做的实验多了我发现好像里面有些蹊跷,比如说我有个表叫TEST,那么当我再创建一个TEST视图的时候就会报错,可我如果再创建的不是视图,而是一个叫做TEST的索引的时候,就不会报错。由此引申出了命名空间的概念,在这之间我一直没在ORACLE中思考过这个概念,只是在学习C++的时候知道有namespace。于是去网上搜了些相关资料,自己做了下实验,在这里小总结一下~
命名空间定义了一组对象类型,在命名空间里,对象的名字必须是唯一的,当然,在不同的命名空间里,是可以使用相同的的名字的。
下面的对象类型共享同一个命名空间:
? Tables
? Views
? Sequences
? Private synonyms
? Stand-alone procedures
? Stand-alone stored functions
? Packages
? Materialized views
? User-defined types
因此,如果数据库中有一个表叫做TEST,那么就不能再创建一个叫做TEST的视图,至少,在一个schema中是不可能出现这种现象的。
下面的对象类型有各自的命名空间:
? Indexes
? Constraints
? Clusters
? Database triggers
? Private database links
? Dimensions
所以你可以创建一个叫做TEST的索引,即使在相同的schema中。
不受Schema局限的对象类型(Non schema objects)有它们自己的命名空间,如下:
? User roles
? Public synonyms
? Public database links
? Tablespaces
? Profiles
? Parameter files (PFILEs) and server parameter files (SPFILEs)
所以两个Non-schema objects可以用相同的名字。
分享到:
相关推荐
ORACLE数据库命名规范 ORACLE数据库命名规范是数据库管理员和开发者需要遵循的命名规则,以确保数据库对象的命名合理、易读和维护。数据库命名规范对数据库的各种对象进行了命名规则的定义,包括数据文件、控制文件...
Oracle 命名规则是数据库设计中的一个重要组成部分,它确保了数据库对象的命名一致性,提高了代码的可读性和维护性。本规范主要针对使用Oracle数据库的应用系统和项目开发工作,旨在建立一套标准化的命名规范。 ...
### 数据库(Oracle)命名规范 #### 一、概述 在Oracle数据库管理中,遵循一套标准的命名规范是非常重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能减少错误的发生,使得团队协作更加高效。本文将...
创建oracle表空间的具体指令及步骤,首先创建临时表空间然后创建表空间
System.Data.OracleClient 命名空间提供了用于 Oracle 数据库的数据访问类。它允许开发者使用 Oracle 提供的数据提供程序来进行数据访问操作。 #### System.Data.SqlClient System.Data.SqlClient 命名空间提供了...
### 数据库命名规范详解(Oracle数据库) #### 一、引言 在数据库设计与开发过程中,遵循一套良好的命名规范对于提高代码的可读性、可维护性和一致性具有重要意义。本篇文章将详细介绍Oracle数据库中的命名规范,...
### .NET 命名空间总结 #### 一、引言 在.NET Framework或.NET Core/Standard中,命名空间(Namespace)是组织类和其他类型的一种逻辑分组方式,旨在帮助开发人员管理和避免名称冲突。本篇文章将深入探讨.NET中的...
1. 用户命名需遵循 Oracle 的命名规则,确保唯一性和合规性。 2. 理解权限和角色的概念,合理分配权限可以确保数据安全和管理效率。 3. 表空间的规划和管理是数据库性能的关键,合理分配和扩展表空间可以提高数据库...
《ORACLE数据库命名编码规范详解》 一、编写目的与适用范围 ORACLE数据库命名编码规范的制定,旨在实现数据库命名及编码风格的标准化,从而提升数据库的可读性、可理解和可继承性,减少后期维护成本。此规范特别...
- **概述**:该命名空间包含了操作Oracle数据库的类型。 - **应用场景**: - Oracle数据库操作:例如执行Oracle数据库的查询。 10. **System.Transactions** - **概述**:该命名空间提供了编写事务性应用程序和...
Oracle命名规范是软件开发中的一个重要环节,它确保了数据库对象的命名清晰、一致,便于团队协作和后期维护。本规范主要适用于所有基于Oracle数据库的应用系统和项目开发。 在Oracle命名规范中,首先强调的是统一性...
此外,还有针对特定数据库供应商的命名空间,如System.Data.OracleClient用于Oracle数据库,以及用于ODBC数据源的System.Data.Odbc。Microsoft.SqlServer.Server则专注于SQL Server和CLR的集成。 这些命名空间是...
.NET Framework 是一个全面的开发平台,它包含了丰富的类库,为开发者提供了许多命名空间,以支持不同领域的编程需求。命名空间是一种组织代码的方式,它帮助开发者更好地管理和使用类与方法,避免命名冲突。 1. ...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
### Oracle查看各表占用空间 在Oracle数据库管理中,了解各个表所占用的空间大小对于优化存储、提升系统性能以及合理规划资源分配具有重要意义。本文将详细介绍如何通过SQL语句查询Oracle数据库中特定用户的所有表...
Oracle 对象命名规范 Oracle 对象命名规范是指在 Oracle 数据库中,對各種对象(如表、视图、索引、存储过程等)进行命名时所遵守的规则和惯例。这些规则和惯例的目的是为了提高数据的可读性、可维护性和可重用性,...
在Oracle ADF(Application Development Framework)开发中,遵循一套命名规范和项目布局指南是非常重要的,它有助于确保代码的可读性、一致性和可维护性。根据提供的文件内容,本文将详细探讨Oracle ADF的命名规范...
2. 使用using语句导入Oracle命名空间,例如`using Oracle.DataAccess.Client;` 3. 创建OracleConnectionStringBuilder对象,设置数据库连接字符串,包括服务器名称、服务名、用户名和密码等信息。 4. 使用Oracle...
1. **表空间名称**:表空间的名称必须遵循Oracle的命名规则,并且在一个数据库中必须是唯一的。 2. **数据文件**:每一个表空间至少包含一个数据文件。数据文件的路径和大小需要明确指定。 3. **存储管理**:可以...
Oracle数据库命名编码规范是数据库设计和管理中的一个重要环节,它旨在确保数据库对象的命名清晰、一致,便于理解和维护。此规范适用于所有以Oracle为后台数据库的系统和项目开发。 首先,命名规范的基本要求包括...