데브코스/강의 정리

5주차 백엔드 심화 RDBMS, PK, FK, 테이블간 관계

케케_ 2024. 9. 11. 19:24

데이터 베이스란?

: 데이터를 효율적으로 관리하기 위한 집합체 (DB)

 

장점

  • 중복 막기
  • 빠른 연산

 

DBMS

: 데이터 베이스를 운영하고 관리하는 시스템

 

SQL : 데이터베이스에 연산 요청

 

RDBMS 쓰는 이유

Relational DBMS : 데이터 간 "관계"

중복되는 데이터 관리에 탁월!  -> 테이블 분리(정규화)

 

데이터 중복

 

cf. 정규화 = 테이블을 쪼갠다.

 

 

PK(Primary Key)

: 기본키

: 해당 테이블의 각 행(row)을 유니크하게 구별할 수 있는 key 값

 

FK(Foreign Key)

: 외래키

: A테이블에서 B테이블의 데이터를 찾아가고 싶을 때, 사용하는 key 값

  • 최대한 B테이블의 PK 값을 A테이블의 FK로 쓰는 것이 이상적

 

데이터베이스 "테이블 간 어떤 연관 관계를 가지고 있는지" -  1:1, 1:N, M:N     (연습 많이 해야,,)

게시글 vs 사용자 - 1번이 현실적으로 맞지!

1) 사용자 1명 : 게시글 여러 개         1:N

2) 게시글 1개당 : 사용자 1명           1:1

 

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

게시글 테이블 보고 사용자 데이터 확인  :   연관 관계 확인 가능   ->  게시글 테이블 보고 사용자랑 어떤 관계인지

사용자 테이블 보고 게시글 데이터 확인 불가

 

 

(주요) 현업에 계신 분들은 어떻게? "DBA"

 + 구현해보면 SQL이 꼬일 때, 너무 많은 SQL이 필요할 때 --> 설계 고쳐