Frinee의 코드저장소

관계 데이터 모델

by Frinee
이 글은 김연희 저 - "데이터베이스 개론 3판"을 공부하고 정리하여 작성하였습니다.

 

1. 관계 데이터 모델의 개념

  • 관계 데이터 모델은 하나의 개체에 대한 데이터를 릴레이션(relation) 하나에 담아 데이터베이스에 저장

1.1. 관계 데이터 모델의 기본 용어

  • 속성
    • 릴레이션의 열을 속성 또는 attribute라고 함.
    • 릴레이션이 파일 관리 시스템의 파일을 말한다면, 속성은 해당 파일의 필드(field)에 대응
  • 튜플
    • 릴레이션의 행을 튜플(tuple)이라 부름
    • 튜플은 파일 관리 시스템 관점에서 해당 파일의 레코드(record)에 대응함
  • 도메인
    • 속성 하나가 가질 수 있는 모든 값의 집합을 말함
    • 관계 데이터 모델에서는 더는 분해할 수 없는 원자 값만 속성 값으로 사용할 수 있음
    • 그래서 속성이 가질 수 있는 모든 원자 값의 모임이라 정의함
    • 도메인의 모든 값을 일일이 나열해 정의하기 어려운 경우 데이터 타입으로 정의
    • 데이터 타입을 도메인, 변수를 속성이라 생각하면 이해가 됨
  • 널 값
    • 릴레이션에 있는 특정 튜플 속성 값을 모르거나 적합한 값이 없는 경우를 널(Null) 값으로 사용
  • 차수
    • 하나의 릴레이션에서 속성의 전체 개수를 차수(degree)라 함.
  • 카디널리티
    • 하나의 릴레이션에서 튜플의 전체 개수를 카디널리티(cardinality)라 함.

1.2. 릴레이션과 데이터베이스의 구성

  • 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성되어 있음
  • 릴레이션 스키마
    • 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조이다.
    릴레이션이름(속성이름1, 속성이름2, … 속성이름n)
    • 릴레이션 스키마는 릴레이션 내포(relation intension)라고 부름
  • 릴레이션 인스턴스
    • 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합
    • 릴레이션 인스턴스에 포함된 튜플은 릴레이션 스키마에서 정의하는 각 속성에 대응하는 실제값으로 구성
    • 릴레이션 인스턴스를 보면 릴레이션 실제 내용을 파악할 수 있고 내부적으로 데이터베이스 관리 시스템이 데이터 조작어를 이용해 릴레이션 인스턴스를 조작함
    • 릴레이션 인스턴스는 간단히 릴레이션 혹은 릴레이션 외연(relation extension)이라 부름
  • 데이터베이스 스키마와 데이터베이스 인스턴스
    • 데이터베이스는 여러 개의 릴레이션으로 이루어져 있음
    • 데이터베이스 스키마는 데이터베이스의 전체 구조를 의미하며 릴레이션들의 스키마를 모아놓은 것
    • 데이터베이스 인스턴스는 특정 시점에 데이터베이스에서 저장된 데이터 내용의 전체 집합을 의미함

1.3. 릴레이션의 특성

  1. 튜플의 유일성
    • 하나의 릴레이션에는 동일한 튜플이 존재할 수 없음
  2. 튜플의 무순서
    • 하나의 릴레이션에서 튜플 사이의 순서는 무관함
  3. 속성의 무순서
    • 하나의 릴레이션에서 속성 사이의 순서는 무의미
  4. 속성의 원자성
    • 속성 값으로 원자 값만 사용할 수 있음

1.4. 키의 종류

  • 슈퍼키
    • 유일성의 특성을 만족하는 속성 또는 속성들의 집합
    • 유일성은 하나의 릴레이션에서 키로 지정된 속성 값은 튜플마다 달라야 한다는 의미이고 키 값이 같은 튜플은 없다.
  • 후보키
    • 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
    • 최소성은 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성
    • 슈퍼키 중에서 최소성을 만족하는 키가 후보키가 될 수 있음
  • 기본키
    • 여러 후보키 중 기본적으로 사용할 키를 반드시 선택해야 하는데 이것이 기본키(primary key)
    • 기본키를 선택할 때 고려되는 기준
      • 널 값을 가질 수 있는 속성이 포함된 후보키는 부적합 ex) 입력하지 않아도 되는 속성
      • 값이 자주 변경될 수 있는 속성이 포함된 후보키는 부적합 ex) 주소
      • 단순한 후보키를 기본키로 선택, 주로 정수나 단순 문자열을 선택한다.
  • 대체키
    • 기본키로 선택되지 못한 후보키들
  • 외래키
    • 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키
    • 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합

 

2. 관계 데이터 모델의 제약

  • 관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건이다.
  • 무결성(integrity): 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지된 상태
  • 무결성 제약조건의 주요 목적은 데이터베이스에 저장된 데이터의 무결성을 보장하고 데이터베이스의 상태를 일관되게 유지하는 것

2.1. 개체 무결성 제약조건

  • 기본키를 구성하는 모든 속성은 널 값을 가지면 안된다는 규칙

2.2. 참조 무결성 제약조건

  • 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙
  • 외래키가 자신이 참조하는 릴레이션의 기본키와 상관없는 값을 가지면 안됨

 

 

자료

  • 데이터베이스 개론 3판 (김연희 저, 2024.1)

'[컴퓨터 과학자 스터디] > 데이터베이스' 카테고리의 다른 글

데이터베이스 언어 SQL  (0) 2024.11.25
관계 데이터 연산  (0) 2024.11.21
데이터 모델링  (1) 2024.11.17
데이터베이스 시스템  (1) 2024.11.16
데이터베이스 관리 시스템  (1) 2024.11.14

블로그의 정보

프리니의 코드저장소

Frinee

활동하기