[SQL] 엔터티 뜻 종류 분류 관계 인스턴스


일반적인 관계 차수 표현 방법

1. 엔터티 속성

 

1) 속성

 

– 비즈니스에서 필요로 하며 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위이며, 엔터티에 대한 설명이고 인스턴스의 구성요소가 된다. ex) 고객 엔터티의 고객 성별 속성

 

2) 특징

 

– 1개의 엔터티는 여러 개의 인스턴스를 가질 수 있고 하나의 인스턴스는 여러 개의 속성을 가진다. 또한 하나의 속성은 단 하나의 속성 값을 가지게 된다.

– 엔터티와 마찬가지로 반드시 비즈니스에서 필요로 하고 IT 시스템에서 저장 및 관리하고자 하는 정보여야 한다.

ex) 지하철역(엔터티)은 여러 개의 역이 있음 (인스턴스)

지하철역에 대한 정보는 선명, 역명 등이 있음 (속성)

선명 속성의 속성 값은 ‘ㅇ호선’이고, 역명 속성의 값은 ‘ㅇㅇ현’역이 있음 (속성 값)

 

3) 속성의 표기법

 

– “#”를 붙여 식별자임을 표시한다.

– “*”를 붙여 필수 값임을 표시한다.

– “ο”를 붙여 선택 값임을 표시한다.


* 속성의 분류 1 (특성에 따른 분류)

 

– 기본 속성 (Basic Attribute) : 비즈니스 분석을 통해 도출된 속성.

– 설계 속성 (Designed Attribute) : 데이터 모델 설계를 하면서 도출하는 속성. ex) 상가 엔터티의 표준산업분류코드 속성

– 파생 속성 (Derived Attribute) : 다른 속성에 의해서 계산이나 변형이 되어 생성되는 속성. ex) 상가 엔터티의 주소 정보를 기반으로 위도, 경도 속성

 

* 속성의 분류 2 (엔터티 구성 방식에 따른 분류)

 

– PK (Primary Key) 속성 : 엔터티에서 단 하나의 인스턴스를 식별할 수 있는 속성, 기본키.

– FK (Foreign Key) 속성 : 타 엔터티와의 관계를 통해 포함된 속성, 외래키.

– 일반 속성 : PK 혹은 FK 속성이 아닌 속성

 

5) 도메인 (Domain)

 

– 속성이 가질 수 있는 범위를 말한다.

– 각 속성의 속성 값은 정의된 도메인 이외의 값을 가질 수 없다.

ex) 학생 엔터티
학점 속성의 도메인 : 0.0 ~ 4.5의 범위를 갖는 실수 값으로 정의
핸드폰 번호 속성 : 길이가 20자리 이내인 문자열로 정의

 

6) 속성의 명명

 

– 비즈니스에 사용하는 이름을 부여한다.

– 속성명을 서술식으로 명명하지 않는다.

– 전체 데이터 모델 내에서 유일한 이름의 속성명으로 명명하는 것이 좋다.


2. 엔터티 관계

 

1) 관계의 정의

 

– 관계는 엔터티끼리 상호 연관성이 있는 상태를 의미한다.

– 엔터티 간 논리적인 연관성을 의미한다.

예1) 
부서 엔터티와 사원 엔터티의 관계와 같이 존재에 대한 관계
고객 엔터티와 주문 엔터티의 관계와 같이 행위에 대한 관계

 

예2)
하나의 ‘지하철역’은 여러 개의 ‘지하철역승하차’ 정보를 가질 수 있다.

 

2) 관계의 페어링 (Relationship Pairing)

 

– 엔터티 내의 인스턴스가 개별적으로 관계를 가지는 것을 말한다.

– 관계는 이러한 관계 페어링을 논리적으로 표현한 것이다.

 

3) 관계의 표기법

 

– 2개의 엔터티 간 관계에서 참여자의 수를 표현하는 것을 관계 차수(Cardinality)라고 한다.

 

가장 일반적인 관계 차수 표현 방법

1 : 1 관계
 – 예) 한 명의 사원은 단 한 개의 병역사항을 가진다.

1 : M 관계
 – 예) 한 명의 사원은 한 부서에 소속되고 한 부서는 여러 사원을 포함한다.

M : M 관계
– 예) 주문은 여러 제품을 포함할 수 있고, 제품도 여러 주문에 의해 주문될 수 있다.

 

4) 관계 선택사양(Optionality)

 

 – 실선으로 필수적 관계를 표현한다. 예) 지하철역 승하차는 지하철역 번호가 반드시 존재한다. (필수 참여 관계)

 

– 점선으로 선택적 관계를 표현한다. 예) 지하철역은 지하철역 승하차 정보가 있을 수도 있고 없을 수도 있다. (선택적 참여 관계)