티스토리 뷰
오늘은 Database 관련 책을 읽으면서 정규화에 대해 보게 되었습니다.
항상 많이 듣고 보지만 저에게는 항상 이해하기 어렵네요. 그래서 여러 Blog를 통해 배운 정보 글로 남겨요.
※ 잘못된 정보가 있으면 알려주세요^^
1. 하나의 테이블에 유사한 데이터를 저장하는 필드을 여러 개 사용하지 않습니다.
개별 테이블에서 반복되는 그룹을 제거합니다.
관련 데이터의 각 집합에 대해 별도의 테이블을 만듭니다.
기본 키를 사용하여 관련 데이터의 각 집합을 식별합니다.
문제점) 부서가 추가 될 경우 테이블을 스키마를 수정 해야 함
2. 레코드는 테이블의 기본 키에만 종속 되어야 합니다.
여러 레코드에 적용되는 값 집합에 대해 별도의 테이블을 만듭니다.
이러한 테이블을 연결할 때는 외래 키를 사용합니다.
문제점) 부서명은 본질적으로 회사코드(기본 키)에 종속되지 않으므로 문제점이 발생
3. 해당 레코드 키의 일부가 아닌 레코드의 값은 테이블에 포함되지 않습니다. 즉 일반적으로 필드 그룹의 내용이 테이블에 있는 둘 이상의 레코드에 적용될 때는 별도의 테이블로 저장하는 것 좋습니다.
- 키에 종속되지 않는 필드를 제거합니다.
문제점) 직함은 회사코드에 종속되지 않고 대표이사에 종속되어 있습니다.
'Database' 카테고리의 다른 글
[MSSQL] 튜닝에 필요한 명령어 (0) | 2014.11.13 |
---|---|
[MSSQL] 테이블 정보 확인 (0) | 2014.11.13 |
[MSSQL] 쿼리 튜닝을 위한 쿼리 및 시스템 테이블 (0) | 2014.11.13 |
[MSSQL] Query 실행 시간 출력 (0) | 2013.02.21 |
[Oracle] 힌트 사용법 및 종류 (0) | 2013.02.20 |
댓글