CS/데이터베이스

관계 데이터 모델

JWonK 2022. 4. 18. 01:46
728x90
반응형

관계 데이터 모델


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

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

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

릴레이션의 예 : 고객 릴레이션

 

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

  • 릴레이션(Relation)
    • 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 정의한 것
    • 파일 관리 시스템 관점에서 파일(file)에 대응
  • 속성(Attribute)
    • 릴레이션의 열, 애트리뷰트
    • 파일 관리 시스템 관점에서 필드(field)에 대응
  • 투플(Tuple)
    • 릴레이션의 행
    • 파일 관리 시스템 관점에서 레코드(record)에 대응

 

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

  • 도메인(Domain)
    • 하나의 속성이 가질 수 있는 모든 값의 집합
    • 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
    • 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
  • 널(Null)
    • 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
  • 차수(Degree)
    • 하나의 릴레이션에서 속성의 전체 개수
  • 카디널리티(Cardicality)
    • 하나의 릴레이션에서 투플의 전체 개수

< 고객 릴레이션의 차수는 6, 카디널리티는 4가 된다 >

릴레이션의 구성

  • 릴레이션 스키마(Relation Schema)
    • 릴레이션의 논리적 구조
    • 릴레이션의 이름과 릴레이션에 포함된 모든 속성 이름으로 정의
      • ex) 고객(고객아이디, 고객이름, 나이, 등급, 직업, 적립금)
    • 릴레이션 내포(relation intension)라고도 함
    • 정적인 특징이 있음
  • 릴레이션 인스턴스(Relatiom Instance)
    • 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
    • 릴레이션 외연(relation extension)이라고도 함
    • 동적인 특징이 있음


  데이터베이스의 구성

  • 데이터베이스 스키마(Database Schema)
    • 데이터베이스의 전체 구조
    • 데이터베이스를 구성하는 릴레이션 스키마의 모음
  • 데이터베이스 인스턴스(Database Instance)
    •  데이터베이스를 구성하는 릴레이션 인스턴스의 모음

데이터베이스 예

 

  릴레이션의 특징

  • 투플의 유일성
    • 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.
  • 투플의 무순서
    • 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.
  • 속성의 무순서
    • 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
  • 속성의 원자성
    • 속성 값으로 원자 값만 사용할 수 있다.

 

  키(Key)

  • 릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합

키의 종류

 

  키의 특성

  • 유일성(Uniqueness)
    • 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함
  • 최소성(Minimality)
    • 꼭 필요한 최소한의 속성들로만 키를 구성함

 

  키의 종류

  • 슈퍼키(Super Key)
    • 유일성을 만족하는 속성 또는 속성들의 집합
    • ex) 고객 릴레이션의 슈퍼키 : 고객 아이디, (고객 아이디, 고객 이름), (고객 이름, 주소) 등
  • 후보키(Candidate Key)
    • 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
    • ex) 고객 릴레이션 후보키 : 고객 아이디, (고객 이름, 주소) 등
  • 기본키(Primary Key)
    • 후보키 중에서 기본적으로 사용하기 위해 선택한 키
    • ex) 고객 릴레이션의 기본키 : 고객 아이디

 

  키의 종류

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

주소 속성이 추가된 릴레이션의 예 : 고객 릴레이션

 

키의 관계

  키의 종류

  • 외래키(Foreign Key)
    • 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
    • 릴레이션들 간의 관계를 표현
      1. 참조하는 릴레이션 : 외래키를 가진 릴레이션
      2. 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션

 

고객 릴레이션과 주문 렐리이션의 스키마

 

외래키의 예
학생 상담 데이터베이스 스키마

 

기본키와 외래키의 관계가 함께 정의된 릴레이션의 예

 

  키의 특성과 종류

 


 

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

무결성 제약조건(Integrity Constraint)

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

관계 데이터 모델의 무결성 제약조건

 

개체 무결성 제약조건(Entity Integrity Constraint)

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

기본 키인 고객 아이디의 NULL 값이 들어가 있으므로 개체 무결성 제약 조건을 위반한 릴레이션

 

참조 무결성 제약조건(Referential Integrity Constraint)

  • 외래키는 참조할 수 없는 가질 수 없는 규칙

참조 무결성 제약조건을 위반한 릴레이션

  • 외래키 속성이 널 값을 가진다고 해서 참조 무결성 제약조건을 위반한 것은 아님

외래키가 널 값인 릴레이션

 

728x90
반응형