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] ▶ 관계형 데이터 모델링에 대해 이해하고 있다. ▶ 릴레이션의 특징을 이해하고 있다. |
'Learning > DB SQL 가이드' 카테고리의 다른 글
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.3 물리 모델 (0) | 2015.10.25 |
---|---|
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.2 논리 모델 (0) | 2015.10.25 |
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.1 개념 모델 (0) | 2015.10.25 |
DB 모델링 - 1. 데이터 모델링 기본 개념 : 1.3 데이터베이스 라이프 사이클 (0) | 2015.10.25 |
DB 모델링 - 1. 데이터 모델링 기본 개념 : 1.2 무결성 (0) | 2015.10.21 |
댓글