관계형 모델

 

관계형 모델의 개념

논리적 데이터 모델링 단계

  1. DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
  2. 데이터 정의 언어로 기술된 개념 스키마 생성
  3. 논리적 데이터 모델링의 필요

릴레이션의 구성

  • 컬럼, 속성, 필드
  • 레코드, 투플
  • 컬럼값
  • 인스턴스
  • 스키마

릴레이션의 특징

  • 레코드의 유일성: 중복된 레코드의 존재가 불가능
  • 레코드의 무순서성: 레코드의 순서는 의미가 없음
  • 컬럼의 무순서성: 컬럼은 순서가 없고, 이름과 값의 쌍
  • 컬럼값의 원자성: 모든 값들을 나눌 수 없는, 단 하나의 의미

키(key)의 역할

  • 릴레이션의 레코드를 식별할 수 있는 값
  • 키의 속성: 유일성, 최소성
  • 키의 종류
    • 수퍼키: 유일성 만족
    • 후보키: 유일성, 최소성 만족
    • 기본키: 레코드의 구분을 위해 선택된 후보키
    • 외래키: 참조된 다른 릴레이션의 기본키

관계형 모델의 제약조건

  • 영역 제약조건: 컬럼에 정의된 영역에 속한 값으로만 컬럼값이 결정
  • 키 제약조건: 키는 레코드를 고유하게 구별하는 값으로 구성
  • 개체 무결성 제약조건: 어떠한 기본키 값도 널(null)이 될 수 없음
  • 참조 무결성 제약조건: 반드시 존재하는 레코드의 기본키만 참조 가능

데이터 연산

관계 연산의 개념

  1. 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
  2. 사용자의 관점에서 필요한 데이터를 릴레이션에 추출하는 방법을 제공하는 도구
  3. 관계 대수: 관계 연산을 정의하는 방법

관계 대수 연산자

  • 셀렉트 연산: 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성
  • 프로젝션 연산: 기술된 컬럼만 갖는 릴레이션으로 재구
  • 카티시언 프로덕트 연산: 두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자
  • 조인 연산: 두 릴레이션에서 조건을 만족하는 레코드를 결합한 레코드로 구성된 릴레이션을 생성
  • 집계 함수 연산: 집계 함수를 값들의 집합 또는 레코드의 집합에 적용하는 연산
  • 집합 연산자
    • 릴레이션은 집합, 레코드는 집합에 포함된
    • 집합 연산자 사용 조건
      • 릴레이션 R과 S의 차수가 동일 원소
      • 모든 i에 대해 R의 i번째 컬럼의 도메인과 S의 i번째 컬럼의 도메인이 반드시 동일