제로하우스

[TIL][DB] 02 관계형 데이터베이스 (RDB) 본문

DB&SQL

[TIL][DB] 02 관계형 데이터베이스 (RDB)

송제로투 2022. 6. 2. 22:44

Overview

구조화된 데이터는 하나의 테이블로 표현할 수 있으며, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스((Relational Database)라고 한다. 관계형 데이터베이스는 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있는 기능을 제공한다.

  • data: 각 항목에 저장되는 값
  • table(relationship): 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다.
  • column(field): 테이블의 한 열을 가리킨다.
  • record(tuple): 테이블의 한 행에 저장된 데이터이다.
  • key: 테이블의 각 레코드를 구분할 수 있는 값이다. 각 레코드마다 고유한 값을 가진다. 기본키(primary key)와 외래키(foreign key) 등이 있다.

 

특징

  1. 정규화를 통해 이상(ANOMLY) 현상을 제거하고 데이터 중복을 피할 수 있다. 
  2. - 삽입 이상(Insertion anomaly) : 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입하는 현상 - 삭제 이상(Deleting anomaly) : 데이터를 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상 - 갱신 이상(Modification anomaly) : 반복되는 데이터 중 일부를 갱신 할 때 데이터 불일치가 발생하는 현상
  3. 동시성 관리, 병행 제어를 통해 데이터를 공유
  4. 데이터 무결성을 보장
  5. 데이터를 복구하는 기능

 

관계 종류

1:1 관계

하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다.

1:N 관계

하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우이다.

N:N 관계

여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우이다. N:N 관계를 위해 스키마를 디자인할 때는 join 테이블을 만들어 관리한다.

Self Referencing 관계

때로는 하나의 테이블 내에서도 관계가 필요할 때가 있다. 예를 들어 추천인이 누구인지 파악하기 위해 사용할 수 있다.

 

Copyright © 2021 Song_Artish

Comments