프로그래머스 데브코스TIL
[week4] 백엔드 심화 : 인증과 비동기처리 (1)
이규현2026-01-30
![[week4] 백엔드 심화 : 인증과 비동기처리 (1)](/images/useBlog/TIL.png)
데이터베이스 (Database)
데이터베이스란?
- 데이터를 통합하여 효율적으로 관리하기 위한 데이터 집합체를 데이터베이스 (Database: DB)라고 한다.
- 데이터를 구조화하여 관리함으로써 데이터 중복을 막고, 효울적이고 빠른 데이터 연산을 가능하게 한다.
DBMS (Database Management System)
- 데이터베이스 내의 데이터를 효율적으로 저장, 조자그 보호하기 위해 사용자와 데이터베이스 사이를 연결해주는 관리 시스템이다.
SQL (Structured Query Language)
-
SQL은 데이터베이스에 연산을 요청하기 위해 사용되는 언어로 데이터를 생성, 조회, 수정, 삭제 등과 같은 기능을 수행할 수 있다.
-
대표적인 SQL
- 데이터 삽입 : Insert
- 데이터 조회 : Select
- 데이터 수정 : Update
- 데이터 삭제 : Delete
RDBMS (Relational DBMS)
- 데이터를 테이블(Table) 형태의 상호 관계 구조를 관리한다.
- 데이터의 정확성과 일관성을 유지하는 데 최적화되어 있다.
[게시글]
| 게시글 번호 | 제목 | 내용 | 작성일자 | 수정일자 | 작성자 | 직업 | 생년월일 |
|---|---|---|---|---|---|---|---|
| 1 | check1 | test | 2026-01-21 | 2026-01-23 | kyulee | 학생 | 010502 |
| 2 | wowwow | test22 | 2026-01-22 | 2026-01-23 | tester2 | 건물주 | 800411 |
| 3 | zzz | tzzz | 2025-12-3- | 2026-01-23 | tester3 | 유튜버 | 000422 |
| 4 | wow | ohoh | 2025-01-12 | 2026-01-23 | kyulee | 학생 | 010502 |
| 5 | woew | t333333 | 2026-01-22 | tester2 | 건물주 | 800411 | |
| 6 | w4w | t4444 | 2026-01-22 | tester4 | 배우 | 021112 |
Primary Key (PK) : 기본키
- 해당 테이블의 각 row(행)을 유니크(=유일)하게 구별할 수 있는 key값이다.
- 위에 표에서는 게시글 번호가 PK이다.
Foreign Key (FK) : 외래키
- A 테이블에서 B테이블의 데이터를 찾아가고 싶을 때 사용하는 key값이다.
- 최대한 B 테이블의 PK 값을 A 테이블의 FK로 쓰는 것이 이상적이다.
위에 표 분리
[테이블 A - 게시글]
| 게시글 번호 (PK) | 제목 | 내용 | 작성일자 | 수정일자 | 사용자 번호 (FK) |
|---|---|---|---|---|---|
| 1 | check1 | test | 2026-01-21 | 2026-01-23 | 1 |
| 2 | wowwow | test22 | 2026-01-22 | 2026-01-23 | 2 |
| 3 | zzz | tzzz | 2025-12-3- | 2026-01-23 | 3 |
| 4 | wow | ohoh | 2025-01-12 | 2026-01-23 | 1 |
| 5 | woew | t333333 | 2026-01-22 | 2 | |
| 6 | w4w | t4444 | 2026-01-22 | 4 |
[테이블 B - 사용자]
| 사용자 번호 (PK) | 작성자 | 직업 | 생년월일 |
|---|---|---|---|
| 1 | kyulee | 학생 | 010502 |
| 2 | tester2 | 건물주 | 800411 |
| 3 | tester3 | 유튜버 | 000422 |
| 4 | tester4 | 배우 | 021112 |
데이터베이스 연관관계
"테이블 간 어떤 관계를 가지고 있는지"
-
1:1
-
1:N
-
N:M
-
예시 게시글 vs 사용자
- 사용자 1명 -> 게시글 여러 개 1:N
- 게시글 1개:사용자 1명 1:1
- 게시글 - 테이블 분리
- 게시글 테이블을 보고 사용자 데이터를 확인 : 연관관계
- 사용자 테이블을 보고 게시글 데이터를 확인 x
오늘 배운 점
-
구조적 설계 데이터를 단순히 쌓아두는 것이 아니라, 중복을 막기 위해 테이블을 분리하고 체계화하는 법을 익혔다.
-
핵심 키 활용 PK(기본키)로 데이터를 고유하게 식별하고, FK(외래키)로 테이블 간의 연관관계를 맺는 방법을 학습했다.
-
데이터베이스 연관관계 테이블 간에 1:1, 1:N, N:M과 같은 연관관계가 어떻게 형성되는지 이해하고, 이를 바탕으로 게시글과 사용자 테이블을 직접 분리해 보았다.