본문 바로가기
DataBase/SQL

[SQL] 관계 데이터 모델

by holy_jjjae 2023. 11. 12.

00. 기본용어

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

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

 

기본용어

  • 릴레이션(relation) : 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것
  • 파일 관리 시스템 관점에서 파일에 대응
  • 속성(attribute) : 릴레이션의 열
  • 파일 관리 시스템 관점에서 필드에 대응
  • 튜플 (tuple) : 릴레이션의 행 
  • 파일 관리 시스템 관점에서 레코드에 대응
  • 도메인(domain) : 하나의 속성이 가질 수 있는 모든 값의 집합
  • 속성 값을 입력 및 수정할 때 적합성 판단의 기준이 됨
  • 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의
  • 널(null) : 속성 값을 아직 모르거나 해당되는 값이 없음을 표현
  • 차수(degree) : 하나의 릴레이션에서 속성의 전체 개수
  • 카디널리티(cardinality) : 하나의 릴레이션에서 튜플의 전체 개수


 

00. 기본용어

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

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

 

관계 데이터 모델이란?

개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델

  • 하나의 개체에 관한 데이터를 하나의 릴레이션에 저장

 

릴레이션의 구성

 

1. 릴레이션 스키마 (relation schema)

  • 릴레이션의 논리적 구조
  • 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의
  • ex) 고객(고객아이디, 고객이름, 나이, 등급, 직업, 적립금)
  • 릴레이션의 내포(relation intension)라고도 함
  • 자주 변하지 않는 정적인 특징

2. 릴레이션의 인스턴스(relation instance)

  • 어느 한 시점에 릴레이션에 존재하는 투플들의 집합
  • 릴레이션 외연(relation extension)이라고도 함
  • 투플의 삽입, 삭제, 수정이 자주 발생하는 동적인 특징

 

 

DB의 구성

1. DB  스키마

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

2. DB 인스턴스

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

 

릴레이션의 특성

  1. 튜플의 유일성 : 하나의 릴레이션에는 동일한 투플이 존재할 수 없다. ☞ 튜플을 유일하게 구별하기 위해 선정하는 속성의 값으로 판단
  2. 튜플의 무순서 : 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.
  3. 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.
  4. 속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다. ex) 어떤 한 사람의 등급이 2개일 수 없음

 

→ 다중 값을 가지는 직업 속성을 포함하고 있어 관계 데이터 모델의 릴레이션으 적합하지 않음

 

키(key)

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

 

키의 특성

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

 

키의 종류

  • 슈퍼키(super key) : 유일성을 만족하는 속성 또는 속성들의 집합

        ex) 고객 릴레이션의 슈퍼키 : 고객아이디, (고객아이디, 고객이름), (고객이름, 주소) 등

 

  • 후보키(candidate key) : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합

       ex) 고객 릴레이션의 후보키 : 고객아이디, (고객이름, 주소) 등

 

  • 기본키(primary key) : 후보키 중에서 기본적으로 사용하기 위해 선택한 키

       ex) 고객 릴레이션의 기본키 : 고객아이디

 

  • 대체키(alternate key) : 기본키로 선택되지 못한 후보키

       ex) 고객 릴레이션의 대체키 : (고객이름, 주소)

 

  • 외래키(foreign key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

       - 릴레이션들 사이의 관계를 표현

       - 참조하는 릴레이션 : 외래키를 가진 릴레이션

       - 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션

 

     

      - 외래키와 외래키가 참조하는 기본키의 속성의 이름은 달라도 되지만 도메인은 같아야한다.

     

      - 하나의 릴레이션에는 외래키가 여러 개 존재할 수도 있고, 외래키를 기본키로 사용할 수도 있다.

 

       - 같은 릴레이션의 기본키를 참조하는 외래키도 정의할 수 있다. 그리고 외래키 속성은 널 값을 가질 수도 있다.

 

정리

특성 - 유일성(uniqueness) : 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함

- 최소성(minimality) : 꼭 필요한 최소한의 속성들로만 키를 구성함
종류 - 슈퍼키(super key) : 유일성을 만족하는 속성 또는 속성들의 집합

- 후보키(candidate key) : 유일성과 최소성을 만족하느 속성 또는 속성들의 집합

- 기본키(primary key) : 후보키 중에서 기본적으로 사용하기 위해 선택한 키

- 대체키(alternate key) : 기본키로 선택되지 못한 후보키

- 외래키(foreign key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

 


 

00. 기본용어

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

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

 

무결성 제약조건(integrity constraint)

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

 

개체  무결성 제약조건(entity integrity constraint)

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

 

참조 무결성 제약조건(regrential integrity constraint)

  외래키는 참조할 수 없는 값을 가질 수 없다.

 

 

참고, 외래키를 구성하는 모든 속성은 널 값도 가질 수 있음.