-
我在建立的局部索引前加了唯一性约束,怎么不起作用?5
/*==============================================================*/
/* Table: IDCAS_T_DEGR */
/*==============================================================*/
create table IDCAS_T_DEGR (
IDCAS_K_DEGR INT not null,
F_TYPE VARCHAR(4) not null,
F_ACCO VARCHAR(30) not null,
F_PASS VARCHAR(30),
F_REMARK VARCHAR(200),
F_SIGN VARCHAR(10) default '0000000000' not null,
F_MEMO1 VARCHAR(200),
F_MEMO2 VARCHAR(200),
F_MEMO3 VARCHAR(200),
constraint PK_IDCAS_T_DEGR primary key (IDCAS_K_DEGR)
)
partition by list
( F_TYPE )
( partition part_type01
values ( 01 ) );
/*==============================================================*/
/* Index: IDCAS_I_DEGR */
/*==============================================================*/
create unique index IDCAS_I_DEGR on IDCAS_T_DEGR (
F_TYPE,F_ACCO
) local;
我想问:我在建立的局部索引前加了唯一性约束,怎么不起作用?竟然插入重复值也可以?是否局部索引不能具有唯一性?2008年7月21日 17:17
2个答案 按时间排序 按投票排序
-
create unique index IDCAS_I_DEGR_TYPE on IDCAS_T_DEGR (F_TYPE);
create unique index IDCAS_I_DEGR_ACCO on IDCAS_T_DEGR (F_ACCO);
上面第二句写错了,应该是这样。不好意思,不小心。2008年8月04日 18:51
-
通过这种方式,是同时给F_TYPE,F_ACCO加上了唯一索引,只有在F_TPE和F_ACCO同时重复时,唯一索引才会起作用。
create unique index IDCAS_I_DEGR on IDCAS_T_DEGR ( F_TYPE,F_ACCO );
如果要单列不能重复的话,要分别为每列添加索引:create unique index IDCAS_I_DEGR_TYPE on IDCAS_T_DEGR (F_TYPE); create unique index IDCAS_I_DEGR on IDCAS_T_DEGR_ACCO (F_ACCO);
2008年8月04日 18:50
相关推荐
- **唯一性约束**:本地索引只支持分区内的唯一性,如果要在表上设置唯一性约束,必须包含分区键列。 - **可用性**:相比全局索引,本地索引具有更高的可用性。这是因为对于分区表的操作(如truncate、move或shrink...
- 对于唯一性约束,使用`create unique index`语句创建唯一索引。 - 当创建与约束相关的索引时,可以使用`using index`子句。 最后,局部分区索引适用于分区表,其数量和子分区数量需与基础表对应,以便在特定分区...
需要注意的是,如果列中有大量空值,建立索引可能并不划算。 索引管理中,要控制每个表的索引数量,过多的索引会加重CPU和I/O负担。当索引不再被查询使用或者使用不当(如使用B*树而非位图索引或函数索引)时,应当...
2. **唯一索引**:不允许索引列中存在重复值,通常用于确保数据的唯一性。 3. **位图索引**:适用于基数较小的列,即该列的不同值较少的情况。 4. **局部有前缀分区索引**:针对分区表,索引根据分区键进行分区。 5....
第五,创建与约束相关的索引,例如主键或唯一键约束,可以通过`USING INDEX`子句: ```sql ALTER TABLE table_name ADD CONSTRAINT PK_primary_keyname PRIMARY KEY (field_name) USING INDEX TABLESPACE ...
- 创建唯一索引以确保数据的唯一性。 - 在创建约束时,如`UNIQUE`或`PRIMARY KEY`,可以使用`USING INDEX`指定相关索引。 了解并正确应用这些知识点,可以帮助提升Oracle数据库的查询性能,优化数据访问策略,...
聚集索引的唯一性约束并不意味着字段本身必须唯一,而是索引的键值需要唯一。如果表没有主键,依然可以创建聚集索引,但这可能导致重复行数据。 在主键上创建聚集索引的表在插入数据时可能比创建非聚集索引的表慢,...
然而,局部索引不能提供全局的唯一性约束,约束必须包含分区键。此外,位图索引只能是局部的,并且通常在数据仓库环境中使用,因为它们在聚合查询中表现良好。 全局索引则不同,它们的分区键和分区数不一定与表相同...
凸优化问题特别关注目标函数为凸函数,等式约束为线性,不等式约束函数为凹函数的情况,因为这类问题有更优的性质,如全局最优解的存在性和唯一性。 无约束优化的基本原理主要探讨如何寻找解。其中包括: 1. 解的...
此外,管理数据完整性约束是保证数据准确性的重要手段,包括外键约束、非空约束、主键约束、唯一性约束和检查约束。表的状态管理也必不可少,比如禁止(DISABLE)和激活(ENABLE)约束,以及删除(DROP)约束等。 ...
索引的建立则涉及到性能优化,规范中建议,对于不使用分区条件的局部索引应慎重考虑建立,而函数索引、位图索引的使用也需根据具体情况决定。外键被引用对应的列需要建立索引以保证数据的一致性。同时,建立联合索引...
约束(如主键、外键、唯一性、检查和默认值约束)定义了数据的格式和允许值。实体完整性要求每行都有唯一的标识,通常通过唯一索引或主键约束实现。域完整性关注列的数据类型和有效范围,可以通过缺省值、外键和检查...
4. **主索引**:主索引是表的一个特殊索引,它确保了字段值的唯一性,不允许有重复值。第5题中描述了主索引的特性。 5. **视图**:视图是从一个或多个表中选择数据生成的虚拟表,不存储实际数据,只在需要时动态...
多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...
- **数据字典的作用**:数据字典是关系数据库管理系统内部的一组系统表,记录了数据库中的所有定义信息,如模式定义、视图定义、索引定义、完整性约束、用户权限等。这些信息对于执行SQL的数据定义语句和查询优化至...
实体完整性通常通过主键(Identity列)实现,确保每条记录的唯一性;参照完整性确保表间引用的一致性;用户定义完整性是根据具体业务规则设置的;域完整性确保数据符合特定的数据格式或范围。 8. 注释符号:SQL语言...
9. **约束条件设置**:在逻辑和物理设计中都涉及,用于定义数据的完整性规则,如主键约束、外键约束、唯一性约束等,以保证数据的准确性和一致性。 综上所述,数据库设计是一个系统性的过程,从理解用户需求到实现...
6. 内存变量的作用域:在Visual FoxPro中,局部变量(LOCAL)只限于在当前过程使用,不会影响到其他过程。选项C正确。 7. 表单属性设置:在Visual FoxPro中,修改表单标题需要设置Caption属性,选项C正确。 8. ...