DB Modeling

devkwon·2023년 11월 5일
0

SQL

목록 보기
4/5

Database Modeling이란?

  • 정보화 시스템을 구축하기 위해 어떤 데이터가 존재하는지, 업무에 필요한 정보는 무엇인지 분석하는 방법

과정

개념적 DB 모델링

  • 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정

개체(Entity)

  • 사용자와 관계가 있는 주요 객체로 로직 상 데이터로 관리되어져야 하는 것들을 개체라고 한다.
  • 사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체이다.
  • 개체는 반드시 속성을 가져야하며, 명사여야한다.

속성(Attribute)

  • 개체에 대한 정보
  • 속성은 10개 내외로 하는 것이 바람직함

속성의 유형

  • 기초 속성: 원래 갖고 있던 속성으로 관습적으로 사용되는 속성
  • 추출 속성 : 기초 속성으로부터 가공에 의해 얻어질 수 있는 속성
  • 설계 속성: 실제로 존재하지 않으나, 시스템의 효율성을 위해 임의로 부여하는 속성

관계

  • 두 개체간의 연관성

논리적 DB 모델링

  • 개념적 DB 모델링 단계에서 정의된 ER-Diagram에 Mapping Rule을 적용하여 관계형 DB 이론에 입각한 스키마를 설계하는 단계 + 정규화

Mapping Rule: 개념적 DB 모델링에서 도출된 개체 타입과 관계 타입으로 테이블을 정의하는 것

정규화

물리적 DB 모델링

  • 논리적 DB 모델링 단계에서 얻어진 스키마를 좀 더 효율적으로 구현하기 위한 단계

역정규화

시스템 성능을 고려하여 정규화를 위배하는 것

  • 데이터 중복
    조인이 너무 많이 발생해 성능이 저하되는 경우 중복을 만들어 조인을 줄임
  • 파생 칼럼의 생성
    테이블에 없는 칼럼을 연산이나 조작등을 통해 조회할 때 성능저하가 발생한다면 그냥 칼럼을 미리 만듦. ex) 평균, 합

=====

0개의 댓글