데이터 무결성은 다음 세 가지 범주로 나뉩니다. (1) 도메인 무결성: 컬럼이 null 값이 허용되는지 여부의 입력 유효성을 의미합니다. 도메인 무결성은 타입(열의 데이터 타입 설정), 형식(CHECK 제약 조건 및 규칙), 또는 가능한 값의 범위(외래 키 제약 조건, CHECK 제약 조건, DEFAULT 정의, NOT NULL 정의, 규칙 등)로 제한함으로써 강제됩니다. 예를 들어, 학생들의 시험 점수는 0~100 사이여야 하며, 성별은 '남성' 또는 '여성'만 될 수 있습니다. (2) 엔터티 무결성: 테이블 내 모든 행이 유일함을 보장하는 것을 의미합니다. 엔터티 무결성은 테이블의 모든 행이 고유 식별자를 가져야 함을 요구합니다. 이 고유 식별자는 기본 키라고 불리는 열 또는 여러 열의 조합일 수 있습니다. 즉, 테이블의 기본 키는 모든 행에서 고유한 값을 가져야 합니다. 엔터티 무결성을 강제하는 방법으로는 인덱스, 고유 제약 조건, PRIMARY KEY 제약 조건, 또는 IDENTITY 속성이 있습니다. 예를 들어, 학생 표에서 SNO(학생 번호)의 값은 고유해야 하며, 해당 기록이 나타내는 학생을 고유하게 식별해야 하며, 학생 번호의 중복은 불법입니다. 학생의 이름을 기본 키로 사용할 수 없는데, 두 학생이 같은 이름과 성을 가질 수도 있기 때문입니다. (3) 참조 무결성: 주요 키워드(인용 표)와 외부 키워드(인용 표) 간의 지시 관계를 보장하는 것을 의미합니다. 두 개 이상의 테이블 데이터에 대한 일관성 유지 관리가 포함됩니다. 외래 키 값은 이 키를 포함하는 참조 테이블 내 레코드를 외래 키와 주 키와 일치하는 참조 테이블 내 레코드와 연관시킵니다. 레코드를 입력, 변경 또는 삭제할 때, 테이블 간의 정의된 관계는 무결성을 기준으로 유지되어 모든 테이블에서 키 값이 일관되도록 보장합니다. 이 일관성은 존재하지 않는 값이 참조되지 않고, 키 값이 변경되면 데이터베이스 내에서 그 키 값에 대한 모든 참조가 일관되게 변경되어야 함을 의미합니다. 참조 무결성은 외래 키와 주 키 간의 관계에 기반합니다. 예를 들어, 학생 학습 과정의 강의 번호는 유효한 강의 번호여야 하며, 점수표(성적 표)의 외래키 CNO(강의 번호)는 강의 표(강의 일정)의 주요 키인 CNO(강의 번호)를 참조하여 데이터 무결성을 달성합니다. 도메인 무결성, 엔터티 무결성, 참조 무결성은 각각 열, 행, 표에 구현됩니다. 데이터 무결성은 언제든지 구현할 수 있지만, 기존 데이터가 있는 테이블에 데이터 무결성을 구현할 때는 시스템이 먼저 테이블 내 데이터가 구현 무결성을 충족하는지 확인해야 하며, 테이블 내 데이터가 구현 무결성을 충족할 때만 데이터 무결성을 성공적으로 구현할 수 있습니다. |