본문 바로가기
DataBase

DataBase_Relational Data Model

by skwkiix 2025. 2. 20.
728x90

1. Relational Database 개요

Relational Database(관계형 데이터베이스)는 여러 개의 Relation(테이블)로 구성되며, 데이터를 구조화된 형태로 저장하고 관리하는 데이터 모델이다. 여기서, set(집합)의 개념은 관계형 데이터베이스를 이해하기 위해 꼭 알아야 하는 개념이다.

 

2.1 Set (집합)의 특징

  • 서로 다른 요소(Elements)를 가지는 Collection
  • 순서는 중요하지 않다

2.2 Relation의 개념

  • Set of Tuples (튜플들의 집합)
  • 데이터베이스에서 테이블(Table)로 표현된다

2.3 Cartesian Product (직교곱) 개념

집합 A와 B가 있을 때, Cartesian Product는 두 집합의 모든 가능한 조합을 의미한다.

Set A = {학생1, 학생2}
Set B = {책A, 책B, 책C}

Cartesian Product (A × B) = {
    (학생1, 책A), (학생1, 책B), (학생1, 책C),
    (학생2, 책A), (학생2, 책B), (학생2, 책C)
}

 

set의 개념을 바탕으로,

실제 관계형 데이터베이스에서는 불필요한 조합을 제거하고, 외래키(Foreign Key) 관계를 활용하여 데이터를 구조화한다.

3. Relation 의 특징

아래와 같은 테이블로 이루어진 데이터 베이스가 있다고 가정하고, 각각의 요소와 특징이다.

 

학생(Student) 테이블

학번(Student_ID) 이름(Name) 학년(Grade)
1001 홍길동 2
1002 김철수 3
1003 이영희 1

도서(Book) 테이블

도서코드(Book_ID) 도서명(Title) 저자(Author)
B001 데이터베이스 개론 홍길동
B002 알고리즘 문제 해결 김철수
B003 파이썬 프로그래밍 이영희

 

대출(Loan) 테이블 (학생과 도서의 관계)

학번(Student_ID) 도서코드(Book_ID) 대출일(Loan_Date)
1001 B001 2024-02-01
1002 B002 2024-02-02
1003 B003 2024-02-03

 

 

3.2 Relation의 특징 정리

  1. 중복된 Tuple을 가질 수 없다.
  2. Tuple을 식별하기 위해 Key를 설정한다.
  3. Tuple(행)의 순서는 중요하지 않다.
  4. Attribute(열)의 순서는 중요하지 않다.
  5. Attribute는 Atomic(원자적)이어야 한다. > 더 이상 나눌 수 없는 값을 가져야 한다는 의미

4. Relation Schema와 Relation State

4.1 Relation Schema

  • 테이블의 구조를 정의
  • Relation 이름과 Attribute(속성) 리스트로 구성된다.
  • 예: STUDENT(id, name, grade, major, phone_num, emer_phone_num)

4.2 Relation State

  • 테이블에 저장된 실제 데이터(튜플들의 집합)

5. Key

5.1 키의 종류

  1. Super Key (슈퍼키): 튜플을 유일하게 식별할 수 있는 속성 또는 속성들의 집합
  2. Candidate Key (후보키): Super Key 중에서 최소성을 만족하는 키
  3. Primary Key (기본키): 후보키 중에서 한 개를 선정하여 사용하는 키
  4. Alternate Key (대체키): 후보키 중에서 Primary Key로 선택되지 않은 키
  5. Foreign Key (외래키): 다른 테이블의 Primary Key를 참조하는 속성
  6. Composite Key (복합키)두 개 이상의 속성으로 이루어진 Primary Key

5.2 키 정의

학생(Student) 테이블

Student_ID (PK) Name Grade
1001 홍길동 2
1002 김철수 3

대출(Loan) 테이블

Student_ID (FK) Book_ID (FK) Loan_Date
1001 B001 2024-02-01

 

6. Degree of a Relation

  • Relation Schema에서 Attribute의 개수를 의미
  • STUDENT(id, name, grade, major, phone_num, emer_phone_num)Degree = 6

7. Relational Model 정리

Relational Model의 핵심 규칙

  • 데이터는 테이블 형태(Relation)로 저장됨.
  • 각 행(Row, Tuple)은 고유해야 함.
  • 각 행을 구분하기 위해 Primary Key가 필요.
  • 속성(Attribute)은 Atomic(원자적)이어야 함.
  • NULL 값은 다양한 의미를 가질 수 있음.
  • 데이터 간의 관계(Relationship)는 Foreign Key를 통해 표현.

 

Reference.

- 쉬운코드(https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe)

728x90