컴퓨터/정보처리기사
어떤 테이블에서 속성 A, B가 있을 때 속성 A의 값 각각에 대해 시간에 관계없이 항상 속성 B의 값이 오직 하나만 연관되어 있을 때 속성 A가 B를 함수적으로 결정한다 하여 함수적 종속이라 합니다.
위처럼 함수적 종속 관계를 아래와 같이 표기하며 A를 결정자 B를 종속자라고 합니다.
A → B
아래와 같은 테이블이 존재한다고 가정합시다.
학번 | 이름 | 학년 | 학과 |
101 | 홍길동 | 1 | 체육과 |
102 | 이순신 | 1 | 경호과 |
202 | 김철수 | 2 | 자동차과 |
422 | 윤봉길 | 4 | 화학과 |
학번이 이름,학년,학과를 함수적으로 결정하고 있습니다.
즉, 시간과 관계없이 학번속성의 값에 대해 이름, 학년, 학과가 오직 하나만 연관되어 있기 때문입니다.
이를 표기하면 아래와 같습니다.
학번 → 이름, 학년, 학과
함수적 종속은 몇가지 특징에 따라 구분할 수 있습니다.
어떤 테이블에서 속성 B가 다른 속성(집합)A에 전체에 함수적 종속을 만족하는 경우 완전 함수적 종속이라고 합니다.
어떤 테이블에서 속성 B가 다른 속성(집합)A에 전체에 함수적 종속을 만족하면서 속성(집합)A의 부분 속성에 대해서만도 함수적 종속이 성립할 때 부분 함수적 종속이라고 합니다.
A → B고 B → C일때 A → C를 만족하는 관계
즉, A는 B와 C를 함수적으로 결정하고 B는 C를 함수적으로 결정하는 관계
정규화는 테이블과 안의 속성들의 상호작용으로 인한 이상(Anomaly)을 방지하기 위해 테이블을 정보손실 없이 분해하는 과정을 말합니다.
다치 종속(다중 값 종속) - 종속값이 하나가 아닌 여러 값을 결정하는 종속성
조인 종속 - 테이블을 분해하고 다시 합쳤을 때 원상태를 만족하는 종속성
의도적으로 정규화를 위배하는 행위
정규화는 기본적으로 데이터베이스의 품질을 보증하고 성능을 보장할 수 있으나, 사용 환경에 따라 시스템의 성능이 저하되거나 관리 효율성이 떨어질 수 있습니다. 이 때문에 반정규화를 종종 하곤 합니다.
사용 환경상 두 개의 테이블이 조인이 많은 경우 하나의 테이블로 통합하여 사용하는 반정규화
테이블의 튜플의 수, 속성의 수등 테이블이 너무 클 경우 사용하는 반정규화
작업 효율 향상을 위해 중복되는 데이터가 존재하는 테이블을 의도적으로 생성하는 반정규화
작업 효율 향상을 위해 중복되는 데이터가 존재하는 속성을 의도적으로 생성하는 반정규화
[정보처리기사][데이터 입출력 구현] 인덱스 / 뷰 / 클러스터 / 파티션 (0) | 2024.04.09 |
---|---|
[정보처리기사][데이터 입출력 구현] 트랜잭션과 CRUD (0) | 2024.04.09 |
[정보처리기사][데이터 입출력 구현] 이상 ( Anomaly ) (0) | 2024.04.04 |
[정보처리기사][데이터 입출력 구현] 관계대수 및 관계해석 (0) | 2024.04.01 |
[정보처리기사][데이터 입출력 구현] 관계형 데이터베이스 (0) | 2024.04.01 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet