데이터베이스 - CHATER 2. 관계 데이터 모델 (1)

최다연·2022년 3월 27일
0

데이터베이스

목록 보기
2/2

관계 데이터 모델의 개념

릴레이션의 개념


릴레이션(relation)은 행과 열로 구성된 테이블을 말한다. relation의 사전적 정의는 '관계'이지만 뒤에 나오는 relationship과의 충돌을 피하기 위해 '관계'라고 하지 않는다.

relation은 집합에서 나온 개념이다. 위의 도서 relation의 경우 4개의 집합으로 이루어져있으며 각 집합은 다음과 같다.

도서번호 = {1, 2, 3, 4}
도서이름 = {축구의 역사, 축구아는 여자, 축구의 이해, 골프 바이블, 피겨 교본}
출판사 = {굿스포츠, 나무수, 대한미디어
가격 = {7000, 13000, 22000, 35000, 8000}

위 표에서 첫번째 행의 경우 네 개의 집합에서 각각의 원소를 하나씩 선택하여 만들어진 것으로 이 원소들이 relationship을 맺고 있다.

relationship에는 relation내의 관계와 relation간의 관계가 있다.

릴레이션 스키마와 인스턴스

relation은 schme와 instance로 이루어진다.

  • 스키마(schme)
    관계 데이터베이스의 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의한다.

  • 인스턴스(instance)
    정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합이다.

위의 도서 릴레이션에서, 열(column)은 속성(attribute)라고도 하며 개수를 표현할 땐 차수(dgree)라는 표현을 사용한다. 속성이 가질 수 있는 값의 집합을 도메인(domain)이라고 한다.
행(row)은 튜플(tuple)이라고도 하며 수를 표현할 땐 카디널리티(cadinality)라는 표현을 사용한다.

릴레이션의 특징

  • 속성은 단일 값을 가진다.
  • 속성은 서로 다른 이름을 가진다.
  • 한 속성의 값은 모두 같은 도메인을 가진다.
  • 한 속성의 값은 모두 같은 도메인 값을 가진다.
  • 속성의 순서는 상관이 없다.
  • 릴레이션 내의 중복된 투플은 허용하지 않는다.
  • 투플의 순서는 상관없다.

관계 데이터 모델

관계 데이터 모델은 데이터를 2차원 테이블 형태인 릴레이션으로 표현하며 릴레이션에 대한 제약조건과 관계 연산을 위한 관계대수를 정의한다.
관계 데이터 모델을 컴퓨터 시스템에 구현한 것을 관계 데이터베이스 시스템이라고 한다. 관계 데이터베이스 시스템은 관계 데이터 모델에 기초하여 SQL로 수행하고, 릴레이션에 대한 제약조건을 SQL을 기반으로 구현된다.

키(key)

특정 튜플을 식별할 때 사용하는 속성(attribute) 혹은 속성의 집합이다. 키가 되는 속성은 반드시 값이 달라서 튜플들을 서로 구별할 수 있어야 한다. 키는 릴레이션간 관계를 맺는 데도 사용한다.

  • 슈퍼키(super key)
    튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합.
  • 후보키(candidate key)
    튜플을 유잃게 식별할 수 있는 속성의 최소 집합.
  • 복합키(composite key)
    두 개 이상의 속성으로 이루어진 키.
  • 기본키(primary)
    여러 후보키 중 하나를 선정하여 대표로 삼는 키.
    기본키를 선정할 때엔 다음과 같은 고려사항이 있다.
  1. 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 한다.

  2. NULL값는 허용하지 않는다.

  3. 키값의 변동이 일어나지 않아야 한다.

  4. 최대한 적은 수의 속성을 가진 것이어야 한다.

  5. 향후 키를 사용하는 데 있어서 문제 발생 소지가 없어야 한다.
    릴레이션 스키마를 표현할 때 기본키는 밑줄을 그어 표시한다.

    데이터베이스에 저장된 데이터는 결함이 없어야 하며 질의에 대해 신뢰성 있는 답을 제공해야 한다.

0개의 댓글