본문 바로가기

DB

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

728x90

1. 3층 스키마 (3-Level Schema)

1.1 3층 스키마 이해

- 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고
   이들 간의 관계를 정의한 ANSI 표준이다.
- 3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법이다.
- 데이터의 독립성을 확보하면 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른
  대응력 향상, 관리 및 유지보수 비용 절감 등의 장점을 갖는다.
- 3단계 계층으로 분리해서 독립성을 확보하는 방법으로 각 계층을 뷰(View)라고도 한다.

 

*ANSI (American National Standards Institute) : 미국표준협회

 

ANSI 표준은 데이터베이스와 관련된 표준을 정의한 것으로 ANSI SQL 표준이라는 것이 있다.

ANSI SQL표준은 SQL문이 모든 데이터베이스 관리 시스템에서 호환되도록 정의한 표준이다. 

 

1.2. 3층 스키마의 독립성

- 논리적 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는 것이다.

- 물리적 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는 것이다. 

 

1.3. 3층 스키마의 구조

- 외부 스키마 (External Schema) : 사용자 관점, 업무상 관련이 있는 데이터 접근이다.
                                                       관련 데이터베이스의 뷰(View)를 표시한다.
                                                       응용 프로그램이 접근하는 데이터베이스를 정의한다. 
 
- 개념 스키마 (Conceptual Schema) : 설계자 관점, 사용자 전체 집단의 데이터베이스 구조이다.
                                                            전체 데이터베이스 내의 규칙과 구조를 표현한다.
                                                            통합 데이터베이스 구조이다.

- 내부 스키마 (Internal Schema) : 개발자 관점, 데이터베이스의 물리적 저장 구조이다.
                                                      데이터 저장 구조, 레코드 저장 구조, 필드 정의, 인덱스 등을 의미.

 

2. 엔터티

2.1. 엔터티의 의미

- 엔터티는 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야 하는 데이터이다.
- 엔터티는 개념, 사건, 장소 등의 명사이다.

 

2.2. 엔터티 특징

- 식별자 : 엔터티는 유일한 식별자가 있어야 한다.

- 인스턴스 집합 : 2개 이상의 인스턴스가 있어야 한다.

- 속성 : 엔터티는 반드시 속성을 가지고 있다.

- 관계 : 엔터티는 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다.

- 업무 : 엔터티는 업무에서 관리되어야 하는 집합이다.

 

* 릴레이션과 테이블, 인스턴스

 

: 릴레이션과 테이블은 같은 의미라고 해석하면 된다.

  릴레이션에 기본키 및 제약조건을 설정하면 테이블이 된다.

  단, Relationship은 릴레이션 간의 관계를 의미한다.

  인스턴스는 릴레이션이 가질 수 있는 값을 의미한다. 간단하게 생각하면 행의 수를 의미한다.

 

2.3. 엔터티 종류

유형과 무형에 따른 엔터티 종류

- 유형 엔터티 : 업무에서 도출되며 지속적으로 사용되는 엔터티이다.
                         ex) 고객, 강사, 사원 등

- 개념 엔터티 : 유형 엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다. 
                        개념적으로 사용되는 엔터티이다.
                         ex) 거래소 종목, 코스닥 종목, 생명보험 상품 등


- 사건 엔터티 : 비즈니스 프로세스를 실행하면서 생성되는 엔터티이다.
                         ex) 주문, 체결, 취소주문, 수수료 청구 등

 

발생 시점에 따른 엔터티 종류

- 기본 엔터티 : 키 엔터티라고도 한다.
                        다른 엔터티로부터 영향을 받지않고 독립적으로 생성되는 엔터티이다.
                         ex) 고객, 상품, 부서 등

- 중심 엔터티 : 기본 엔터티와 행위 엔터티 간의 중간에 있는 것이다.
                         기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것이다.
                         ex) 계좌, 주문, 취소, 체결 등

- 행위 엔터티 : 2개 이상의 엔터티로부터 발생된다.
                        ex) 주문 이력, 체결 이력 등   

 

'DB' 카테고리의 다른 글

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