[DB] 관계형 데이터 모델

2023. 12. 11. 20:07CS/DataBase

 

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

 

릴레이션

  1. 관계형 모델에서 데이터의 관계를 표현하는 개념으로 릴레이션은 두 개 이상의 테이블 간의 관계를 나타낸다.
  2. 릴레이션은 스키마와 인스턴스로 이루어진다.

도서 릴레이션

 

 

릴레이션 스키마

릴레이션에 어떤 정보가 담길지를 정의한다. 도서 릴레이션의 경우 도서번호, 도서이름, 출판사, 가격이라는 정보를 정의하고 있는데, 각 열을 속성이라고 한다. 속성에는 각각의 이름이 있고 우리는 그 이름을 보고 어떤 정보가 담기는지 알 수 있다. 하지만 컴퓨터로 처리되는 과정에 데이터베이스는 속성의 이름만으로 어떤 형태의 자료가 있는지 알 수 없다. 따라서 각 속성들이 어떤 값을 가질 수 있는지를 도메인이라는 용어를 사용하여 정의한다. 또한 릴레이션이 몇 개의 속성을 가지는가를 나타내기 위해 차수라는 용어를 사용한다

  • 속성 : 릴레이션 스키마의 열
  • 도메인 : 속성이 가질 수 있는 값의 집합
  • 차수 : 속성의 개수

 

릴레이션 인스턴스

릴레이션 인스턴스는 릴레이션 스키마에 실제로 저장된 데이터들의 집합을 말한다. 도서 릴레이션을 기준으로 도서번호가 1~5까지 총 다섯 권의 데이터가 저장된 것을 알 수 있다. 릴레이션에서 한 행을 투플이라고 부린다. 투플은 릴레이션 인스턴스의 각각의 행을 나타낸다. 각 투플의 속성 값은 릴레이션 스키마에서 정의한 도메인 값으로 구성되며 투플이 가지는 속성의 개수는 릴레이션 스키마의 차수와 동일하다. 릴레이션 내의 모든 투플은 서로 중복되지 않아야하며 저장된 투플의 수를 카디날리티라고 한다. 카디날리티는 투플의 삽입, 삭제, 수정 등에 따라 수시로 변한다.

  • 투플 : 릴레이션의 행
  • 카디날리티 : 투플의 수

 

릴레이션 구조와 관련 용어 정리

 

 

릴레이션의 특징

 

  1. 속성은 단일 값을 가진다.
    • 속성중 도메인이 취미인 경우 여러가지 취미들 {운동, 등산, 독서, ... } 중 하나의 값만 {운동} 가질 수 있다.
    • 중복이 필요한 경우 투플을 하나 더 만들어 속성의 값이 단일 값이 되도록 나누어야 한다.
  2. 속성은 서로 다른 이름을 가진다.
    • 속성은 한 릴레이션에서 서로 다른 이름을 가져야 한다.
  3. 한 속성의 값은 모두 같은 도메인 값을 가진다.
    • 한 속성에 속한 열은 모두 그 속성에서 정의한 도메인 값만 가질 수 있다.
  4. 속성의 순서는 상관없다.
    • 순서가 바뀌어도 릴레이션 스키마는 같다. 본질적으로 구조의 상태는 동일하기에 상관이 없다.
  5. 릴레이션 내의 중복된 투플은 허용하지 않는다.
    • 릴레이션 인스턴스 내에서는 서로 중복된 값을 가질 수 없다. 즉 모든 튜플은 서로 값이 달라야 한다.
    • 튜플의 순서가 같아도 같은 릴레이션이다. 관계 데이터 모델의 투플은 실제적인 값을 가지고 있으며 이 값은 시간이 지남에 따라 데이터의 삭제, 수정, 삽입에 따라 순서가 바뀔 수 있다.투플의 순서는 상관없다.

 

릴레이션의 특징에 위배된 경우

 

 

'CS > DataBase' 카테고리의 다른 글

[DB] 데이터 모델링  (0) 2023.12.18
[DB] 인덱스  (0) 2023.12.15
[DB] 무결성 제약조건  (0) 2023.12.14
[DB] 데이터베이스 시스템의 구성  (0) 2023.12.11
[DB] 데이터베이스 시스템  (0) 2023.12.11