2009-09-03 2 views
5

최근에 나는 Codd's 12 Rules에 대해 읽었으며 12 번을 제외한 모든 것을 이해했습니다. '비 파괴'규칙입니다. 누구든지 규칙을 설명 할 수 있다면 (예를 들어, 바람직하게) 매우 도움이 될 것입니다.Codd의 '비 전복 규칙'은 무엇을 의미합니까?

감사합니다.

+0

젠장! 잠시 동안 Codd가 Subversion과 어떤 관련이 있는지 혼란스러워했습니다. 대문자 "Subversion"질문에 비난하는 것입니다 :) 누군가 편집 할 수 있습니까? (나와 같은 사람들에게 더 혼란을 피하기 위해) –

+0

@Vijay : 네, 나도 혼란 스러웠습니다. 편집 됨. –

답변

10

규칙 12 : nonsubversion 규칙 : 시스템이 낮은 수준을 제공하는 경우

(기록에-A-시간) 인터페이스, 그 인터페이스가 시스템을 파괴 에 사용할 수 없습니다 예를 들어 은 관계형 보안 또는 무결성 제약을 우회합니다.

열에 null이 아닌 제약 조건을 정의한다고 가정 해 봅시다. 저 칼럼에 오라클 제공 유틸리티 API를 사용하여 RDBMS를 우회 할 수 있습니까? 그렇다면, 당신은 그 규칙을 위반했습니다.

5

마이클이 말한 것과 벌크 로더에도 적용됩니다.

고유 한 제약 조건을 위반하여 테이블에 이미 행이 중복되어 있는지 여부를 확인하지 않고 SQL * Loader를 사용하여 행을 테이블로 대량로드 할 수 있습니다. 이것은 스키마에 표현 된 규칙의 파괴에 해당합니다.

다른 DBMS 제품에는 벌크 로더가 있으며, 일부는 대량로드 속도를 높이기 위해 전복을 허용합니다.

규칙 12는 이것을 금지합니다.