CS/데이터베이스

[데이터베이스] ch05. 관계 데이터 모델

rngPwns 2025. 3. 26. 13:25

 

 

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

기본개념

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

 

 

키의 종류

  • 슈퍼키(super key) : 유일성을 만족하는 속성 or 속성들의 집합
    • ex) : 고객 릴레이션의 슈퍼키 : 고객아이디, (고객아이디, 고객이름), (고객이름, 주소) 등
  • 후보키(candidate key) : 유일성과 최소성을 만족하는 속성 or 속성들의 집합
    • ex) 고객 릴레이션의 후보키 : 고객아이디, (고객이름, 주소) 등
  • 기본키(primary key) : 후보키 중 기본적으로 사용하기 위해 선택한 키
    • ex) 고객 릴레이션의 기본키 : 고객아이디
    • 기본키 선정에서 제외
      • NULL값을 가질 수 있는 속성이 포함된 후보키
      • 값이 자주 변경될 수 있는 후보키
      • 후보키 하나면 그냥 얘가 기본키 됨.
    • 단순한 후보키를 기본키로 선정한다.
  • 대체키(alternate key) : 기본키로 선택되지 못한 후보키
    • ex) 고객 릴레이션의 대체키 : (고객이름, 주소)

  • 외래키(foreign key)
    • 다른 릴레이션의 기본키(혹 대체키 참조)를 참조하는 속성 or 속성의 집합
    • 관계데이터모델에서 객체와 객체의 관계 표현. 중요!!
    • 릴레이션 사이의 관계 표현
      • 참조하는 릴레이션 : 외래키를 가진 릴레이션
      • 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션

주문고객 = 외래키

 

상담일자 포함 안 되면 상담을 평생 한 번밖에 못 하게 되는 것...

 

 

(총정리) 키의 특성과 종류

  • 특성 :
    • 유일성 : 한 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 한다.
    • 최소성 : 꼭 필요한 최소한의 속성들로만 키를 구성
  • 종류 :
    • 슈퍼키 : 유일성 만족
    • 후보키 : 유일성과 최소성 만족
    • 기본키 : 후보키 중 기본적으로 사용하기 위해 선택
      • 절대 null 허용 x
    • 대체키 : 기본키로 선택되지 못한 후보키
      • 대체무결성과 관련 
      • 전체 record 중 딱 1개만 null 허용 o
    • 외래키: 다른 릴레이션의 기본키를 참조

 

 

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

  • 무결성 제약조건(integrity constraint)
    • 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
    • 무결성 : 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지된 상태
    • 삽입 삭제 수정이 빈번하게 발생하는데, 이런 제약조건은 항상 무결성이 유지 되어짐을 보장

  • 개체 무결성 제약조건(entity integrity constraint)
    • 기본키를 구성하는 모든 속성은 널값을 가질 수 없는 규칙
      • 널값 가지면 error 메시지

 

 

 

  • 참조 무결성 제약조건(referential integrity constraint)
    • 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
      • 고객 릴레이션과 주문릴레이션 사이 아무런 연관이 없는 값 : cherry. 
        • cherry 자리에 null이 들어올 수는 있음. 하지만 참조 릴레이션 해당 기본키 속성에 없으면 참조 무결성 위배
      • 고객릴레이션에 새로운 고객 -> 괜찮음
    • 삽입연산 : 참조 릴레이션의 삽입은 경우에 따라 거부당할 수 있다.
    • 삭제연산 : 주문릴레이션에서는 삭제하는 데 있어 문제 x. 삽입이 문제 없다는 가정하에. 그러나 고객릴레이션에서 고객의 아이디가 삭제되면 주문릴레이션이 cherry와 같은 상태가 된다..