안녕하세요! 메로나입니다.
오늘은 데이터베이스 설계를 하기 위해 꼭 알아야 하는 6가지를 공부해 보려고 합니다.
데이터베이스 설계를 왜 하는가?
데이터베이스 설계는 데이터를 중복하지 않고 저장하기 위해 필요한 작업이며, 효율적으로 데이터를 관리하기 위함입니다.
첫 번째로 체크할 것
- 한칸에는 한 가지 정보만 담아라, 제1 정규형
- 콤마로 데이터를 구분하지 마라
- FK(외래키)를 잘 사용해라
두 번째로 체크할 것
- 어떤 테이블에 FK를 넣어도 "규칙1"을 못 지킬 때에는 중간 테이블을 생성하라
- 중간 테이블에 FK를 각각 테이블에서 가져온다.
세 번째로 체크할 것
- 헷갈릴 땐 관계(1:1, 1:N, N:M)을 파악하라
- 예시) 가게와 가게상품
- 하나의 가게는 ___판매 상품을 판다.
- 하나의 가게는 여러 개의 판매 상품을 판다.
- 하나의 판매 상품은 ___가게에서 판다.
- 하나의 판매 상품은 하나의 가게에서 판다(특정 상품)
- 가게 : 상품 = 1:N
- 하나의 가게는 ___판매 상품을 판다.
- 1:N 관계일 때
- N쪽에 무조건 FK가 들어간다.
- N:M 관계일 때
- 중간 테이블이 있어야 한다.
- FK가 중간 테이블에 들어간다.
- 1:1 관계일 때
- FK를 아무 테이블에 넣어도 된다.
- 1:1 관계는 분리하지 않는 게 좋다.
네 번째로 체크할 것
- 데이터 중복이 발생하는 칼럼이 있는지 확인해라
- 임의로 데이터를 넣어봐야 함.
다섯 번째로 체크할 것
- 진짜 중복인지? 가짜 중복인지? 확인해라
- 실제 서비스에서 A 데이터 값을 수정하면, B 데이터도 수정해야 하는가?
- 진짜 중복일 때는 테이블을 분리시켜서 데이터를 넣어줘야 함.
여섯 번째로 체크할 것
- 숨어있는 중복을 찾아라
- 게시판에 좋아요 값을 쿼리로 따로 가져온다.
가장 중요한 것은 중복값을 없애는 것입니다.