by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

관계형 데이터모델링




  • 관계형 모델이란 함수 종속(Functional Dependency)에 의해 정규화(Normalization)된 모델이 관계형 모델이다.
  • 함수 종속이란?
    어떤 릴레이션 R에서 X, Y가 릴레이션 R의 부분 속성(Attribute)라고 할 때 속성 X의 도메인 값 각각에 대해 시간에 관계 없이 항상 속성 Y의 도메인 값이 오직 한개만 연관된다면 Y는 X의 함수 종속이라고 하고, X(결정자) -> Y(종속자)로 표시한다.

R

사원번호 사원이름 성별
1111 이가혜 여성
2222 강정식 남성
3333 오정희 여성

[ R ] 릴레이션에 포함된 속성으로 사원번호, 사원이름, 성별이 있을 때 사원이름, 성별은 사원번호에 함수 종속이다.
사원번호가 정해지면 이에 따라 사원이름, 성별의 값은 오직 한 개만 존재하기 때문.

릴레이션의 구조

  • 릴레이션은 가로와 세로로 이루어진 테이블(표) 형태의 2차원 데이터
  • 머리(Head) 부분인 어트리뷰트와 몸통(Body) 부분인 튜플로 구분
  • 튜플의 집합이 릴레이션이다.

  • 릴레이션에는 이름이 존재하며 2차원의 테이블 형태로 데이터(Value, 어트리뷰트 값)가 관리 된다.
  • 각 행을 튜플(Tuple) 이라 하며 각 열을 어트리뷰트(Attribute) 라고 한다.
  • 어트리뷰트 중에서 튜플을 유일하게 식별할 수 있는 어트리뷰트를 식별자(Identifier) 라고 한다.
  • 이름.주소와 같은 어트리뷰트의 이름을 내포(Intension 또는 Head) 라고 한다.
  • 1234, 홍길동 같은 실제 데이터를 외포(Extension 또는 Body) 라고 한다.
  • 릴레이션의 이름과 내포를 +스키마(Schema)+라고도 한다.
  • 릴레이션에는 튜플의 개수를 카디널러티(Cardinality) 라고 하며 어트리뷰트의 개수를 차수(Degree) 라고 한다.
  • 차수가 1개 이상이고 카디널러티가 0개 이상이면 유효한 릴레이션이다.
  • 튜플을 흔히 레코드(Record).로우(Row).인스턴스(Instance)라고도 부르며 어트리뷰트는 컬럼(Column).필드(Field)라고 부른다.

관계형 데이터베이스

  • 관계형 데이터베이스(Relational Database)의 Relation은 관계(Relationship)이 의미하는게 아니라 릴레이션(Relation)에 의해 붙여진 이름이다.
  • 관계형 데이터베이스에는 2차원 테이블 형태의 릴레이션이 존재하고 릴레이션에는 식별자가 존재
  • 식별자 중에 외래 식별자가 존재해 주 식별자와 조인(Join)을 통해 릴레이션 사이의 연관 관계(Relationship)을 관리한다.
  • 데이터를 중복해서 저장하지 않도록 설계하는 것이 관계형 데이터베이스 설계의 핵심이다.

관계형 모델의 제약 사항

  • 릴레이션(Relation)에서 각 튜플(Tuple)은 유일해야 한다
  • 어트리뷰트(Attribute)의 모든 값이 동일한 튜플이 존재할 수 없으며, 식별자의 값이 같은 튜플이 존재해서는 안된다.
  • 어트리뷰트는 유일한 값이 사용돼야 하며 다중 값이나 복합값이 존재해서는 안된다.
  • 전체 모델에서 릴레이션의 이름은 유일해야 하며, 릴레이션 내의 어트리뷰트 이름도 유일해야 한다.
  • 릴레이션 내의 튜플의 순서는 중요하지 않다.
  • 한 릴레이션에는 하나의 데이터 주제만이 포함될 수 있다.
  • 모든 릴레이션은 함수 종속 규칙을 따라야 한다.
  • 릴레이션이 정규화(Normalization)되지 않으면 관계형 모델이라 할 수 없다.
  • 정규화된 릴레이션 사이에는 외래 식별자(Foreign Identifier)를 통해서 연관 관계가 성립하게 된다.

관계형 이론의 용어

  • 엔터티 타입(Entity Type)은 인터티들의 집합(Set)을 의미한다.
  • 엔터티 타입에 속한 특정 튜플을 엔터티(Entity)라고 한다.
  • 엔터티 타입은 동일한 어트리뷰트를 가진 어트리뷰트를 가진 엔터티의 집합이다.
  • 내포(Intension 또는 Head)가 엔터티 타입에 해당하며 실제 데이터인 외포(Extension 또는 Body)가 엔터티이다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.