티스토리 뷰

반응형

 

관계 데이터 모델

개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델을 말한다.

 

🔑 릴레이션

하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것

 

📖 속성

릴레이션의 열 (필드)

📖 투플

릴레이션의 행 (레코드)

 

🔊 도메인

- 하나의 속성이 가질 수 있는 모든 값의 집합

- 특정 속성이 가질 수 있는 모든 원자 값의 모임

🔊 널(null)

- 속성 값을 모르거나, 적합한 값이 없는 경우에 사용한다.

- 숫자 0이나 공백 문자와는 다르다.

🔊 차수

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

🔊 카디널리티

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

 

 

🔑 릴레이션의 구성

  1. 릴레이션 스키마
  2. 릴레이션 인스턴스

📖 릴레이션 스키마

- 데이터베이스의 전체 구조

- 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 논리적 구조

📖 릴레이션 인스턴스

- 투플들의 집합

- 각 속성에 대응하는 실제 값

 

 

일반적으로 데이터베이스는 릴레이션 여러 개로 구성된다. 데이터베이스의 전체 구조를 의미하는 데이터베이스 스키마는 데이터 베이스를 구성하는 릴레이션들의 스키마를 모아놓은 것이다. 데이터베이스 인스턴스는 어느 한 시점에서 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미한다.

 

 

🔑 릴레이션의 특성

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

 

🔑 키

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

 

🎲 키의 종류

  1. 슈퍼키
  2. 후보키
  3. 기본키
  4. 대체키
  5. 외래키

🎲 키의 특성

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

 

1️⃣ 슈퍼키

슈퍼키는 유일성의 특성을 만족하는 속성 또는 속성들의 집합이다.

 

2️⃣ 후보키

후보키는 유일성과 최소성을 만족하는 속성 또는 속성들의 집합이다.

 

3️⃣ 기본키

기본키는 여러 후보키 중에서 기본적으로 사용할 키를 반드시 선택한 키다.

 

    - 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.

    - 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.

    - 단순한 후보키를 기본키로 선택한다.

 

4️⃣ 대체

대체키는 기본키로 선택되지 못한 후보키들이다.

 

5️⃣ 외래키

외래키는 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키다. 다시 말해 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합이 외래키다.

외래키는 릴레이션들 사이의 관계를 올바르게 표현하기 위해 필요하다.

 

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

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

 

외래키는 반드시 다른 릴레이션의 기본키를 참조해야 하며 외래키의 도메인은 참조되는 기본키와 같게 정의되어야 한다. 하나의 릴레이션에는 외래키가 여러 개 존재할 수도 있다. 그리고 외래키를 기본키로 사용할 수도 있고 외래키를 포함하여 기본키를 구성할 수도 있다. 마지막으로 외래키는 기본키를 참조하지만 기본키가 아니기 때문에 널 값을 가질 수 있다.

 

 


관계 데이터 모델의 제약

데이터를 정확하고 유효하게 유지하는 무결성을 보장해야 된다는 규칙이다. 즉 데이터가 정확하고 유효하게 유지된 상태를 말한다.

 

💨무결성 : 데이터를 정확하고 유효하게 유지하는 상태

 

  1. 개체 무결성 제약조건
  2. 참조 무결성 제약조건

1️⃣ 개체 무결성 제약조건

기본키를 구성하는 모든 속성은 널 값을 가지면 안 된다는 규칙을 말한다.

 

기본키를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없어 기본키의 본래 목적을 상실하게 된다. 개체 무결성 제약조건을 만족시키려면 새로운 투플이 삽입되는 연산과 기존 투플의 기본키 속성 값이 변경되는 연산이 발생할 때 기본키에 널 값이 포함되는 상황에서는 연산의 수행을 거부하면 된다.

 

2️⃣ 참조 무결성 제약조건

외래키는 참조할 수 없는 값을 가질 수 없는 규칙을 말한다.

 

외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 본래의 의미가 없어진다. 그러므로 외래키는 자신이 참조하는 릴레이션에 기본키 값으로 존재하는 값, 즉 참조 가능한 값만 가져와야 한다.

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

 

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함