Post

[데이터베이스 시스템] 관계형 모델

관계형 모델

  • 1969년 에드가 F. 코드에 의해 제안
  • 데이터 정의 언어로 기술된 개념 스키마 생성
  • Oracle, MSSQL, MySQL 등 대다수의 상용 DBMS에서 사용

릴레이션의 구성

용어의미
릴레이션열과 행의 관계로 이루어진 테이블
컬럼컬럼에 해당하는 값의 집합(열, 필드, 속성)
레코드각 컬럼의 순서에 맞게 나열된 값의 집합(행, 투플)
차수릴레이션에 존재하는 컬럼의 개수
카디널리티릴레이션에 존재하는 레코드의 개수

릴레이션의 특징

  • 레코드의 유일성 : 하나의 릴레이션에는 중복되는 레코드가 존재할 수 없으며, 하나의 키 값으로 하나의 레코드를 유일하게 식별한다.
  • 레코드의 무순서성 : 레코드에는 순서가 정해져 있지 않다.
  • 컬럼의 무순서성 : 컬럼에는 순서가 없으며 이름과 값의 쌍으로 구성된다.
  • 컬럼값의 원자성 : 컬럼은 여러 의미를 갖는 값으로 분해가 불가능하며 원자적(atomic)하다.

키(key)의 종류

  • 수퍼키(super key) : 레코드를 구별할 수 있는 컬럼 집합
  • 후보키(cancicate key) : 수퍼키 중에서 최소한의 컬럼으로 구성된 수퍼키
  • 기본키(primary key) : 레코드의 구분을 위해 선택된 후보키
  • 외래키(foreign key) : 참조된 다른 릴레이션의 기본키

관계형 모델의 제약조건

  • 영역 제약조건 : 컬럼값은 컬럼에 정의된 영역에 속한 값이어야 한다.
    • ex) 직위 컬럼에 “123”이라는 컬럼값은 입력될 수 없다.
  • 키 제약조건 : 키는 레코드를 고유하게 식별할 수 있어야 한다.
  • 개체 무결성 제약조건 : 기본키 값은 NULL 이 될 수 없다.
  • 참조 무결성 제약조건 : 반드시 존재하는 레코드의 기본키만 참조할 수 있다.

관계형 모델 변환

일대일 사상수에서 참조하는 경우

각자 상대방 개체의 기본키를 추가한다.

일대다 사상수에서 참조하는 경우

다에 속하는 개체에 일에 속하는 개체의 기본키를 추가한다.

다대다 사상수에서 참조하는 경우

다대다 관계에서는 관계 집합이 하나의 릴레이션으로 만들어진다.

이 릴레이션에 두 개체의 기본키가 기본키이자 외래키로 추가된다.

약한 개체에서 참조하는 경우

약한 개체에 강한 개체의 기본키를 기본키이자 외래키로 추가한다.

This post is licensed under CC BY 4.0 by the author.