관계 데이터 모델의 기본 개념

hongxeob·2022년 12월 26일
0

데이터베이스

목록 보기
8/10
post-thumbnail

관계 데이터 모델이란?

  • 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
  • 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장

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

릴레이션

  • 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
  • 파일 관리 시스템 관점에서 파일(file)에 대응

속성

  • 릴레이션의 열을 속성 또는 어트리뷰트라고 부른다
  • 파일 관리 시스템 관점에서 필드(field)에 대응

투플

  • 릴레이션의 행
  • 파일관리 시스템 관점에서 레코드(record)에 대응

도메인

  • 하나의 속성이 가질 수 있는 모든 값의 집합
    - ex)Int,Char(10),Char(20) ...
  • 속성 값을 입력 및 수정할 때 적합성의 판단 기준이 됨
  • 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의

널 값

  • 속성 값을 아직 모르거나 해당되는 값이 없음을 표현

차수(degree)

  • 하나의 릴레이션에서 속성의 전체 개수

카디널리티

  • 하나의 릴레이션에서 투플의 전체 개수

릴레이션의 구성

릴레이션 스키마

  • 릴레이션을 구성하는 뼈대
  • 릴레이션의 논리적 구조
  • 릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의
    - ex)고객 (고객아이디,고객이름,나이,등급,직업,적립금)
  • 릴레이션 내포라고도 함
  • 정적인 특징이 있음

릴레이션 인스턴스

  • 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
  • 릴레이션 외연 이라고도 함
  • 동적인 특징이 있음

데이터베이스의 구성

데이터베이스 스키마

  • 데이터베이스의 전체 구조
  • 데이터베이스를 구성하는 릴레이션 스키마의 모음

데이터베이스 인스턴스

  • 데이터베이스를 구성하는 릴레이션 인스턴스의 모음

릴레이션의 특성

  • 투플의 유일성
    - 하나의 릴레이션에는 동일한 투플이 존재할 수 없다
  • 속성의 최소성
    - 꼭 필요한 최소한의 속성들로만 키를 구성
  • 투플의 무순서
    - 하나의 릴레이션에서 투플 사이의 순서는 무의미하다
  • 속성의 무순서
    - 하나의 릴레이션에서 속성 사이의 순서는 무의미하다
  • 속성의 원자성
    - 속성 값으로 더는 분해할 수 없는 하나의 값, 즉 원자 값만 사용할 수 있다
    - 다시 말해 하나의 속성은 여러 개의 값, 다중 값을 가질 수 없다

키(key)의 특성

  • 릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합
  • 유일성 : 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
  • 최소성 : 꼭 필요한 최소한의 속성들로만 키를 구성

키의 종류

슈퍼키

  • 유일성을 만족하는 속성 또는 속성들 의 집합
  • 예) 고객 릴레이션의 슈퍼키 : 고객 아이디,(고객아이디,고객이름),(고객이름,고객 주소)

후보키

  • 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
  • 예) 고객 릴레이션의 후보키 : 고객아이디,(고객이름,주소) 등

기본키(primary key)

  • 후보키 중에서 기본적으로 사용하기 위해 선택한 키 (고객 릴레이션의 후보키 : 고객아이디,(고객이름,주소) 등)
    - 널값을 가질 수 있는 속성이 포함된 후보키는 부적합
    - 값이 자주 변경될 수 있는 속성이 포함된 후보키는 부적합
    - 단순한 후보키를 선택
  • 예)고객 릴레이션의 기본키 : 고객 아이디
    -> (고객이름,주소)는 주소가 null값이 올수도 있고,값이 자주 변경될 수도 있고,두개가 결합 되었기 때문에 단순하지 못함

대체키(alternate key)

  • 기본키로 선택되지 못한 후보키
  • 예) 고객 릴레이션의 대체키 : (고객이름,주소)

외래키(foreign key)

  • 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
  • 릴레이션들 간의 관계를 표현
    - ex)쇼핑몰에서 주문을 한다

    - 참조하는 릴레이션 : 외래키를 가진 릴레이션 (주문 릴레이션)
    - 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션 (고객 릴레이션)
  • 외래키의 역할
    - 고객 릴레이션과 주문 릴레이션이 관계를 맺어 주문 릴레이션의 투플과 연관성이 있는 고객 릴레이션의 투플을 연결할 수 있다
  • 외래키 속성과 그것이 참조하는 기본키 속성의 이름은 달라도 되지만 도메인은 같아야 한다
  • 하나의 릴레이션에는 외래키가 여러 개 존재할 수도 있고 외래키를 기본키로 사용할 수도 있다
  • 같은 릴레이션의 기본키를 참조하는 외래키도 정의할 수 있다 그리고 외래키 속성은 null 값을 가질 수도 있다
    - 예) 기본키 : 고객 아이디, 외래키 : 추천인

관계 데이터 모델의 제약

무결성 제약 조건

  • 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
  • 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것

개체 무결성 제약 조건

  • 기본키를 구성하는 모든 속성은 널 값을 가질 수 없다

참조 무결성 제약 조건

  • 외래키는 참조할 수 없는 값을 가질 수 없다
  • 외래키 속성이 널 값을 가진다고 해서 참조 무결성 제약조건을 위반한 것은 아니다
profile
걍 하자 저스트 뚜잇

0개의 댓글