본문 바로가기

자격증/SQLD 자격증

[SQLD자격증강좌] 2강 데이터 모델링의 이해

728x90
반응형

 

 

 

 

 

 

1. 데이터 모델링


  • 데이터 모델링은 현실 세계 정보를 데이터베이스로 표현하기 위해 추상화하는 것을 말합니다.
  • 데이터 모델링을 하기 위해서는 클라이언트와의 의사소통을 통해 클라이언트의 업무 프로세스를 이해하고 작업해야 합니다.
  • 클라이언트의 업무 프로세스와 요구사항을 이해한 후 데이터 모델링 표기법을 사용해서 모델링을 합니다.
  • 데이터 모델링은 클라이언트가 쉽게 이해할 수 있도록 복잡하지 않게 모델링해야 합니다.
  • 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석/설계하면서 더욱더 상세하게 표현이 됩니다.
  • 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고, 비즈니스 프로세스의 규칙을 정의합니다.
  • 정의된 비즈니스 규칙을 데이터 모델로 표현하면 됩니다. 

 

1) 데이터 모델의 관점

관점 설명
데이터 - 비즈니스 프로세스에서 사용되는 데이터를 의미합니다.
- 구조분석, 정적 분석
프로세스 - 비즈니스 프로세스에서 수행하는 작업을 의미합니다.
- 시나리오분석, 도메인 분석, 동적 분석
데이터와 프로세스 - 프로세스와 데이터 간의 관계를 의미합니다.
- CRUD(Create, Read, Update, Delete) 분석

 

 

 

## 이론 문제 확인하기

데이터 모델의 3가지 관점이 아닌 것은?
1. 스키마
2. 데이터
3. 프로세스
4. 데이터와 프로세스
더보기

정답 : 1

데이터 모델의 3가지 관점은 데이터, 프로세스, 데이터와 프로세스입니다. 

 

 

 

 

 


 

 

 

 

 

 

 

2. 데이터 모델링의 특징


- 데이터 모델링의 주요 특징을 확인해보겠습니다. 특징을 잘 기억해서 시험에 적용하세요.

특징 설명
추상화(Abstraction) 현실 세계 데이터의 공통적인 특징을 찾고 간략하게 표현합니다.
단순화(Simpleification) 복잡하지 않게 모델링하여 누구나 쉽게 이해할 수 있도록 표현합니다. 
명확성(Clarity) 명확하게 의미가 해석되어야 하고, 한가지 의미를 가져야 합니다. 

 

 

## 이론 문제 확인하기

다음 중 데이터 모델링의 주요 특징으로 옳지 않은 것은?
1. 단순화
2. 명확화
3. 복잡화
4. 추상화
더보기

정답 : 3

데이터 모델링의 주요 특징은 추상화, 단순화, 명확화입니다. 

 

 

 

 

 


 

 

 

 

 

 

 

 

3. 데이터 모델링의 단계


- 데이터 모델링은 3단계로 구분이 됩니다. 

- 개념을 잡고, 논리적으로 표현한 후, 물리적으로 구축하는 것입니다.

- 자세한 것은 아래 도표를 통해 보겠습니다. 

글자가 깨지거나 작으면 클릭해서 보세요.

 

- 위의 말을 조금 어려울 수 있어서 아래 그림으로 보도록 하겠습니다. 

- 예를 들어 영화관 관련 데이터베이스를 설계한다고 보겠습니다. 

 

  1. 우선 클라이언트와 데이터 모델링을 하기 위한 의사소통을 합니다. 
    https://icon-icons.com/icon/meeting/176917



  2. 클라이언트와 이야기한 내용은 추상화시켜 개념적 모델링을 합니다.
    http://draw.io - DB개념설계
    - 영화관에 오는 회원이 있겠구나~ 하고 엔터티를 만들고, 회원의 속성은 어떤 것들이 있을까 생각을 해봅니다. 
    - 영화관련도 있겠구나~하고 엔터티를 만들고, 영화에는 어떤 속성이 필요한지 적어봅니다.
    - 이런 식으로 추상화시켜 나가는 것을 개념적 모델링이라고 합니다. 


  3. 개념적 모델링을 논리적 모델링으로 변화하는 작업을 합니다.
    https://www.erdcloud.com/ 를 이용한 논리적 설계
    - 개념적 모델링에서는 추상화를 시켰다고 한다면, 논리적 모델링에서는 좀 더 구체적으로 만듭니다.
    - 각각의 엔터티에 식별자(기본키)를 도출하고, 필요한 모든 관계(릴레이션)를 정의합니다. 
    - 특히, 데이터들을 다 분리하는 정규화를 수행해서 데이터 모델의 독립성도 확보합니다.
    - 정규화라는 것은 영화에 모든 정보를 다 담으면 복잡해지니까, 영화파일, 장르, 연령, 제작 등등 엔터티로 분리해서 관계를 설정해 주는 것입니다. 


  4. 논리적 모델링한 것을 실제 데이터베이스로 구축하는 물리적 설계를 합니다. 
    MySQL Workbanch를 통해 물리적 데이터베이스 설계
    - 설계한 것을 실제 데이터베이스로 만들었습니다. 

 

** 이건 예시일 뿐 실제와는 다를 수 있습니다.

 

 

## 이론 문제 확인하기

