SQLD 데이터 모델링의 이해 [PART1]
본문 바로가기

카테고리 없음

SQLD 데이터 모델링의 이해 [PART1]

반응형

안녕하세요~ 오늘부터 SQLD 시험을 위한 공부를 해보려고 해서 책에 있는 내용을 정리해 보았어요!

 

1. 데이터 모델링이란?

- 현실 세계의 데이터를 논리적으로 구조화하여 DB에 표현하는 작업

- 시스템과 사용자 간 의사소통 도구 역할

 

[목적]

- 데이터 구조를 명확히 정의

- 중복 최소화, 일관성 유지

- 업무 규칙 반영

 

----------------------------------------------------

 

2. 데이터 모델의 3단계

 

(1) 개념적 데이터 모델

- 추상적 수준, 업무 중심

- 엔터티, 속성, 관계 정의

 

(2) 논리적 데이터 모델

- DBMS 독립적

- , 정규화 적용

- 관계형 구조화

 

(3) 물리적 데이터 모델

- DBMS 종속적

- 테이블, 인덱스, 파티션 등 구현 고려

 

----------------------------------------------------

 

3. 데이터 모델링의 3가지 관점

 

- 데이터 관점: 어떤 데이터를 저장해야 하나?

- 프로세스 관점: 데이터가 어떻게 처리되는가?

- 기능 관점: 시스템이 어떤 기능을 수행해야 하나?

 

----------------------------------------------------

 

4. 엔터티(Entity)

 

- 정의: 저장해야 할 대상 (명사형)

- 조건: 반드시 식별자(PK)가 존재, 하나 이상의 속성 필요

- 예시: 사원, 부서, 고객, 주문

 

[종류]

- 강한 엔터티: 자체 식별자 존재 (: 사원)

- 약한 엔터티: 다른 엔터티의 도움으로 식별 (: 자녀)

- 중심 엔터티: 주요 업무 정보 (: 주문)

- 행위 엔터티: 이벤트 발생 시 기록 (: 주문내역)

- 조인 엔터티: 다대다 관계를 1:N, N:1로 분리

 

----------------------------------------------------

 

5. 속성(Attribute)

 

- 정의: 엔터티가 가지는 정보 단위 (형용사형)

 

[종류]

- 기본 속성: 단순한 속성 (: 이름, 나이)

- 도출 속성: 다른 속성으로 계산됨 (: 나이 = 현재연도 - 생년월일)

- 복합 속성: 여러 속성으로 구성 (: 주소 = + + )

- 다중값 속성: 여러 개의 값을 가짐 (: 연락처 2개 이상)

 

----------------------------------------------------

 

6. 관계(Relationship)

 

- 정의: 엔터티 간의 논리적 연관성

- 기호: 관계선으로 표현됨 (->, <-- )

 

[관계 유형]

- 1:1 (사원 - 사원증)

- 1:N (부서 - 사원)

- N:M (학생 - 과목): 조인 테이블 필요

 

----------------------------------------------------

 

7. 식별자(Identifier, Key)

 

[종류]

- 기본키(PK): 유일하게 식별하는 속성

- 후보키: 유일성과 최소성을 만족하는 속성 집합

- 대체키: 후보키 중 기본키로 선택되지 않은 것

- 외래키(FK): 다른 테이블의 기본키를 참조하는 키

 

[특징]

- NULL 불가, 중복 불가

 

----------------------------------------------------

 

8. 정규화(Normalization)

 

- 목적: 데이터 중복 제거, 이상현상 제거, 구조 안정화

 

[정규형 요약]

- 1NF: 원자값만 허용 (반복 속성 제거)

- 2NF: 부분 함수 종속 제거 (기본키 전체에 종속)

- 3NF: 이행적 함수 종속 제거 (기본키가 아닌 속성 간의 종속 제거)

- BCNF: 결정자가 후보키가 아닐 경우 분해 (더 엄격한 3NF)

 

----------------------------------------------------

 

9. ERD(Entity Relationship Diagram)

 

- 개념적 데이터 모델을 시각화한 다이어그램

- 구성 요소: [엔터티] - (관계) - [엔터티], 엔터티 내부에 속성 표시

- 표기법: Crow’s Foot(다중성 시각적으로 표현됨) 자주 사용

 

감사합니다:) 도움이 되셨다면 좋아요/서로이웃 눌러주시면 감사하겠습니다~