관계형 데이터베이스

Yujin·2025년 6월 20일

Database

목록 보기
3/5

데이터 모델이란?


  • 물리적 혹은 추상적으로 존재하는 현실세계를 단순화 하고 정형화 된 형태로 표현 하는 하나의 방식 또는 규범
  • 실제 데이터가 갖는 특성을 살리면서, 목적에 맞게 관심 있는 정보만 단순화 하여 표현하는 방식
    • 데이터에 대한 조작이 가능해야 함

릴레이션(Relation)


관계형 데이터 모델(relation data model)

  • 테이블 형식을 이용하여 데이터를 정의하고 설명
  • 실세계의 데이터를 누구나 직관적으로 이해할 수 있는 간단한 방식
  • 테이블을 릴레이션(relation)이라 부름
  • 수학적으로 두개 이상의 집합으로부터 각 집합을 구성하는 원소들의 순서쌍에 대한 집합 의미

도메인(domain)

  • 각 필드에 입력 가능한 값들의 범위
  • 각 필드가 가질 수 있는 모든 값들의 집합
  • 원자값(더이상 분리 X)이여야함

널(null)

  • 특정 필드에 대한 값을 알지 못하거나 아직 정해지지 않아 입력하지 못한 경우의 필드의 값
  • 0이나 공백 문자와 다름

테이블 스키마와 테이블 인스턴스


테이블 스키마

  • 테이블 정의에 따라 만들어진 데이터 구조
  • ex) 신입생(학번, 주민등록번호, 이름, 주소)

차수(degree)

  • 테이블 스키마에 정의된 필드 수
    • 차수 1 : 단항 테이블
    • 차수 2 : 이항 테이블
    • 차수 n : n항 테이블

테이블 인스턴스

  • 테이블 스키마에 현실 세계의 데이터를 레코드로 저장한 형태
  • 스키마는 한번 정의하면 거의 변함이 없지만, 인스턴스는 수시로 바뀔 수 있음

기수(cardinality)

  • 테이블 인스턴스의 레코드 수

테이블 특성

  • 중복된 레코드가 존재하지 않음
    • 테이블 인스턴스는 레코드들의 “집합” 이다
  • 레코드 간의 순서는 의미 X
  • 레코드 내에서 필드의 순서는 의미 X
  • 모든 필드는 원자값을 가짐

키(key)


💡 키는 왜 필요한가?
레코드간의 순서가 의미가 없으므로 레코드를 구분하기 위해 각 레코드의 값을 이용함

  • 필드들의 일부로 각 레코드들을 유일하게 식별해낼 수 있는 식별자
  • 일반적으로 하나의 필드를 지정, 여럿도 가능 (복합키)
  • 관계형 데이터 모델에서 특정 레코드를 구별하거나 탐색하기 위한 유일한 방법

수퍼키(super key)

  • 아무런 제약 조건 없이 레코드들을 식별할 수 있는 필드의 집합
  • (주민등록번호) (주민등록번호, 학번) (주민등록번호, 이름) 등등,,,
    • 전체 테이블의 속성(필드)를 모두 합한 것도 하나의 수퍼키

후보키(candidate key)

  • 최소한의 필드만 구성된 키
  • (학번) (주민등록번호)

기본키(primary key)

  • 후보키 중에서 식별자 하나로 정의한 하나의 키
  • 되도록 하나의 필드로 구성된 후보키를 선정하는 것이 유리
  • (학번)
  • NULL 허용 X, 동일한 값 X

외래키(foreign key)

  • 서로 관련이 있는 테이블 사이에서 데이터 일관성을 보장하는 수단
  • 한 테이블(R1)의 필드가 다른 테이블(R2)기본키(PK) 또는 유니크 키를 참조할 때 외래키(FK)라고 함.
  • 외래키로 지정이 되면 기본키 또는 유니크 키를 참조하게 됨
  • 참조되는 테이블에서 사용중인 기본키를 삭제 혹은 변경 할 수 없음
  • 기본키에 없는 값은 외래키로 입력할 수 없음

조건

  1. 외래키(FK)의 필드들은 참조되는 테이블의 기본키(PK)같은 데이터형(도메인)이어야 함.
  2. 외래키(FK)의 값은:
    • 참조되는 테이블(R2)의 기본키(PK) 값 중 하나와 일치하거나,
    • NULL일 수 있음 (값이 아직 없거나, 모를 때).

외래키의 역할

  • 데이터 무결성을 보장:
    • 외래키 필드에 기본키에 없는 값은 입력할 수 없음.
    • 외래키로 참조된 기본키는 삭제하거나 변경할 수 없음.
  • 데이터베이스의 테이블 간 관계를 정의.

관계형 데이터베이스


💡관계형 데이터베이스란?

관계형 데이터 모델에 기반하여 하나 이상의 테이블로 실세계를 표현한 데이터베이스

  • 실세계를 관계형 데이터 모델이라는 추상적인 도구를 이용하여 표현한 것
  • 테이블들을 컴퓨터의 기억 장치에 어떠한 방법으로 저장할 것인가에 대한 물리적 구조까지 정의한 것은 XX

관계형 데이터베이스가 하나 이상의 테이블로 구성되어 있을 때

  • 데이터베이스 스키마
    • 테이블 스키마의 집합
  • 데이터베이스 인스턴스
    • 테이블 스키마들에 대한 테이블 인스턴스의 집

0개의 댓글