Winnie The Pooh Bear

✏ 공부

[SQLD] 1과목(2) - 데이터 모델링의 이해: 정규화, 관계와 조인의 이해, 트랜잭션, NULL 속성, 본질식별자와 인조식별자

alwayshappydaysforever 2025. 5. 16. 16:45
반응형

 


요약본 파일은 요 기 에  (*’͜’ )ʕ𐭩

c95535f9-eeb8-4fc1-bf2e-18d3515ef387_SQLD_1과목.pdf
0.51MB


6. 정규화 ⭐️

- 정규화 개념 : 데이터베이스의 이상현상을 방지하기 위하여 데이터 중복을 최소화하여 테이블을 분리하는 방법 

(엔터티 = 테이블 = 릴레이션) 

 

- 이상현상 ⭐️

    1) 삽입이상: 데이터 삽입 시, 의도하지 않은 값도 삽입

    2) 갱신이상: 일부 데이터만 갱신되어 모순 발생 

    3) 삭제이상: 데이터 삭제 시 의도하지 않은 값도 삭제 

 

- 함수적 종속: A 속성에 의해 B가 유일하게 결정됨 (A: 결정자, B: 종속자) 

     1) 완전 함수적 종속: 종속자가 기본키의 모든 속성에 종속적인 경우 (학번 + 과목명을 모두 알아야 시험점수 파악)

     2) 부분 함수적 종속: 종속자가 기본키의 일부 속성에 종속적인 경우 (과목명만 알아도 교수 파악 가능) 

출처: 아답터

 

- 정규화 단계 (테이블 분해 시 결정자는 남기고 종속자만 제거

    1) 제 1 정규화(1NF): 도메인이 원자값만으로 구성 

    2) 제 2 정규화: 부분적 함수 종속을 제거, 완전 함수 종속을 만족 

    3) 제 3 정규화: 이행적 함수 종속(주식별자와 관계없는 종속적 관계) 을 제거

    4) BCNF: 결정자가 모두 후보키 

    5) 제 4 정규화

    6) 제 5 정규화 

출처: 아답터

- 반정규화= 역정규화의 개념

- 반정규화 수행 케이스 (대용량 데이터가 자주 필요한 경우) 

 

 


7. 관계와 조인의 이해

- 관계의 개념 

- 관계의 분류: 존재 관계, 행위 관계

 

- 조인의 의미

: 서로 관계가 있는 테이블을 SQL로 연결해서 데이터를 조회

: 정규화로 분해가 된 테이블들은 조인 성능이 낮아질 수 있음 (= 성능 높이기 위해서 반정규화 수행) 

 

- 계층형 데이터 모델: 같은 테이블을 참조하여 2개의 테이블을 조인하는 관계 

- 상호배타적 관계: 두 테이블 중 하나의 테이블만 상속될 수 있는 관계 

 


8. 모델이 표현하는 트랜잭션의 이해 

- 트랜잭션이란: 하나의 논리적/연속적인 업무 단위 

1) commit: 성공적으로 끝났음을 알리고, DB에 저장

2) Rollback: 오류가 발생하여 이전 상태로 되돌림 

 

- 트랜잭션의 4대 특성 ⭐️ ACID

1) 원자성(Atomicity): 수행되거나 전혀 수행되지 않음 

2) 일관성 (Consistency): 실행 전후로 오류 x

3) 고립성 (Isolation): 트랜잭션끼리 서로 간섭 x

4) 지속성 (Durability): 결과는 영구적으로 저장 

 

- 필수적, 선택적 관계와 ERD 

   1) IE 표기법: 필수적 관계는 원을 그리지 않는다 / 선택적 관계는 원을 그린다

   2) 바커 표기법: 필수적 관계는 실선으로 표기 / 선택적 관계는 점선으로 표기 

 


9. NULL 속성의 이해 

- NULL이란: 미 정의된 값, 0이나 빈칸과는 다른 개념 (비교/연산 불가, 집계함수에서 제외

(NULL + NULL ❌)

- NULL의 특성 

- NULL의 ERD 표기법

 


10. 본질식별자와 인조식별자

- 본질식별자: 프로세스상에서 현실로 존재하는 식별자

- 인조식별자: 인위적으로 생성한 식별자 

    - 장점: 비즈니스와 무관하게 설계, 개발 및 유지보수성 용이

    - 단점: 데이터 중복 가능성, 불필요한 인덱스 생성 

 

 

 

D6. - 

] 1과목 - 데이터 모델링의 이해:

반응형