데이터베이스의 이상현상 (Anomaly) - 데이터를 입력, 수정, 삭제하는 과정에서 의도치 않게 일관성이 깨지는 것
1)삽입이상
2)갱신이상
3)삭제이상
정규화 - 데이터의 중복을 최소화하면서 테이블을 보다 잘 조작된 상태로 분해하는 과정
정규화는 일반적으로 입력, 수정, 삭제 성늘은 일반적으로 올라가고, 조회성능은 조건에 따라 향상될 수도 있지만 대부분 많은 조인이 발생되어 성능은 하락.
항상 조회성능이 떨어뜨리는 것은 아님. 정규화가 잘 되어 있지 않으면 불필요한 트랜잭션이 발생하는 등 전체 시스탬 성능이 하락함
제1 정규화 -릴레이션의 속성값이 모두 원자값, 중복값 제거, 기본기 설정
하나의 속성값만을 가짐, 유사한 속성이 반복되않는 상태
제1정규형로 만드는 것을 제1정규화
제2 정규화 - 기본기 2개 이상의 속성으로 이루어진 경우 함수의 종속성을 제거
주식별자 두개이상으로 구성된 복합식별자인 경우
제3 정규화 - 이행 함수종속성 제거, 기본키를 제외한 칼럼간의 종속성의 제거
BCNF - 기본키를 제외하고 후보키가 있는 경우 후보키가 기본키를 종속시키면 분해
**데이터베이스 정규화(Normalization)**는 데이터의 중복을 줄이고, 일관성을 유지하며, 효율적인 데이터 관리를 위해 테이블을 구조화하는 과정입니다.
먼저, 이 대답은 gptonline.ai/ko에서 더 자세한 실습과 예제로도 확인하실 수 있습니다!
예를 들어 이런 테이블이 있다고 가정해보겠습니다:
1 | 철수 | 수학 | 김교수 |
2 | 영희 | 과학 | 박교수 |
1 | 철수 | 과학 | 박교수 |
문제점:
비정규화 테이블:
1 | 철수 | 101 |
1 | 철수 | 102 |
2 | 영희 | 102 |
101 | 수학 | 김교수 |
102 | 과학 | 박교수 |
1 | 철수 |
2 | 영희 |
| 수강정보 |
그래서 일부 시스템에서는 **비정규화(denormalization)**도 일부러 하기도 합니다.
MSSQL 실습 (2) | 2025.05.08 |
---|---|
2.2 관계와 조인의 이해 (0) | 2025.05.04 |
1.5 식별자 (0) | 2025.05.03 |
1.4.1 관계 (0) | 2025.04.28 |
1.3.1 속성의 개념 (0) | 2025.04.28 |