SQLD/모델링

1.모델링 기본,스키마,ERD

김귤🐵 2023. 9. 6. 18:48

1.모델링 기본

데이터 모델링이란?

  • 데이터 모델링은 데이터베이스를 설계하고 구축할때 사용되는 개념,절차이다.
  • 데이터 모델링은 현실 세계의 데이터를 정해진 표기법으로 추상화하여 표현한 것이다.
  • 데이터 모델링을 통해 DB구조를 정의하고 이해하기 쉽게 만드는데 도움을 준다.
  • 구축만을 위한게 아닌 업무를 분석하고 설명하는 부분에서도 중요한 의미를 갖는다.

모델링의 특징

  • 단순화 - 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 단순화한다.
  • 추상화 - 현실세계를 일정한 형식에 맞추어 표현한다.
  • 명확화 - 애매모호함을 배제하고 누구나 이해 가능하도록 정확하게 현상을 기술한다.

모델링의 유의사항

 

1.중복(Duplication)

같은 데이터가 여러 엔터티에 중복으로 저장되는 현상을 지양해야 한다.

2.비유연성(Inflexibility)

데이터모델과 프로세스를 분리함으로써 프로세스의 변화로 인한 데이터모델이 수시로 변경되는것을 줄인다.

3.비일관성(Inconsistency)

데이터 간의 일관성을 유지하기 위해 상호 연관 관계를 명확하게 정의해야 한다.

 

모델링의 세 가지 관점

 

1.데이터 관점

  • 데이터 위주의 모델링
  • 데이터가 어떤 업무와 얽혀 있는지, 데이터 간에는 어떤 관계가 있는지에 대해 모델링한다.

2.프로세스 관점

  • 프로세스 위주의 모델링
  • 업무가 실제 처리하고 있는 일은 무엇인지, 앞으로 처리해야할 일은 무엇인지 모델링

3.데이터와 프로세스의 상관관점

  • 데이터와 프로세스 관계를 위주로 모델링
  • 프로세스 흐름에 따라 데이터가 어떻게 변하는지를 모델링

 

모델링의 3단계

개념 → 논리 → 물리

단계 설명
개념적 데이터 모델링 추상화 레벨이 가장 높은 모델링
논리적 데이터 모델링 재사용성이 가장 높은 모델링
데이터베이스 모델에 대한 KEY,속성,관계 등을 모두 표현하는 단계
물리적 데이터 모델링 실제로 데이터베이스에 구현할 수 있도록 성능,저장 등 물리적 성격을 고려하여 모델을 표현하는 단계

 

성능을 고려한 데이터 모델링 단계

  1. 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
  2. 데이터베이스 용량산정 수행
  3. 데이터베이스에 발생되는 트랜잭션 유형 파악
  4. 용량과 유형에 따른 반정규화 수행한다.
  5. 이력모델의 조정,PK/FK조정,슈퍼타입/서브타입 조정 수행
  6. 성능관점에서 데이터 모델 검증

2.스키마

스키마란?

데이터 모델을 실제 데이터베이스 시스템에 구현하기 위한 청사진

스키마는 구조와 제약 조건 등의 세부 정보를 포함하고 있다.

 

스키마의 3단계 구조

❗️3단계로 나누는 이유

데이터베이스 관점을 단계별로 나눔으로써 독립성을 보장 받는다.(논리적,물리적 독립성)

👉🏻논리적 데이터 독립성

개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다.

👉🏻물리적 데이터 독립성

내부 스키마가 변경되어도 외부,개념 스키마는 영향을 받지 않는다.

1)외부 스키마(External Schema)

  • 사용자 관점의 스키마
  • 외부 스키마는 여러개의 스키마를 가질 수 있다.

2)개념 스키마(Conceptual Schema)

  • 데이터베이스 전체적인 관점
  • 사용자가 보는 모든 스키마를 통합하여 전체 데이터 베이스로 나타낸다.

3)내부 스키마(Internal Schema)

  • 물리적 저장 장치 관점
  • 저장구조,실질적인 데이터 저장 구조나 컬럼정의,인덱스 등이 포함된다.

3.ERD

: 어떤 엔터티가 존재하며 그들간에 어떤 관계를 갖는지 그림으로 표현하는 것

 

표기법의 종류

  1. Peter Chen 표기법 흔히 대학교에서 배우는 ERD 표기법으로 실무에서는 보통 사용되지 않는다.
  2. Barker표기법 오라클에서 사용되는 모델로 까마귀발 표기법과 비슷하다.
  3. UML 소프트웨어 공학에서 사용되는 모델
  4. IDEF1X 실무에서도 사용하는 경우가 있다. ERWin에서 사용하는 모델
  5. Min-Max/ISO 각 엔터티의 참여도를 좀 더 상세히 나타내는 표기법
  6. IE/Crow’s Foot 가장 많이 사용되는 모델이다.

ERD 표기법

가장 많이 사용되는 IE/Crow's Foot의 표기법으로 설명

 

ERD작성 순서

  1. 엔터티를 도출
  2. 엔터티를 적절히 배치
  3. 엔터티간 관계 표시
  4. 관계명을 정의
  5. 관계의 참여도 기입
  6. 관계의 필수/선택 여부 기입