3 분 소요

데이터 모델링 2



3층 스키마


3층 스키마란


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

  • 3층 스키마는 데이터의 독립성을 확보하기 위한 방법이다.
  • 데이터 베이스의 독립성을 확보함으로써 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감등의 장점을 챙길 수 있다.
  • 각 계층은 view라고도 한다.

3층 스키마의 구조


  • 외부 스키마
    • 응용 프로그램이 접근하는 데이터베이스를 정의한다.
    • 사용자 관점, 뷰를 표현한다.
    • 업무상 관련 있는 데이터만 접근한다.
    • 관련된 데이터베이스의 일부만 표시한다.
    • 하나의 데이터베이스에 대해 서로 다른 관점을 허용한다.
  • 개념 스키마
    • 설계자 관점, 사용자 전체 집단의 데이터베이스 구조이다.
    • 기관이나 조직체의 관점에서 데이터베이스 구조를 정의한다.
    • 통합 데이터베이스 구조이다.
    • 전체 데이터베이스 내의 모든 데이터에 관한 규칙과 의미를 묘사한다.
  • 내부 스키마
    • 데이터 베이스의 물리적 저장구조이다.
    • 데이터의 저장 구조, 레코드의 구조, 필드의 정의, 인덱스와 해시를 생성한다.
    • 운영체제와 하드웨어에 종속적이다.
    • 개발자 관점의 스키마이다.

3층 스키마의 독립성

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

Entity


엔티티는 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야 하는 데이터이다.

실제 데이터베이스에서 테이블로 표현된다.

고객의 비즈니스 프로세스에서 관리되어야 하는 정보를 추출한다.

Entity의 특징


  • 식별자
    • 엔티티는 유일한 식별자가 있어야한다. (primary key)
  • 인스턴스 집합
    • 2개 이상의 인스턴스가 있어야한다.
  • 속성
    • 엔티티는 반드시 속성을 가지고 있다.
  • 관계
    • 엔티티는 다른 엔티티와 최소한 한 개 이상 관계가 있어야한다.
  • 업무
    • 엔티티는 업무에서 관리 되어야 하는 집합이다.

Entity의 종류


엔티티의 종류는 유형과 무형에 따른 종류, 발생하는 시점에 따른 종류 두가지 방식으로 분류 할 수 있다.

엔티티를 유형과 무형으로 분류하는 기준은 물리적 형태의 존재여부이다.

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

종류 설명
유형 엔티티 -업무에서 도출되며 지속적으로 사용되는 엔티티이다.
-ex)고객명단,사원명단
개념 엔티티 -물리적 형태가 없으며 개념적으로 사용된다.
-ex)금융 상품,거래소 종목
사건 엔티티 -비즈니스 프로세스를 실행하면서 생성되는 엔티티이다.
-ex)주문,체결

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

종류 설명
기본 엔티티 -키엔티티라고 불리며 독립적으로 생성되는 엔티티이다.
중심 엔티티 -기본 엔티티와 행위 엔티티 간의 중간에 있다.
- 기본 엔티티로 인해 발생되고 행위 엔티티를 생성하는 엔티티이다.
행위 엔티티 - 2개 이상의 엔티티로부터 발생된다.

속성


  • 속성은 업무에서 필요한 정보인 엔티티가 가지는 항목이다.

  • 이는 데이터베이스에서 칼럼을 의미한다.

  • 속성은 더 이상 분리되지 않는 단위로 업무에 필요한 데이터를 저장할 수 있다.

  • 하나의 값만 가진다.

  • 주식별자에게 함수적으로 종속된다. 기본키가 변경되면 속성의 값도 변경된다는 의미이다.

속성의 종류


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

종류 설명
단일 속성 하나의 의미로 구성된 것으로 이름,id같은 것을 의미한다.
복합 속성 여러 개의 의미가 있는 것으로 주소 같은 것을 의미한다.
다중값 속성 속성에 여러개의 값을 가질 수 있는 것으로 예를 들어 상품 리스트가 있다.

특성에 따른 속성의 종류


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

관계


관계는 엔터티간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다.

관계의 종류


  • 존재 관계
    • 존재 관계는 엔터티 간의 상태를 의미한다.
    • 부모와 자식처럼 존재에 영향을 미치는 관계를 의미한다고 보면 된다.
  • 행위 관계
    • 행위 관계는 엔티티 간에 어떤 행위가 있느 것으로, 계좌를 사용해서 주문을 발주하는 관계가 만들어진다.

식별관계와 비식별 관계


  • 식별 관계 - 실선으로 표현 - strong entity의 기본키를 다른 엔티티(weak entity)의 기본키의 하나로 공유하는 것 - strong entity의 기본키 값이 변경되면, (기본키를 공유받은) 식별 관계에 있는 엔티티의 값도 변경됨 - 강한 개체(strong entity)는 독립적으로 존재할 수 있음 - 강한 개체는 다른 엔티티와 관계를 가질 때 다른 엔티티에게 기본키를 공유함 - 강한 개체는 식별 관계로 표현됨
  • 비식별 관계 - 점선으로 표현 - strong entity의 기본키를 다른 엔티티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것

엔티티 식별자


식별자 라는 것은 엔티티를 대표할 수 있는 유일성을 만족하는 속성이며, id, 계좌번호, 주민등로번호 같은 유일한 존재로서 무언가를 대표하는 것이다.

주식별자(기본키)


데이터베이스에서 primary key가 되는 녀석이다.

4가지 특성이 있다.

  • 최소성
  • 대표성
  • 유일성
  • 불변성
    • 변경은 가능하나 가급적 변경되지 않아야한다. 완전 불가능은 아니다.

데이터베이스에서 키는 다섯 종류가 있다.

  • 기본키 : 후보키 중에서 엔티티를 대표할 수 있는 키이다.
  • 후보키 : 후보키는 유일성과 최소성을 만족하는 키이다.
  • 슈퍼키 : 슈퍼키는 유일성은 만족하지만 최소성은 만족하지 않는 키이다.
  • 대체키 : 후보키 중에서 기본키가 되지 못하고 남은 키이다.
  • 외래키 : 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성을 확인하기 위해서 사용된다.

식별자의 분류


대표성 여부에 따른 식별자의 종류

  • 주식별자 : 유일성과 최소성을 만족하면서 엔티티를 대표하는 식별자. 참조 관계로 연결될 수 있다.
  • 보조 식별자 : 유일성과 최소성은 만족하지만 대표성을 만족하지 못하는 식별자이다. (후보키)

생성 여부에 따른 식별자의 종류

  • 내부 식별자 : 내부 식별자는 엔터티 내부에서 스스로 생성되는 식별자이다.
  • 외부 식별자 : 다른 엔터티와의 관계로 인하여 만들어지는 식별자이다. (외래키)

속성의 수에 따른 식별자의 종류

  • 단일 식별자 : 하나의 속성으로 구성된다.
  • 복합 식별자 : 두 개 이상의 속성으로 구성된다.

대체 여부에 따른 식별자의 종류

  • 본질 식별자 : 비즈니스 프로세스에서 만들어지는 식별자이다.
  • **인조 식별자 **: 인위적으로 만들어지는 식별자이다. 주로 주식별자가 없거나 주식별자가 너무 많은 경우 사용 된다.

댓글남기기