[DB/SQLD] 3층 스키마, 엔터티, 속성

2 분 소요

3층 스키마(3-Level Schema)

사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 정의한 ANSI표준이다.

이러한 3층 스키마는 데이터베이스이 독립성을 확보하기 위한 방법이다.

3단계 계층으로 분리해 독립성을 확보하는 방법으로 각 계층을 뷰라고도 한다.

3층 스키마의 독립성에는 논리적 독립성, 물리적 독립성이 있다.

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

schema

  • 외부 스키마 사용자 관점. 관련 데이터베이스의 뷰를 표시. 응용 프로그램이 접근하는 데이터베이스를 정의.
  • 개념 스키마 설계자 관점. 전체 데이터베이스 내의 규칙과 구조를 표현. 통합 데이터베이스 구조.
  • 내부 스키마 개발자 관점. 데이터베이스의 물리적 저장 구조. 데이터 저장 구조, 레코드 구조, 필드 정의, 인덱스 등을 정의.



엔터티(Entity)

엔터티는 업무에서 관리해야 하는 데이터 집합으로 저장되고 관리되어야 하는 데이터.


엔터티 특징

  • 식별자 : 엔터티는 유일한 식별자가 있어야 한다. ex) 회원ID
  • 인스턴스 집합 : 2개 이상의 인스턴스가 있어야 한다. 즉 고객정보는 2명이상 있어야 한다.
  • 속성 : 엔터티는 반드시 속성을 가진다.
  • 관계 : 엔터티는 다른 엔터티와 최소한 한개 이상 관계가 있어야 한다.
  • 업무 : 엔터티는 업무에서 관리되어야 하는 집합이다.

릴레이션과 테이블, 인스터스 릴레이션과 테이블은 같은 의미라고 해석하면 된다. 릴레이션에 기본키 및 제약조건을 설정하면 테이블이 된다. 인스턴스는 릴레이션이 가질 수 있는 값을 의미. 행의 수를 의미.


엔터티 종류

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

종류 설명
유형 엔터티 업무에서 도출되며 지속적으로 사용되는 엔터티
개념 엔터티 유형 엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다. 개념적으로 사용되는 엔터티이다. 예로 들어 코스닥 종목, 생명보험 상품 등이 있다.
사건 엔터티 비즈니스 프로세스를 실행하면서 생성되는 엔터티. 예로 들어서 주문, 취소 주문 등이 있다.


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

종류 설명
기본 엔터티(Basic Entity) 키 엔터티라고 하며 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티.
중심 엔터티(Main Entity) 기본 엔터티와 행위 엔터티 간의 중간에 위치하며 즉 기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것이다.
행위 엔터티(Active Entity) 2개 이상의 엔터티로부터 발생한다.


속성(Attribute)

엔터티가 가지는 항목이며 속성은 더 이상 분리되지 않는 단위이다. 인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다.


속성의 특징

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


속성의 종류

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

종류 설명
단일 속성 하나의 의미로 구성된 것.
복합 속성 여러 개의 의미가 잇는 것으로 대표적으로 주소가 있다. 주소는 시, 군, 동 등으로 분해 가능.
다중값 속성 속성에 여러개의 값을 가질 수 있는 것으로 다중값 속성은 엔터티로 분해된다.


특성에 따른 속성의 종류

종류 설명
기본속성 비즈니스 프로세스에서 도출되는 본래의 속성.
설계속성 데이터 모델링 과정에서 발생되늰 속성. 유일한 값을 부여.
파생속성 다른 속성에 의해서 만들어지는 속성으로 합계, 평균 등이 있다.


도메인(domain) 도메인은 속성이 가질 수 있는 값의 범위이다. 예로 들어서 성별이라는 속성의 도메인은 남자와 여자이다.