테이블을 생성시 몇 대 몇인지 확인하기

  • 1 : m -> foreign key 가 M 의 테이블에 붙는다.
  • 1 : 1 -> foreign key 가 둘중 어디에든 붙일 수 있다.
  • N : M -> 두개의 테이블간에 연결고리를 해줄 하나의 테이블을 생성한다.

중복을 일으키는 경우

  • 직관적이지 않은 네이밍-> "중복" 의 느낌을 불러온다.
    • 주문내역 -> 주문한 상품
    • 결제내역 -> 결제내역
    • 가격 -> 상품가격
    • 가격 -> 주문한 당시의 상품가격

중복여부의 결정기준

만약 "가격" 이란 항목이 "상품정보" 와 "주문한 상품" 두곳에 있다면 이는 중복일까?

  • 중복이 아니다!!
  • 상품 정보의 가격이 바뀐다고 이미 주문한 상품의 가격이 바뀔 이유가 없기 때문 이다.
  • 중복이라는 오해를 피하기 위해
  • 주문한 상품 - 주문한 당시의 상품가격 으로 네이밍하는 것을 추천

주문한 총가격 확인

이는 주문한 상품의 가격정보와 갯수 정보가 있는 테이블을 불러와서 계산이 가능하므로 따로 목록을 만들어서 저장을 하지 않는다.

즉, 다른 테이블을 이용해서 정보를 생성할 수 있는 경우는 따로 정보를 저장하지 않는다 -> 데이터의 일과성을 유지하기 위함

왜 관리자와 유저를 분리하는가?

이것은 주어진 항목에 따라 다르다.

  • 유저를 등록하기 위한 정보 = 관리자를 등록하기 위한 정보
    • 분리할 필요가 없다.
  • 유저를 등록하기 위한 정보 ≠ 관리자를 등록하기 위한 정보
    • 불필요한 정보[(ex) NULL ]가 추가되어야 하므로 분리해야한다. 

+ Recent posts