DataBase

실전 데이터 모델링&데이터베이스 설계와 구축

Bong Gu 2020. 10. 14. 17:58
728x90


DB

KOSTA DAY25

DataBase

실전 데이터 모델링 & 데이터 베이스 설계와 구축

  • 우리나라는 데이터 위주의 설계를 하기 때문에 ERP 다이어그램 위주로 설계를 한다.

데이터 모델링

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

  • 프로젝트에 참여한 모든 사람은 데이터모델링에 참여하거나, 모델내용을 이해해야한다.
  • 업무가 관여하는 어떤것(THING)
  • 업무가 관여하는 어떤것간의 관계(RELATIONSHIPS)
  • 어떤 것이 가지는 성격(ATTRIBUTES)

DB

엔티티 타입

  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한것
  • 영속적으로 존재하는 단위
  • 엔티티 타입이 생성되는 의미대로 명명한다.

DB

엔티티타입의 특징

  • 업무에 필요하고 관리하고자 하는 정보
    필요없는관계X
    DB

  • 식별자에 의해 실별이 가능
    ex) PRIMARY KEY와 같이 주키가 있어 식별이 가능해야 한다.

  • 영속적으로 존재하는 엔티티의 집합
    엔티티의 수가 1개가 아니라 2개이상이어야 한다.
    DB

  • 업무 프로세스에 이용되어야 한다.
    DB

  • 반드시 속성이 있어야 한다.
    DB

  • 최소한개이상의 관계가 있어야 한다.
    예외가 있을 수 있다. ex) GRADE table

엔티티 타입의 분류

DB

  • 기본 : 해당업무에 기본적으로 존재하는 정보
  • 중심 : 업무에 핵심적인 역할을 하는 정보
  • 행위 : 기본과 중심 엔티티타입을 근간으로 업무가 흘러가면서 발생되는 엔티티타입

식별자

  • 엔티티 타입내에서 엔티티들을 구분할 수 있는 구분자이다.
  • 주로 PRIMARY KEY라고 생각할 수 있다.

대리식별자

DB

  • 주식별자의 속성이 복합식별자일 경우 여러 개의 속성을 묶어 하나의 속성으로 만들어 주식별자로 활용하는 경우 대리식별자라 한다.
  • 주키(식별자)가 많으면 작업이 용이하지 않기때문에 사용
  • 주키로 사용할 것이 마땅치 않을때, 주키가 많을때 대리식별자 사용을 고려해봐야 한다.

관계

두개의 엔티티타입 사이의 논리적인 관계(서로에게 영향을 주는 형태)

DB

  • 존재에 의한 관계 / 행위에 의한 관계

관계의 카디넬러티

  • 1:1(ONE TO ONE)
    DB

  • 1:M (ONE TO MANY)
    DB

  • M:M (MANY TO MANY)
    DB

관계의 종류

주식별자 / 비식별자

DB

  • 주식별자 : 부모의 주식별자 = 자식의 주식별자
  • 비식별자 : 부모의 주식별자 = 자식의 일반속성
  • 업무의 로직에 따라서 선택한다.
    결합력이 강하며, 제한적으로 사용되는 경우에만 주식별자를 사용하는것이 좋다.

속성

업무에 필요한 엔티티에서 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위

정규화

다양한 유형의 검사를 통해 데이터 모델을 더 구조화 하고 개선시켜 나가는 절차에 관련된 이론이다.

  • 오류를 최소화 시키는 것.

  • 중복된 데이터가 없도록 하는것이 기본원칙

  • 함수의 종속성
    DB

  • 정규화
    DB

    • 제1차 정규화 : 중복된 속성값을 갖는 속성을 분리
    • 제2차 정규화 : 주식별자에 종속적이지 않은 속성을 분리
    • 제3차 정규화 : 일반속성인데 주키 역할을 하는것과 그것을 종속하는 속성들을 분리



728x90