백엔드 15일차

이동현·2023년 4월 2일
0

코드캠프 백엔드

목록 보기
14/29

1. DB 테이블 설계하기

1.데이터베이스 테이블! 제대로 만들어 볼래?!
2. 스타벅스 데이터베이스! 나도 한 번 만들어 보자!
3. 백엔드 개발자라면 ERD(관계도 그림)는 그릴 줄 알아야지!

1) 정규화

데이트 퀄리티를 보장하기 위해 정규화를 한다.
중복된 데이터를 분리하는 것

2) 정규형(Normal Form)종류

(1) 1NF

  • 중복된 내용을 없애자
    주문상품을 보면 하나의 컬럼에 두개씩 들어 가 있는 것을 볼 수 있다.
    이것을 다가속성이라고 한다.
    분리한다면 원상복구가 가능하게 끔 바꾸는 게 필수이다.
    주문번호는 중복되지 않는다(주키 pk). 중복되지 않는 것이 없으면 키를 두개 합쳐서 복합키로 사용할수 있다.

(2) 2NF

  • 중복되고 있는 것을 찾아 그 주키값을 바탕으로 한번에 바꾸는 것
  • 복합키와 관련있는 것을 떨어뜨리면 2NF
    4

(3) 3NF

  • 또 중복되는 값을 찾아 분리시켜준다.
  • 복합키와 관련없는 것을 떨어뜨리면 2NF
  • 분리 할때는 복구할 것을 생각해서 ID로 만들어주는게 좋다

2) 조회를 할 때는 어떻게 할 것인가?

  • 정규형 전 - 찾을 때는 좋다.
  • 정규화 후 - 저장할 때 좋다. 조회할때는 느릴 수도 있다.

3) 테이블끼리의 관계

다대일 관계 => 서로 중복되는 관계
일대일 관계 => 하나씩 하나씩 배치되는 관계
다대다 관계 => 일대다대 다대일 관계로 풀어줘야 한다.

2. ERD

erd-cloud 로 만들어보자!!!

연결을 위해 만들어진 COLUMN은 FK(외래키)라고 불리고 나중에 연동하면 자동으로 만들어짐

CHAR(N) = N개 만큼 칸을 만들어둔것(찾기나 검색이 빠르다)
VARCHAR(N) = N개 만큼 칸을 만들고 안에 들어온 수 만큼 변한다. (저장이 용이하다)
DECIMAL(4, 1) = 4칸 숫자로 하고 하나는 소수점으로 할래
TINYINT(1) = 0, 1로 BOOLEAN을 나타내기 때문에
FK가 2개 합쳐져서 복합키로 PK가 된다.

0개의 댓글