ERD를 구성 하기전 생각해봐야할 것이 몇 몇이 존재한다. 엔터티 , 속성 , 인스턴스, 관계 , ID(식별자)
우선 DB 에서 식별 가능한 객체라는 의미로 엔터티(Entity) 가있다.
엔터티 (Entity)
엔터티의 사전적 의미는 '독립체' 이다.
엔터티는 식별할 수 있는 사물, DB내에 식별 가능한 객체, 정보를 저장 할 수 있는 어떠 한 것들
- 엔터티의 특징
- 엔터티는 자신을 나타내기 위해 속성(Attribute) 를 가지게 되는데 속성은 엔터티마다 상이 하다.
- 업무에서 쓰이는 정보여야 한다.
- 만약 DB를 구성하는데 사용하지 않는 데이터가 있지만 엔터티를 도출 해 놓으면 쓸모가 없을 것이다.
- 유니크함을 보장할 수 있는 식별자가 필요함.
- 엔터티를 구성하는데 중복되는 인스턴스가 존재하면 안된다.
- 구분 할 수있는 PK(Primary Key) 가 필요함
- ex ) 상품번호 , 주문번호 , 회원번호 , 등등등....
- 2개 이상의 인스턴스를 가지고 있어야함
- 속성은 반드시 존재해야함.
- 다른 엔티티와 1개이상의 관계를 가지고 있어야함.
- 엔터티의 분류
- 유형 엔터티
- 물리적인 존재, 안정적, 지속적 ( 상품 ,회원 , 고객 , 학생 ... )
- 개념 엔터티
- 물리적인 형태 x ,개념적임 ( 부서 , 학과 .... )
- 사건 엔터티
- 사건이 발생 하는 엔터티들
- 행위를 함으로써 발생 , 빈번함 , 통계자료로 이용가능 ( 주문 , 이벤트 응모 .,...)
- 유형 엔터티
- 무형
- 기본 엔터티
- 독립적 생성 , 자식 엔터티 가 생길수있음 ( 상품 , 회원 )
- 중심 엔터티
- 기본 엔터티부터 파생 , 행위 엔터티를 생성 ( 주문 )
- 행위 엔터티
- 2개 이상의 엔터티로부터 파생 ( 주문내역 , 이벤트 응모 내역 )
- 기본 엔터티
속성(Attribute)
하나의 릴레이션은 현실세계의 어떤 개체(Entity)를 표현하고 저장하는데 사용된다. 이때 개체는 사물이 될 수도 추상적인 개념이 될 수 도있다.
속성은 내가 저장하고 싶은 개채의 항목들이다.

차수(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 |
|---|