1. 데이터베이스 무결성
2. 데이터베이스 무결성(Database Integrity)
- 데이터베이스에 저장된 데이터 값과 그것이 표현하는 실제 값이 일치하는 정확성을 의미한다.
- 무결성은 권한이 있는 사용자로부터 데이터베이스를 보호한다.
3. 데이터베이스 무결성 종류
1. 개체 무결성
- 설명 : 한 엔터티에서 같은 기본 키(pk)를 가질 수 없거나, 기본 키(pk)의 속성이 null을 허용할 수 없음
- 요소 : 기본 키(Primary Key) 유니크 인덱스(Unique Index)
2. 참조 무결성
- 설명 : 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 null이어야 함
- 요소 : 외래 키(Foreign key)
3.속성 무결성
- 설명 : 속성의 값은 기본값, null 여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수해야 함
- 요소 : 체크(check) null/ not null 기본값(default)
4. 사용자 무결성
- 설명 : 사용자의 의미적 요구사항을 준수해야 함
- 요소 : 트리거(trigger) 사용자 정의 데이터 타입(user defined data type)
5. 키 무결성
- 한 릴레이션에 같은 키 값을 가진 튜플들을 허용할 수 없음
- 요소 : 유니크(Unique)
2. 컬럼 속성
1. 컬럼(Column) 개념
- 컬럼은 테이블을 구성하는 요소로, 데이터 타입(Data Type) 및 길이(Length) 등으로 정의 된다.
2. 컬럼 구성요소
- 내장 데이터 형식 : 문자,숫자,시간, 대형 객체 등을 정의
- 확장 데이터 형식 : 행, 컬렉션, 사용자 정의, 데이터 형식 등을 지원
3. 컬럼 고려사항
1. 타입에 따른 물리적 순서 조정
- 고정 길이 컬럼이고 not null인 컬럼은 앞편에 정의
- 가변 길이 컬럼은 뒤편에 배치
- null 값이 많을 것으로 예상되는 컬럼을 뒤편으로 배치
2. DBMS별 물리적 순서조정 특성
- 물리적 순서 조정은 DBMS마다 차이가 있지만 값이 변경 될 때 체인 발생을 억제하고 저장 공간의 효율적인 사용을 위해 필요
3. 데이터 타입, 길이 지정 고려
- 가변 길이 데이터 타입은 예상되는 최대 길이로 정의
- 고정 길이 데이터 타입은 최소의 길이를 지정
- 소수점 이하 자리 수의 정의는 반올림되어 저장되므로 정확성을 확인하고 정의
4. 컬람 간 비교 방법
- 비교 연산에서 두 컬럼 사이에 데이터 타입과 같은 길이를 사용
3. 키
1. 키(Key) 개념
- 데이터베이스에서 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성
2. 키 특성
1. 유일성
- 식별자에 의해 엔터티 타입 내에 모든 엔터티들이 유일하게 구분
2. 최소성
3. 키 종류
1. 기본 키(Primary Key)
2. 대체 키(Alternate Key)
3. 후보 키(Candidate key)
- 테이블에서 각 튜플들을 구별하는데 기준이 되는 컬럼
- 기본 키와 대체 키를 합친 키(기본키 후보키, 대체키 후보키)
4. 슈퍼키(Super Key)
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키
5. 외래키(Foreign key)
- 테이블 간의 참조 데이터 무결성을 위한 제약 조건
- 한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키