時間的妥当性と主/外部キーの関係


11

時間的な有効性と時間の機能を示すオラクルのチュートリアルをいくつか読みました。ただし、私が読んだ例では、デモテーブルで使用されている主キーはありません。

http://docs.oracle.com/cd/E16655_01/appdev.121/e17620/adfns_design.htm#ADFNS1005 http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm /temporal/temporal.html

これらのテーブルに主キーを追加する必要がありますか?これらのテンポラルテーブルの1つが別のテーブルによってどのように参照されるのかについて疑問に思っているので、私は尋ねています。テンポラルテーブル間で外部キーを追加できますか?

pk /外部キーの領域を追加してから、テーブルの参照先をpkで更新すると、fkのあるテーブルは、関係のなくなったレコードを指します。関係?もしそうなら、これはパフォーマンスにどのように影響しますか?通常の列を「外部キー」として使用し、クエリの参照期間に適切な列を選択するだけですか?

通常または疑似通常のpk / fkの使用法で時間データを表示する便利な例やチュートリアルを知っているか、持っている人はいますか?

ありがとう

回答:


2

残念ながら、現在のSQLまたはすべてのRDBMS製品でのその実装は、一時的な関係を完全にはサポートしていません。

TeradataとDB2のみが、2つ以上の列に時間を有する制約を実装するいくつかの機能を備えています。

私の例:

スキーマテストの設定;

CREATE TABLE PRODUCT(
product_ID INT NOT NULL、
suplier NVARCHAR(50)、
PRIMARY KEY(product_ID)
);

CREATE TABLE CAMPAIGN(
campaign_ID INT NOT NULL、
product_ID INT NOT NULL、
price DECIMAL、
PRIMARY KEY(campaign_ID)

;

ALTER TABLE CAMPAIGN
ADD CONSTRAINT XFK_campaign_productid
FOREIGN KEY(product_ID)REFERENCES PRODUCT(product_id)
ON DELETE NO ACTION;

テンポラル列business_startdateとbusiness_enddateを追加し、オプションで
transaction_starttimeとtransaction_endtime を追加すると、参照整合性を適用できなくなります。

次のような制約を実装する場合は、トリガー、ストアドプロシージャ、またはアプリケーションレベルのコーディングを実装する必要がある場合があります。

CREATE TABLE CAMPAIGN(
campaign_ID INT NOT NULL、
product_ID INT NOT NULL、
business_startdate DATE NOT NULL、
business_enddate DATE NOT NULL、
transaction_starttime TIMESTAMP NOT NULL、
transaction_endtime TIMESTAMP NOT NULL、
price DECIMAL、
PRIMARY KEY(campaign_ID、business_startdate、transaction_starttime)

;

DB2の場合、次の構文には一時的な主キー制約があります。

CREATE TABLE CAMPAIGN(
campaign_ID INT NOT NULL、
product_ID INT NOT NULL、
business_startdate DATE NOT NULL、
business_enddate DATE NOT NULL、
price DECIMAL、
PERIOD BUSINESS_TIME(business_startdate、business_enddate)、
PRIMARY KEY(campaign_ID、BUSINESS_TIME WITHOUT OVERLAPS)

;


2つ以上の列に時間がある制約を実装する機能へのリンクを提供できますか?
AK

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.