5


1

最近私は Codd’s 12 Rulesについて読んでいましたが、私は番号12以外のすべてのもの( 'non-subversion’ルール)を理解しました。 誰かが(できれば例を使って)私にその規則を説明できれば、それは非常に役に立つでしょう。

ありがとう。

2 Answer


10


規則12:転覆しない規則:

システムが低レベル(一度に記録)のインタフェースを提供する場合、そのインタフェースを使用してシステムを破壊することはできません。たとえば、リレーショナルセキュリティや整合性の制約を回避することはできません。 __

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


5


Michaelが言ったこと、そしてそれはバルクローダーにも当てはまります。

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

他のDBMS製品はバルクローダーを持っていて、それらのいくつかはバルクローディングをスピードアップするために転覆を許します。

規則12はこれを禁止しています。