6회차 - 관계 데이터 모델

prana·2022년 9월 22일
0

database

목록 보기
6/38
post-thumbnail

1. 관계 데이터 모델이란?

1) 관계 데이터 모델의 정의

  • DB를 2차원 테이블(Table) 즉, 릴레이션(Relation)의 집합으로 모델링하는 논리적 데이터 구조이다.
  • 1970년 E.F Codd 박사가 처음 제안한 모델로서, 현재 가장 많은 DBMS가 기초로 하고 있는 논리적 데이터 모델이다.

2) 관계 데이터 모델의 특징

  • 개체와 관계가 모두 2차원 테이블(릴레이션)로 표현된다.
  • ER 모델을 관계 데이터 모델로 변형하는 것이 매우 쉽다.

2. 관계 데이터 모델의 주요 용어

1) 튜플(Tuple)

  • 릴레이션의 각 행(Row)으로서, 개체(Entity)에 대응한다.

2) 속성(Attribute)

  • 릴레이션의 각 열(Column)로서, 이름을 가진 정보의 가장 작은 논리적인 단위이다.

3) 도메인(Domain)

  • 한 속성이 취할 수 있는 모든 원자의 값의 집합을 의미한다.
    (데이터 타입, 크기, 형식, 제한 범위, Not Null 여부 등으로 정의한다.)

4) 기수(Cardinality;카디널리티)

  • 하나의 릴레이션이 갖는 튜플의 수를 의미한다.

5) 차수(Degree)

  • 하나의 릴레이션이 갖는 속성의 수를 의미한다.

6) 릴레이션 스키마(Relation Schema)

  • 릴레이션을 구성하는 속성들의 집합을 의미한다.

7) 릴레이션 인스턴스(Relation Instance)

  • 릴레이션을 구성하는 튜플들의 집합을 의미한다.

8) 릴레이션(Relation)

  • 행과 열로 구성된 2차원 구조로서, 릴레이션 스키마와 릴레이션 인스턴스가 합쳐진 개념이다.
    (릴레이션 스키마 + 릴레이션 인스턴스)

9) 키(Key)

  • 튜플들을 유일(Unique)하게 식별할 수 있는 속성, 또는 속성들의 집합을 의미한다.

3. 릴레이션의 특징

  1. 튜플의 유일성

    • 하나의 릴레이션에 있는 튜플들은 모두 달라야 한다.
  2. 튜플의 무순서성

    • 하나의 릴레이션에서 튜플들의 순서(order)는 아무런 의미가 없다.
  3. 속성의 무순서성

    • 하나의 릴레이션에서 속성들의 순서는 아무런 의미가 없다.
  4. 속성의 유일성

    • 하나의 릴레이션에는 같은 이름을 갖는 속성은 존재할 수 없다.
  5. 속성의 원자성

    • 모든 속성은 반드시 원자 값(Atomic Value)을 가져야 한다.

4. 관계 DB 스키마 정의 방법

관계 DB 스키마 = {릴레이션 스키마} + {무결성 제약 조건}


5. 키(Key)

  1. 후보 키(Candidate Key)
  • 키 가운데 유일성(Uniqueness)과 최소성(Minimality)을 만족하는 속성 집합
  1. 슈퍼 키(Super Key)
  • 유일성은 만족하지만 최소성이 만족되지 않는 속성 집합
  1. 기본 키(Primary Key)
  • 후보 키 가운데 업무에 적합하게 선택된 하나의 키(대개 DB설계자가 지정함)
  • 널 값을 가질 수 없고, 중복되지 않는 유효한 값을 가져야 함
  1. 대체 키(Alternative Key)
  • 기본 키를 제외한 나머지 후보 키들
  1. 외래 키(Foreign Key)
  • 릴레이션 간의 관계를 정의하는 키로서, 하위 릴레이션(참조 릴레이션)에서 상위 릴레이션(피참조 릴레이션)의 기본 키를 외래 키로 포함하게 됨

6. 무결성 제약 조건(Integrity Constraints)

  • DB에 저장된 데이터의 정확성과 일관성 유지를 위해서 DB가 항상 만족해야 하는 조건

관계 데이터 모델의 무결성 제약 조건

1) 개체 무결성(Entity Integrity)

  • 기본 키는 튜플들을 유일하게 식별하기 위해서 널(Null) 값을 가질 수 없다는 제약 조건이다.
    => 튜플을 유일하게 식별하기 위해서 기본 키는 반드시 값을 가져야 한다.

2) 참조 무결성(Referential Integrity)

  • 외래 키는 반드시 피참조 릴레이션의 기본 키 값이나 널 값을 가져야 한다는 제약 조건이다.
    => 외래 키는 대응하지 않는 값을 가질 수 없으며, 이를 위배하는 경우 두 릴레이션은 서로 참조될 수 없음을 의미한다.

3) 도메인 무결성(Domain Integrity)

  • 특정 속성은 반드시 미리 정해진 값을 가져야 한다는 제약 조건
    => 데이터 타입, 길이, 디폴트 값, 널(Null) 값 허용 여부, 허용되는 값의 범위 등을 만족하는 값을 가져야 함을 의미한다.

무결성 제약 조건 정의 방법

1) 묵시적 정의

  • 릴레이션을 정의할 때 기본 키와 외래 키를 정의하면, 개체 무결성과 참조 무결성이 묵시적으로 정의된다.

2) 명시적 정의

  • 개체 무결성과 참조 무결성 이외에, 데이터의 정확성과 일관성 유지를 위해서 특정 속성이 만족해야 하는 무결성 제약조건(NOT NULL, UNIQUE, CHECK 등)은 명시적으로 정의해야 한다.

0개의 댓글

관련 채용 정보