SQL Developer/SQLD 공부

데이터 모델링 시 유의점 / 엔터티, 속성, 인스턴스 / 비식별자 관계 / 데이터모델링 /관계차수 / 정규형

aieo 2023. 11. 6. 19:53
반응형

데이터 모델링 시 유의점

  • 여러 장소에 같은 정보를 저장하지 않도록 한다.
  • 사소한 업무 변화에 데이터모델이 수시로 변경되면 유지보수가 어렵다.
  • 데이터의 중복이 없어도 비 일관성이 발생
  • 반정규화를 하면 데이터 무결성을 해친다.
  • 반정규화를 수행하면 시스템의 성능이 향상되고 관리 효율성을 증가시키지만 데이터의 일관성 및 정합성이 저하될 수 있음
  • 과도한 반정규화는 오히려 성능을 저하
  • 반정규화를 위해서는 사전에 데이터의 일관성과 무결성을 우선으로 할지, 데이터베이스의 성능과 단순화를 우선으로 할지 결정해야 한다.
  • 반정규화 방법에는 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가 등이 있다.


엔터티(Entity)

  • 업무에서 관리해야 하는 데이터 집합을 의미
  • 개념, 사건, 장소 등의 명사이다.

특징

  • 엔터티는 유일한 식별자가 있어야 한다.
  • 2개 이상의 인스턴스가 있따.
  • 반드시 속성을 가지고 있다.
  • 다른 엔터티와 최소한 한 개 이상 관계가 있어야 한다.
  • 업무에서 관리되어야 하는 집합이다.

종류

  1. 유형과 무형에 따른
  • 유형 엔터티
  • 사건 엔터티
  • 개념 엔터티
  1. 발생 시점에 따른
  • 기본 엔터티
  • 중심 엔터티
  • 행위 엔터티

속성(Attribute) = 컬럼

  • 업무에 필요한 정보인 엔터티가 가지는 항목을 말한다.
  • 더이상 분리되지 않는 단위로, 업무에 필요한 데이터를 지정할 수 있다.
  • 인스턴스의 구성요소이다.

특징

  • 업무에서 관리되는 정보
  • 하나의 값만 가진다
  • 주식별자에게 함수족으로 종속된다.

종류

  1. 분해 여부에 따른
  • 단일 속성
  • 복합 속성
  • 다중값 속성
  1. 특성에 따른
  • 기본속성
  • 설계속성
  • 파생속성

※ 도메인 : 속성이 가질 수 있는 값의 범위를 말한다.

 

인스턴스(Instance) = 행

- 인스턴스는 데이터 베이스에 저장된 데이터 내용의 전체 집합을 의미


비식별자 관계(Non - Identifying - Relationship)

  • 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우가 있을때
    1. 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있다
    2. 엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우
    • 예를 들어 부모엔터티의 인스턴스가 자식의 엔터티와 관계를 가지고 있었지만 자식만 남겨두고 먼저 소멸될 수 있는 경우가 이에 해당
    • 이에 대한 방안으로 물리데이터베이스 생성시 Foreign Key를 연결하지 않는 임시적인 방법을 사용하기도 하지만 데이터 모델상 관계를 비식별자관계로 조성하는 것이 가장 좋은 방법
    • 여러 개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가질 때이며 이에 해당된다.

데이터 모델링

논리적 데이터 모델링

- 논리적 시스템으로 구축하고 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현하며 재사용성이 높다.

 

개념적 데이터 모델링

  • 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행.
  • 전사적 데이터 모델링, EA 수립시 많이 사용
  • 핵심 엔터티와 그들 간의 관계를 발견하고, 그것을 표현하기 위해서 엔터티 - 관계 다이어 그램을 생성하는 것
  • 엔터티 -  관계 다이어그램은 조직과 다양한 데이터베이스 사용자에게 어떠한 데이터가 중요한지 나타내기 위해서 사용
  • 개념 데이터 모델은 사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원
  • 개념 데이터 모델은 현 시스템이 어떻게 변형되어야 하는가를 이해하는데 유용

논리적 데이터 모델링

  • 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
  • 논리 데이터 모델링은 데이터베이스 설계 프로세스 input으로서 비지니스 정보의 논리적인 규칙을 명확하게 표현하는 기법 또는 과정
  • 데이터 모델링 과정에서 가장 핵심이 되는 부분
  • 이 단계에서 하는 중요한 활동은 정규화
  • 정규화 :
    • 논리 데이터 모델 상세화 과정의 대표적인 활동
    • 논리 데이터 모델의 일관성 확보, 중복제거로 속성들이 가장 적절한 엔터티에 배치되도록 함 → 신뢰성있는 데이터 구조를 얻는 목적

물리적 데이터 모델링

  • 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 물리적 스키마라 함
  • 이 단계에서 결정되는 것 : 테이블, 컬럼 등으로 표현되는 물리적인 저장구조와 사용될 저장장치, 자료를 추출하기 위해 사용될 접근 방법

 

파생 속성

  • 타 속성에 의 해 영향을 받아 자신의 값이 변한다 (최초주문일자, 주문수량, 총 주문금액 등)

관계차수(Cardinality)

  • 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것
  • 가장 일반적인 관계차수 표현방법은 1:M, 1:1, M:N이다.
  • 가장 중요하게 고려해야 할 상항은 한 개의 관계가 존재하느냐 아니면 두 개 이상의 멤버쉽이 존재하는지를 파악하는 것이 중요

속성 (Attrubute) = 컬럼

  • 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리 되지 안흔 초소의 데이터 단위
  • 업무에서 필요한 정보인 엔터티가 가지는 항목
  • 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.
  • 인스턴스의 구성요소

제 2 정규형

  • 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속된 상태

정규형

  • 제1정규형 : 모든 속성의 도메인이 원자 값(atomic Value)으로만 (다중값이 아닌) 구성되어 있으며 제1정규형에 속한다.
  • 제2정규형 : 제1정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되면 제2정규형에 속한다.
  • 제3정규형 :
    • 제2정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제3정규형에 속한다.
    • 속성간의 함수 종속성이 발생하지 않는 경우
  • 제1정규화 대상 : 제1정규형의 조건을 만족하지 못하는 상태
  • 제2정규화 대상 : 제1정규형이지만 제2정규형의 조건을 만족하지 못하는 상태
  • 제3정규화 대상 : 제2정규형이지만 제3정규형의 조건을 만족하지 못하는 상태

 

 

공부 출처 : https://yunamom.tistory.com/336#answer1

반응형