짹뚜 스튜디오

[Database] 관계형 데이터베이스 (Relational Database) 본문

개발 공부/Database

[Database] 관계형 데이터베이스 (Relational Database)

짹뚜 2022. 2. 10. 20:36

관계형 데이터베이스

구조화된 데이터는 하나의 테이블로 표현할 수 있는데, 각각의 테이블이 서로의 고유값 (Primary Key)를 참조하여 서로 연결되어 있는 구조를 이루고 있는 데이터베이스를 관계형 데이터베이스라고 한다.

용어

  • 데이터 (data): 각 항목에 저장되는 값
  • 테이블 (table 또는 relation): 데이터를 체계화하여 행과 열의 형태로 구성한 것
  • 필드 (column 또는 field): 테이블에서 열
  • 레코드 (record 또는 tuple): 테이블에서 한 행에 저장된 데이터
  • 키 (Key): 테이블의 각 레코드를 구분할 수 있는 고유한 값

관계형 데이터베이스에서 고유값 (Primary Key)가 중요하다. 왜냐하면 다른 테이블을 참조할 때 고유한 값이 있어야 원하는 데이터를 참조할 수 있기 때문에 고유값은 필수로 테이블에 추가해주는 것이 좋다.

관계형 데이터베이스를 사용하는 케이스

  1. 데이터베이스의 ACID 성질을 준수해야하는 경우
  2. 데이터가 구조적이고 일관적인 경우

관계 종류

1:1 관계

하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다. 예를 들어 주민등록번호가 있다. 한 사람은 하나의 주민등록번호를 가지고 하나의 주민등록번호는 한 사람에게만 주어진다. 이러한 관계를 1:1 관계라고 한다.

 

그러나 1:1 관계는 자주 사용하지 않는다. 1:1로 나타낼 수 있는 관계라면 하나의 테이블로 합쳐서 저장하는게 나을 수 있다.

1:N (일대다) 관계

하나의 레코드가 다른 여러 개의 레코드와 연결된 경우이다. 예를 들어 한 사람의 여러 개의 핸드폰 번호를 가질 수는 있지만, 하나의 핸드폰 번호를 여러 명이 공유해서 사용할 수는 없다. 이러한 관계를 1:N 또는 일대다 관계라고 하고 관계형 데이터베이스에서 가장 많이 사용한다.

 

N:N (다대다) 관계

여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우이다. 예를 들면 상품을 여러 명의 사람이 구매할 수 있고, 한 사람이 여러 개의 상품을 구매할 수도 있다. 이러한 N:N 또는 다대다 관계의 스키마를 디자인할 때에는, join 테이블을 만들어서 관리한다. 그리고 join 테이블을 생성할 때에도 고유값 (Primary Key)는 항상 필요하다.

 

Self Referencing (자기참조) 관계

이 경우에는 동일한 테이블 내에서 관계가 있는 경우이다. 예를 들어 한 사람당 추천인 한 사람을 가지는 경우인데, 이러한 경우에는 동일한 테이블을 참조할 수 있다.

 

'개발 공부 > Database' 카테고리의 다른 글

[Database] SQL vs NoSQL  (0) 2022.02.15
[Database] NoSQL  (0) 2022.02.15
[Database] SQL  (0) 2022.02.12
[Database] Transaction  (0) 2022.02.09
[Database] Database 란?  (0) 2022.02.09
Comments