Oracle11g “一对多独特”;“设置”;甲骨文数据库
我不知道如何创建一对多关系,但将多个项限制为每个唯一主键的“集合” DB:Oracle 11g 例如: 主键表:Oracle11g “一对多独特”;“设置”;甲骨文数据库,oracle11g,foreign-keys,primary-key,foreign-key-relationship,unique-constraint,Oracle11g,Foreign Keys,Primary Key,Foreign Key Relationship,Unique Constraint,我不知道如何创建一对多关系,但将多个项限制为每个唯一主键的“集合” DB:Oracle 11g 例如: 主键表: CUST(PK) 100 200 CUST(FK) | ITEM 100 | 101 100 | 102 200 | 101 200 | 102 CUST(FK) | ITEM 100 | 101 100 | 101 200 | 104 200 | 104 有效的FK表格数据: CUST(PK) 100 200 CUST(FK) | ITEM 100 | 101 100 |
CUST(PK)
100
200
CUST(FK) | ITEM
100 | 101
100 | 102
200 | 101
200 | 102
CUST(FK) | ITEM
100 | 101
100 | 101
200 | 104
200 | 104
有效的FK表格数据:
CUST(PK)
100
200
CUST(FK) | ITEM
100 | 101
100 | 102
200 | 101
200 | 102
CUST(FK) | ITEM
100 | 101
100 | 101
200 | 104
200 | 104
无效的FK表数据:
CUST(PK)
100
200
CUST(FK) | ITEM
100 | 101
100 | 102
200 | 101
200 | 102
CUST(FK) | ITEM
100 | 101
100 | 101
200 | 104
200 | 104
如何建立这样的关系有什么建议吗?我想限制唯一性,这样就不可能向FK表中添加违反上述“set”唯一性的值
这完全可以在Oracle DB端完成,还是必须通过访问Java代码来实现?只需创建一个包含两列的数据库:CUST和ITEM,类似于:
ALTER TABLE secondtable
ADD CONSTRAINT custItem UNIQUE (CUST, ITEM)
除了外键之外,还创建此约束这可能有助于您..按以下方式创建表
create table cust_id
(cus_id number primary key)
tablespace ts1;
create table Valid_FK_Tabl
(cus_id number,item number,constraints pk1 primary key(cus_id,item))
tablespace ts1 ;
alter table Valid_FK_Tabl
add constraints fk1 foreign key(cus_id)
references schema2.cust_id(cus_id);
成功了!很明显,我对数据库一无所知:)谢谢,这可以用来创建新表,但是因为我已经有了它们,所以我使用了cha的altertable方法。