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 に答える