본문 바로가기
SQL

SQLD - ERD(엔터티, 인스턴스 , 속성 ...)

by ddahu 2023. 3. 6.

ERD를 구성 하기전 생각해봐야할 것이 몇 몇이 존재한다. 엔터티 , 속성 , 인스턴스, 관계 , ID(식별자) 

 

우선 DB 에서 식별 가능한 객체라는 의미로 엔터티(Entity) 가있다.

 

 

엔터티 (Entity) 

 

    엔터티의 사전적 의미는 '독립체' 이다. 

    엔터티는 식별할 수 있는 사물,  DB내에 식별 가능한 객체, 정보를 저장 할 수 있는 어떠 한 것들

 

  • 엔터티의 특징
    • 엔터티는 자신을 나타내기 위해 속성(Attribute) 를 가지게 되는데 속성은 엔터티마다 상이 하다.
    • 업무에서 쓰이는 정보여야 한다.
      • 만약 DB를 구성하는데 사용하지 않는 데이터가 있지만 엔터티를 도출 해 놓으면 쓸모가 없을 것이다.
    • 유니크함을 보장할 수 있는 식별자가 필요함.
      • 엔터티를 구성하는데 중복되는 인스턴스가 존재하면 안된다.
      • 구분 할 수있는 PK(Primary Key) 가 필요함
      • ex ) 상품번호 , 주문번호 , 회원번호 , 등등등....
    • 2개 이상의 인스턴스를 가지고 있어야함
    • 속성은 반드시 존재해야함.
    • 다른 엔티티와 1개이상의 관계를 가지고 있어야함.

 

  • 엔터티의 분류
    • 유형 엔터티
      • 물리적인 존재, 안정적, 지속적 ( 상품 ,회원 , 고객 , 학생 ... )
    • 개념 엔터티
      • 물리적인 형태 x ,개념적임 ( 부서 , 학과  .... )
    • 사건 엔터티
      • 사건이 발생 하는 엔터티들 
      • 행위를 함으로써 발생 , 빈번함 , 통계자료로 이용가능  ( 주문 , 이벤트 응모 .,...)
  • 무형
    • 기본 엔터티
      • 독립적 생성 , 자식 엔터티 가 생길수있음 ( 상품 , 회원 )
    • 중심 엔터티
      • 기본 엔터티부터 파생 , 행위 엔터티를 생성 ( 주문 )
    • 행위 엔터티
      • 2개 이상의 엔터티로부터 파생 ( 주문내역 , 이벤트 응모 내역 )

속성(Attribute)

 

하나의 릴레이션은 현실세계의 어떤 개체(Entity)를 표현하고 저장하는데 사용된다. 이때 개체는 사물이 될 수도 추상적인 개념이 될 수 도있다.

속성은 내가 저장하고 싶은 개채의 항목들이다. 

[database] 릴레이션 스키마(Relation Schema), 릴레이션 인스턴스(Relation Instance), 속성(Attribute), 튜플(Tuple) (tistory.com)

 

차수(degree)

 한 릴레이션 안에 있는 속성(Attribute) 의 수를 차수라고 한다.

따라서 위 그림에서 릴레이션의 최소 차수는 1이면서 모든 릴레이션은 적어도 하나 이상의 속성(Attribute)을 갖고 있고 위 테이블에서 차수(degree)는 4임을 알 수 있다.

 

- 차수  =  속성 , Degree = Attribute 

 

카디널리티 ( Cardinality) 

카디널리티는 릴레이션 튜플의 개수 이다. 위 테이블의 카디널리티는 = 4

만약 데이터가 삽입되지 않은 테이블의 경우 카디널리티는 차수 와 다르게 0 값을 가질 수 있고 카디날리티는 시간에 지남에 따라 값이 계속 변화한다.

 

튜플(tuple , 레코드 )

위 릴레이션 테이블에서 각 행을 레코드라 하면서 공식적으로는 튜플이라고 한다

- 카디널리티 =  튜플의 수 , Cardinality = Tuple

 

내가 외울 때는 DA - CT 라고 외웠다. 

 

 


속성 ( 특성에 따른 분류 )

  • 기본속성 
    • 업무 프로세스 분석을 통해 바로 정의가 가능한 속성
  • 설계속성
    • 업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성
  • ex)  만약 학생이라는 개체를 만들때 이름,학과,학년이라는 속성이 존재 한다면 이 속성값들은 다른 인스턴스 와 중복될 수 있고 이런 이유로 유니크함을 보장하기 위해서 설계속성을 만들어서 고유번호(학번)을 부여함으로서 인스턴스에 유니크함을 만들어주는것이다
  • 파생속성
    • 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성
  • ex) 파생 속성의 경우 다른 속성으로 부터 파생된 값이라고 생각하면 되는데 계산된 값이나 가공된 값이 이에 속한다.  (상품 재고 , 이벤트 응모 수 , 등등...)

 


PK 속성 ( Primary Key)

- 엔터티의 인스턴스들을 식별할 수 있는 속성

 

FK 속성 ( Foreign Key ) 

-다른 엔터티의 속성에서 가져온 속성

 

일반속성

-PK,FK 를 제외한 속성

 


 

'SQL' 카테고리의 다른 글

SQLD - 데이터 모델링  (1) 2023.03.05