본문 바로가기

DB

[SQL] 데이터 모델링의 이해 (3)

728x90

1. 속성

1.1. 속성의 의미

- 속성이라는 것은 업무에서 필요한 정보인 엔터티가 가지는 항목이다.
- 속성은 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다. 
- 인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다.

 

1.2. 속성의 특징

- 속성은 업무에서 관리되는 정보이다.
- 속성은 일반적으로 하나의 값만 가진다.
- 주식별자에게 함수적으로 종속된다. 즉 기본키가 변경되면 속성의 값도 변경된다는 것이다. 

 

1.3. 속성의 종류

분해 여부에 따른 속성의 종류

- 단일 속성 : 하나의 의미로 구성된 것으로 회원 ID, 이름 등이다.

- 복합 속성 : 여러 개의 의미가 있는 것으로 대표적으로 주소가 있다.
                      주소는 시, 군, 동 등으로 분해될 수 있다.

- 다중값 속성 : 속성에 여러 개의 값을 가질 수 있는 것으로 예를 들면 상품 리스트가 있다.
                        다중값 속성은 엔터티로 분해된다.

 

특성에 따른 속성의 종류

- 기본 속성 : 비즈니스 프로세스에서 도출되는 본래의 속성이다. 
                     ex) 회원ID, 이름, 계좌번호, 주문 일자 등

- 설계 속성 : 데이터 모델링 과정에서 발생되는 속성이다. 
                    유일한 값을 부여한다.
                     ex) 상품 코드, 지점 코드 등

- 파생 속성 : 다른 속성에 의해서 만들어지는 속성이다. 
                     ex) 합계, 평균 등

 

* 도메인(Domain)

 

: 도메인은 속성이 가질 수 있는 값의 범위이다.

 ex) 성별이라는 속성의 도메인은 남자와 여자이다.

 

2. 관계

2.1. 관계의 의미

- 관계는 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다.
- 존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것이고,
  행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것이다.

 

2.2. 관계의 종류

1. 존재 관계 
  : 존재 관계는 엔터티 간의 상태를 의미한다. 

2. 행위 관계 
  : 행위 관계는 엔터티 간에 어떤 행위가 있는 것으로, 계좌를 사용해서 주문을 발주하는 관계가 만들어진다.

 

2.3. 관계 차수

- 관계 차수는 두개의 엔터티 간에 관계를 참여하는 수를 의미한다.
- 예를 들어 한 명의 고객은 여러 개의 계좌를 개설할 수 있다. 이러한 경우는 1대N 관계가 된다.

 

관계 차수의 종류

- 1대1 관계 : 1대1 관계는 완전 1대 1관계와 선택 1대1 관계가 있다.

완전 1대 1 : 하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우로, 반드시 존재한다.
선택적 1대 1 : 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.

- 1대 N 관계 : 1 대 N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러개 있는 관계이다.
예를 들어 고객은 여러 개의 계좌를 가질 수 있다.

- M대 N 관계 : M대 N 관계는 두 개 엔터티가 서로 여러개의 관계를 가지고 있는 것이다.
예를 들어 한명의 학생이 여러 개의 과목을 수강할 수 있다. 반대로 한 개의 과목은 여러 명의 학생이 수강한다.
그래서 M대 N 관계가 발생한다.

* 관계형 데이터베이스에서 M대 N관계의 조인은 카테시안 곱이 발생한다. 그래서 M대 N관계를 1대 N, N대 1로 해소해야 한다. 

* 카테시안 곱  : 각 릴레이션에 존재하는 모든 데이터를 조합하여 연산하는 것을 말한다.

'DB' 카테고리의 다른 글

[SQL] 데이터 모델링의 이해 (2)  (0) 2024.03.08
[SQL] 데이터 모델링의 이해 (1)  (0) 2024.03.08
[DB] Raw Device란?  (0) 2024.01.23