RBDMS와 ERD 1:N 연관관계

Younha Lee·2026년 1월 30일

TIL

목록 보기
22/68
post-thumbnail

DBMS를 쓰는 이유

데이터들을 관리하기 용이하도록 DBMS를 사용해요.
DBMS란 DataBase Management System의 약자로 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다.

RDBMS를 쓰는 이유

장점으로는 다음과 같아요.

  • 제약 조건과 규칙(PK, Null 구분, FK 등)을 사용해 데이터 일관성 및 무결성 강화
  • SQL 사용으로 데이터 검색 및 조작의 단순성
  • 쉬운 수직, 수평 확장과 다양한 최적화 기술(인덱싱, 캐싱 등)을 이용한 확장성 및 성능
  • 외부에 영향을 주지 않는 스키마의 변경과 다양한 데이터 유형으로 인한 유연성과 적응성
  • 내장 기능과 도구로 지원되는 보안 및 규정 준수
  • 다양한 RDBMS로 인한 강력한 생태계와 쉽게 통합할 수 있는 호환성

PK, 데이터 중복, 정규화

PK는 행(레코드, 튜플)을 구분하기 위한 열(속성)로 Unique한 값을 사용해요. 예를 들어 보통 Id 컬럼을 따로 만들어요.

테이블 분리의 장단점

FK란?

A 테이블에서 B 테이블의 데이터를 찾아가고 싶을 때, 찾아가는 Key 값
보통 타 테이블의 PK를 FK로 지정한다. 왜? Unique한 값이어야 찾을 수 있기 때문

장점

데이터 중복이 최소화됐다. (FK 하나만 생겼으니)
데이터 업데이트 시 여러 개의 데이터를 다같이 바꿔야 한다.

단점

원하는 정보를 찾기 위해 다른 테이블을 찾아가야 한다.

연관관계

DB 설계에서 가장 중요한 연관관계는 1:1, 1:N, N:M 세 가지로 나뉜다.
게시글 vs 사용자로 판단해보자
1) 한 명의 사용자는 여러 개의 게시글을 작성할 수 있다.
2) 그러나 한 개의 게시물은 여러 명의 사용자를 작성자로 둘 수 없다.

게시글 - 사용자 테이블 분리

  • 게시글 테이블을 보고 사용자 데이터를 확인할 수 있다. (userId가 FK)
  • 사용자 테이블을 보고는 게시글 데이터 확인 불가 (게시글Id는 여러 개 있을테니까)

ERD 실습


관계 (Relationship): 유저와 채널이1:N 이 되도록 했어요.

외래키 (FK): 채널 테이블의 user_id가 사용자 테이블의 user_id(PK)를 참조하도록 했어요.

DB GUI툴 설치

직접 DB 테이블을 볼 수 있도록 Datagrip을 설치했어요.

profile
할 땐 하고 놀 땐 노는 일일놀놀입니다.

0개의 댓글