본문 바로가기
Learning/DB SQL 가이드

DB 모델링 - 1. 데이터 모델링 기본 개념 : 1.1 관계형 데이터 모델링

by Pronician 2015. 10. 21.
반응형

1. 데이터 모델링 기본 개념

 

1.1 관계형 데이터 모델링

 

관계형 모델이란 함수 종속(Functional Dependency)에 의해 정규화(Normalization)된 모델

 

함수 종속이란?

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

 

 

 

[ R ] 릴레이션에 포함된 속성으로 사원번호, 사원이름, 성별이 있을 때 사원이름, 성별은 사원번호에 함수 종속이다.

사원번호가 정해지면 이에 따라 사원이름, 성별의 값은 오직 한 개만 존재하기 때문.

 

릴레이션의 구조

   ▶ 릴레이션은 가로와 세로로 이루어진 테이블(표) 형태의 2차원 데이터

   ▶ 머리(Head) 부분인 어트리뷰트와 몸통(Body) 부분인 튜플로 구분

   ▶ 튜플의 집합이 릴레이션이다.

 

   ▶ 릴레이션에는 이름이 존재하며 2차원의 테이블 형태로 데이터(Value, 어트리뷰트 값)가 관리된다.

   ▶ 각 행을 튜플(Tuple)이라 하며 각 열을 어트리뷰트(Attribute)라고 한다.

   ▶ 어트리뷰트 중에서 튜플을 유일하게 식별할 수 있는 어트리뷰트를 식별자(Identifier)라고 한다.

   ▶ 이름, 주소와 같은 어트리뷰트의 이름을 내포(Intension 또는 Head)하고 한다.

   ▶ 1234, 홍길동 같은 실제 데이터를 외포(Extention 또는 Body)라고 한다.

   ▶ 릴레이션의 이름과 내포를 스키마(Schema)라고도 한다.

   ▶ 튜플의 개수를 카디널러티(Cardinality)라고 하며 어트리뷰트의 개수를 차수(Degree)라고 한다.

   ▶ 차수가 1개 이상이고 카디널러티가 0개 이상이면 유효한 릴레이션이다.

   ▶ 튜플을 흔히 레코드(Record)/로우(Row)/인스턴스(Instance)라고도 부르며 어트리뷰트는 컬럼(Column)/필드(Field)라고 부른다.

 

릴레이션의 특징

   ▶ 튜플의 유일성 : 각각의 튜플을 식별할 수 있어야 함

   ▶ 튜플들의 무순서 : 관계 모델만의 특징으로 만약 튜플의 순서에 의미를 부여하고 싶다면 정렬 연산을 수행

   ▶ 어트리뷰트들의 무순서 : 논리적인 독립성을 유지하는데 필수적인 역할을 하는 것으로 필요한 속성을 사용자로 하여금 취사 선택하도록 함

   ▶ 어트리뷰트의 원자값 : 속성의 값의 범위가 한 가지 값만을 가진다는 것을 의미

 

관계형 데이터베이스

   ▶ 관계형 데이터베이스에는 2차원 테이블 형태의 릴레이션이 존재하고 릴레이션에는 식별자가 존재

   ▶ 식별자 중에 외래식별자가 존재해 주식별자와 조인(Join)을 통해 릴레이션 사이의 연관관계(Relationship)을 관리

   ▶ 데이터를 중복해서 저장하지 않도록 설계하는 것이 관계형 데이터베이스 설계의 핵심이다.

 

관계형 모델의 제약 사항

   ▶ 릴레이션(Relation)에서 각 튜플(Tuple)은 유일해야 한다.

   ▶ 어트리뷰트(Attribute)의 모든 값이 동일한 튜플이 존재할 수 없으며, 식별자의 값이 같은 튜플이 존재해서는 안된다.

   ▶ 어트리뷰트는 유일한 값이 사용돼야 하며 다중 값이 복합값이 존재해서는 안된다.

   ▶ 전체 모델에서 릴레이션의 이름은 유일해야 하며, 릴레이션 내의 어트리뷰트 이름도 유일해야 한다.

   ▶ 릴레이션 내의 튜플의 순서는 중요하지 않다.

   ▶ 한 릴레이션에는 하나의 데이터 주제만이 포함될 수 있다.

   ▶ 모든 릴레이션은 함수 종속 규칙을 따라야 한다.

   ▶ 릴레이션이 정규화(Normalization)되지 않으면 관계형 모델이라 할 수 없다.

   ▶ 정규화된 릴레이션 사이에는 외래식별자(Foreign Identifier)를 통해서 연관 관계가 성립하게 된다.

 

관계형 이론의 용어

   ▶ 엔터티 타입(Entity Type)은 엔터티들의 집합(Set)을 의미한다.

 

   ▶ 엔터티 타입에 속한 특정 튜플을 엔터티(Entity)라고 한다.

   ▶ 엔터티 타입은 동일한 어트리뷰트를 가진 엔터티의 집합이다.

   ▶ 내포가 엔터티 타입에 해당하며 실제 데이터인 외포가 엔터티이다.

 

 [관련 keyword]

   ▶ 관계형 데이터 모델링에 대해 이해하고 있다.

   ▶ 릴레이션의 특징을 이해하고 있다.

반응형

댓글