2

我正在练习数据库创建、表空间和表实现。我有一个问题,我在互联网上搜索了一些想法,但没有一个与我现在所拥有的完全一致。我的问题是是否可以创建一个使用外键的表,该外键引用不同表空间中的另一个表列。甲骨文 SQL。

create table agent(
code Number(4), 
name varchar(30), 
area Number(4), 
constraint pk_Code primary key (code), 
constraint fk_Area foreign key (area) references Warehouse(code)) 
tablespace sales;
4

2 回答 2

3

在 Oracle 中,表空间是用于管理其存储参数(最重要的是它们映射到数据文件的方式)的表的逻辑容器。

表空间对表的权限或约束没有影响。完全可以将外键添加到引用不同表空间上的表的表中。

于 2014-07-31T06:36:50.147 回答
1

正如@Mureinik 所说,完全有可能将外键指向其他表空间中的表。话虽如此,我倾向于不这样做。有一个外键跨越表空间边界是一些(尽管温和)表明表空间设置可以做一些重新考虑。

我个人会使用表空间作为一个管理单元,包含共享一些(通常是物理)属性的表(和/或索引),这些属性应该只读或备份或一起传输......

于 2014-07-31T09:11:03.683 回答