2009-09-03 6 views
5

最近、私はCodd's 12 Rulesについて読んでいました。私は12番以外のすべてを理解しました。誰かが私にルールを説明することができれば(例を使って、好ましくは)、それは非常に役に立つでしょう。Coddの「非破壊ルール」とはどういう意味ですか?

ありがとうございました。

+0

くそー!しばらくの間、私はCoddとSubversionの関係を混乱させました。問題の上部ケース "Subversion"は責任を負うことです:)誰かがそれを編集できますか? (私のようなpplへのさらなる混乱を避けるために) –

+0

@Vijay:うん、私も混乱していた。編集されました。 –

答えて

10

ルール12:nonsubversionルール:システムは低レベルを提供する場合

(レコード・アット・タイム)インタフェース、そのインタフェースがため、システムを破壊 に使用することができない たとえば、 リレーショナルセキュリティまたは 整合性制約をバイパスします。

列にNULL以外の制約を定義するとします。その列にnullを挿入するために、RDBMSをバイパスできますか(たとえば、低レベルのOracle提供のユーティリティAPIを使用して)?もしそうなら、あなたはそのルールに違反しています。

5

マイケルが言ったことは、バルクローダーにも当てはまります。

一意制約に違反して、行がすでに表に重複しているかどうかを確認せずに、行を表に一括ロードすることができたとします。これは、スキーマで表現されたルールの破壊につながります。

他のDBMS製品には、バルクローダーがあり、その中には、一括読み込みを高速化するためにサブバージョンを許可するものもあります。

ルール12ではこれを禁止しています。

関連する問題