본문 바로가기

SQL

[SQLD: PART 1] 데이터 모델링의 이해

728x90

본 포스팅은 SQLD 자격증 취득을 위해 공부한 내용을 정리하기 위한 포스팅입니다.


1. 모델링


현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정을 뜻한다.

  • 추상화
  • 단순화
  • 명확화

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

(1) 데이터 관점
(2) 프로세스 관점
(3) 데이터와 프로세스의 상관 관점

2. 모델링시 유의해야 할 점

(1) 중복: 같은 데이터가 여러 엔터티에 중복으로 저장되는 현상을 지양한다.
(2) 비유연성: 데이터 모델과 프로세스를 분리하여 유연성을 높여야 한다.
(3) 비일관성: 데이터 간의 연관 관계에 대해 명확히 정의해야 한다.

3. 모델링의 세 가지 단계

(1) 개념적 데이터 모델링: 추상화 레벨이 가장 높다.
(2) 논리적 데이터 모델링: 재사용성이 가장 높다.
(3) 물리적 데이터 모델링: 물리적인 성격을 고려하여 가장 구체적이다.

2. 스키마

1. 3단계 스키마 구조

(1) 외부 스키마: 사용자가 보는 데이터베이스의 스키마를 정의
(2) 개념 스키마: 데이터들을 표현하고 관계를 나타낸다.
(3) 내부 스키마: 물리적인 저장 구조를 의미한다.

2. 3단계 스키마 구조가 보장하는 독립성

(1) 논리적 독립성: 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.
(2) 물리적 독립성: 내부 스키마가 변경되어도 개념/외부 스키마는 영향받지 않는다.

3. ERD 표기 방식

(1) IF/Crow's Foot

(2) Case Method/Barker


4. ERD 작성 절차

(1) 엔터티를 도출한 후 그린다.
(2) 엔터티를 배치한다.
(3) 엔터티 간의 관계를 설정한다.
(4) 관계명을 기술한다.
(5) 관계의 참여도를 기술한다.
(6) 관계의 필수여부를 확인한다.


3. 엔터티

1. 특징

(1) 업무에서 쓰이는 정보여야 한다.
(2) 유니크함을 보장할 수 있는 식별자가 존재해야 한다.
(3) 2개 이상의 인스턴스를 가지고 있어야 한다.
(4) 반드시 속성을 가지고 있어야 한다.
(5) 다른 엔터티와 1개 이상의 관계를 가지고 있어야 한다.

2. 분류

(1) 유형 엔터티: 물리적인 형태 존재, 지속적
(2) 개념 엔터티: 물리적 형태 X, 개념적
(3) 사건 엔터티: 행위를 함으로서 발생

3. 발생 시점

(1) 기본 엔터티: 자신의 고유한 주식별자를 가진다. 독립적으로 생성되며, 자식을 가질 수 있다.
(2) 중심 엔터티: 기본 엔터티로부터 파생된다.
(3) 행위 엔터티: 2개 이상의 엔터티로부터 파생

4. 엔터티 이름 주의할 점

(1) 업무에서 실제로 쓰이는 용어 사용
(2) 한글에서 약어를 사용하지 않고 영문은 대문자를 표기
(3) 단수 명사로 표현, 띄어쓰기 X
(4) 중복 불가

5. 엔터티와 인스턴스, 속성, 속성값의 관계

(1) 한 개의 엔터티는 2개 이상의 인스턴스를 갖는다.
(2) 한 개의 인스턴스는 2개 이상의 속성을 갖는다.
(3) 한 개의 속성은 하나의 속성값을 갖는다.

4. 속성

1. 특성에 따른 분류

(1) 기본 속성
(2) 설계 속성
(3) 파생 속성

2. 구성 방식에 따른 분류

(1) PK 속성
(2) FK 속성
(3) 일반 속성

3. 도메인

속성이 가질 수 있는 속성 값의 범위


5. 관계(존재 관계 / 행위 관계)


1. 표기법

(1) 관계명(현재형)
(2) 관계차수(1:1, 1:M, N:M)
(3) 관계 선택 사양(필수적 관계, 선택적 관계)

2. 식별 관계

(1) 식별자 관계: 부모 엔터티의 식별자가 자식 엔터티의 주 식별자가 되는 관계
(2) 비식별자 관계: 부모 엔터티의 식별자가 자식 엔터티의 일반속성이 되는 관계

6. 식별자

1. 주 식별자

(1) 유일성
(2) 최소성
(3) 불변성
(4) 존재성

2. 분류

(1) 대표성 여부: 주 식별자, 보조 식별자
(2) 스스로 생성되었는지 여부: 내부 식별자, 외부 식별자
(3) 단일 속성의 여부: 단일 식별자, 복합 식별자
(4) 대체 여부: 원조(본질) 식별자, 대리(인조) 식별자

728x90

'SQL' 카테고리의 다른 글

[SQLD: PART 2] 관리 구문  (0) 2024.12.02
[SQLD: PART 2] SQL 활용  (0) 2024.12.02
[SQLD: PART 2] SQL 기본  (0) 2024.12.02
[SQLD: PART 1] 데이터 모델과 SQL  (0) 2024.12.02