다음 중 데이터 모델링 절차로 옳은 것은?
1. 물리적모델링 → 논리적모델링 → 개념적모델링
2. 개념적모델링 → 논리적모델링 → 물리적모델링
3. 논리적모델링 → 물리적모델링 → 개념적모델링
4. 개념적모델링 → 물리적모델링 → 논리적모델링
더보기

정답 : 2

데이터 모델링 절차는 개념적모델링 → 논리적모델링 → 물리적모델링 순입니다. 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

4. 데이터 모델링을 위한 ERD(Entity Relationship Diagram)


- 개념적 모델링 시에 개념적 ERD를 작성한다고 했습니다. 

- ERD는 1976년에 피터첸이 표기법을 만들었으며, 사실상 데이터 모델링의 표준으로 사용되고 있습니다. 

- 엔터티와 엔터티 간의 관계를 정의하는 모델링 방법입니다. 

- 위에서 예시로 들었던 영화관 DB설계로 간단하게 설명을 해보겠습니다. 

 

 

1) ERD 작성 절차

① 엔터티를 도출하고 그립니다. 영화관에서 관리하는 집합을 도출합니다. 

② 엔터티를 배치합니다. 

- 엔터티를 도출한 후 엔터티를 배치합니다.

- 중요한 엔터티를 왼쪽 상단에 배치합니다.

 

 

③ 엔터티 간의 관계를 설정합니다. 

그림에서 보이는 것과 같이 선을 연결해서 관계 설정

 

④ 관계명을 서술합니다. 엔터티간의 어떤 행위나 존재가 있는지 표현합니다.

엔터티 사이에 관계명을 기술

 

 

⑤ 관계참여도를 표현합니다.

- 관계참여도는 한개의 엔터티와 다른 엔터티 간의 참여하는 관계 수를 의미합니다.

- 즉, "회원은 여러 장을 예매할 수 있다"와 같은 의미를 표현하는 것입니다.

 

⑥ 관계의 필수 여부를 표현합니다.

- 필수는 반드시 존재해야 하는 것입니다.

- 예를 들어 "모든 회원은 반드시 하나의 예매를 해야 한다"와 같은 의미를 표현합니다. 

관계의 필수여부를 표현

 

 

 

2) ERD 작성시 고려사항

- 중요한 엔터티를 가급적 왼쪽 상단에 배치한다.

- ERD는 이해가 쉬워야 하고, 너무 복잡하지 않아야 한다.

 

 

## 이론 문제 확인하기

ERD 작성 절차로 올바르게 연결된 것은?
============================================
A : 엔터티를 도출하고 그린다.
B : 엔터티를 배치한다.
C : 엔터티 간 관계를 설정한다.
D : 관계명을 서술한다.
E : 관계 참여도를 표현한다.
F : 관계의 필수 여부를 표현한다.
============================================
1. A → B → C → D → E → F
2. A → B → C → F → E → D
3. A → B → C → D → F → E
4. B → A → C → D → E → F
더보기

정답 : 1

엔터티를 먼저 도출하고, 엔터티 간의 관계설명 및 관계명 서술하고 참여도 등을 표현합니다. 

 

 

 

 

 

 

 

 

 

 

 

5. 데이터 모델링 고려사항


- 데이터 모델링 시 고려사항을 보겠습니다.

 

 

1) 데이터 모델의 독립성

  • 독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있습니다.
  • 독립성을 확보하기 위해서는 중복된 데이터를 제거해야 합니다.
  • 데이터 중복을 제거하는 방법이 바로 정규화입니다.

 

2) 고객 요구 사항의 표현

  • 데이터 모델링으로 고객과 데이터 모델러 간에 의사소통을 할 수 있어야 하므로, 고객의 요구사항을 간결하고 명확하게 표현해야 합니다.

 

3) 데이터 품질 확보

  • 데이터베이스 구촉 시에 데이터 표준을 정의하고 표준 준수율을 관리해야 합니다.
  • 데이터 표준을 확보해야 데이터 품질을 향상할 수 있습니다. 

 

 

## 이론 문제 확인하기

다음 중 데이터 모델링에서 고려할 사항이 아닌 것은?
1. 데이터 모델의 독립성
2. 고객의 요구사항 표현
3. 데이터 모델의 다양성
4. 데이터 품질 확보
더보기

정답 : 3

데이터 모델링 시 고려사항은 데이터 모델의 독립성, 고객의 요구사항 표현, 데이터 품질 확보 입니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

=====================================================================================

** 기출문제 더보기

## 1번문제

데이터베이스 모델링 관점 중에서 CRUD 메트릭스와 관련이 있는 것은?
1. 프로세스 관점
2. 데이터 관점
3. 데이터와 데이터 간의 상관 관점
4. 데이터와 프로세스의 상관 관점
더보기

정답 : 4

- 데이터 모델링의 관점은 데이터관점, 프로세스관점, 데이터와 프로세스관점이 있습니다. 

- 데이터관점 : 업무에서 사용하는 데이터, 구조분석을 합니다.

- 프로세스관점 : 수행하는 작업, 업무 시나리오 분석을 하니다.

- 데이터와 프로세스관점 : 업무와 데이터의 관계로, CRUD(CREATE, READ, UPDATE, DELETE)메트릭스를 합니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형