정보처리기사/정보처리기사 실기

2025. 시나공 정처기 실기 2-40 반정규화

코드라니(CODERANY) 2026. 3. 12. 02:39

https://youtu.be/9GTRsrs8U6E?list=PLpYNFXUfkvDrnuiTaC0mLECsURcsNV31S

DB관리 차원과 성능,효율 차원을 고민해야함.

 

DB관리 차원, 정규화를통해 분리해놓으면, 중복, 이상현상 거의 없을거임.

무손실 분해라 데이터베이스의 데이터들의 일관성을 유지하고 데이터 베이스의 품질도 유지할 수 있음.

 

성적을 기준으로 장학금을 주기로 결정한다면 

1. 성적테이블 참조 -> 성적이 가장 높은 사람을 찾음

2. 학과테이블 참조 -> 학과별로 찾아야함

3. 인적테이블 참조 -> 누군지 알아야하니

한가지 데이터를 검색하려는데 여러개의 테이블을 참조해야 함. -> 왔다갔다 해야하는데 속도가 느려짐...

 

이 성능을 좋게, 좀 더 효율적으로 쓰려는 행위가 반정규화임.

쇼핑몰에 이름, 전화, 주소가 다 다른 테이블에 있다면 번거로우니까 통합하는게 나음. 

학년별로 나눈다던지...학과별로 나눈다던지..

트리거: 데이터베이스 시스템에서 입력,갱신, 삭제 등의 이벤트가  발생할 때 마다 자동으로 실행되는 SQL

이력 관리: 값이 변경 될 때 마다 변경되기 전 속성값을 저장하는 것