관계형 데이터 모델링 프리미엄 가이드 DB구축 (2014년)
관계형 데이터모델링 0 0 45,409

by 구루비스터디 모델링 관계형데이터베이스 릴레이션 [2018.06.10]


  • 관계형 모델이란 함수 종속(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)가 엔터티이다.
"구루비 데이터베이스 스터디모임" 에서 2014년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3582

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입