프로그래머스 데브코스TIL

[week4] 백엔드 심화 : 인증과 비동기처리 (1)

이규현2026-01-30
[week4] 백엔드 심화 : 인증과 비동기처리 (1)

데이터베이스 (Database)

데이터베이스란?

  • 데이터를 통합하여 효율적으로 관리하기 위한 데이터 집합체를 데이터베이스 (Database: DB)라고 한다.
  • 데이터를 구조화하여 관리함으로써 데이터 중복을 막고, 효울적이고 빠른 데이터 연산을 가능하게 한다.

DBMS (Database Management System)

  • 데이터베이스 내의 데이터를 효율적으로 저장, 조자그 보호하기 위해 사용자와 데이터베이스 사이를 연결해주는 관리 시스템이다.

SQL (Structured Query Language)

  • SQL은 데이터베이스에 연산을 요청하기 위해 사용되는 언어로 데이터를 생성, 조회, 수정, 삭제 등과 같은 기능을 수행할 수 있다.

  • 대표적인 SQL

    • 데이터 삽입 : Insert
    • 데이터 조회 : Select
    • 데이터 수정 : Update
    • 데이터 삭제 : Delete

RDBMS (Relational DBMS)

  • 데이터를 테이블(Table) 형태의 상호 관계 구조를 관리한다.
  • 데이터의 정확성과 일관성을 유지하는 데 최적화되어 있다.

[게시글]

게시글 번호제목내용작성일자수정일자작성자직업생년월일
1check1test2026-01-212026-01-23kyulee학생010502
2wowwowtest222026-01-222026-01-23tester2건물주800411
3zzztzzz2025-12-3-2026-01-23tester3유튜버000422
4wowohoh2025-01-122026-01-23kyulee학생010502
5woewt3333332026-01-22tester2건물주800411
6w4wt44442026-01-22tester4배우021112

Primary Key (PK) : 기본키

  • 해당 테이블의 각 row(행)을 유니크(=유일)하게 구별할 수 있는 key값이다.
  • 위에 표에서는 게시글 번호가 PK이다.

Foreign Key (FK) : 외래키

  • A 테이블에서 B테이블의 데이터를 찾아가고 싶을 때 사용하는 key값이다.
  • 최대한 B 테이블의 PK 값을 A 테이블의 FK로 쓰는 것이 이상적이다.

위에 표 분리

[테이블 A - 게시글]

게시글 번호 (PK)제목내용작성일자수정일자사용자 번호 (FK)
1check1test2026-01-212026-01-231
2wowwowtest222026-01-222026-01-232
3zzztzzz2025-12-3-2026-01-233
4wowohoh2025-01-122026-01-231
5woewt3333332026-01-222
6w4wt44442026-01-224
<br/>

[테이블 B - 사용자]

사용자 번호 (PK)작성자직업생년월일
1kyulee학생010502
2tester2건물주800411
3tester3유튜버000422
4tester4배우021112

데이터베이스 연관관계

"테이블 간 어떤 관계를 가지고 있는지"

  • 1:1

  • 1:N

  • N:M

  • 예시 게시글 vs 사용자

  1. 사용자 1명 -> 게시글 여러 개 1:N
  2. 게시글 1개:사용자 1명 1:1
  • 게시글 - 테이블 분리
    • 게시글 테이블을 보고 사용자 데이터를 확인 : 연관관계
    • 사용자 테이블을 보고 게시글 데이터를 확인 x

오늘 배운 점

  1. 구조적 설계 데이터를 단순히 쌓아두는 것이 아니라, 중복을 막기 위해 테이블을 분리하고 체계화하는 법을 익혔다.

  2. 핵심 키 활용 PK(기본키)로 데이터를 고유하게 식별하고, FK(외래키)로 테이블 간의 연관관계를 맺는 방법을 학습했다.

  3. 데이터베이스 연관관계 테이블 간에 1:1, 1:N, N:M과 같은 연관관계가 어떻게 형성되는지 이해하고, 이를 바탕으로 게시글과 사용자 테이블을 직접 분리해 보았다.