사장님 테이블과 직원 테이블을 나눈 이유

haazz·2025년 1월 23일

개요

매장 관리 종합 서비스를 개발하며 사장님, 매니저, 직원으로 구분되는 유저 권한이 필요했습니다.
이 과정에서 ERD 설계 시 고려했던 사항과 해결 방안을 공유하고자 합니다.

고려사항

  1. 세부 정보의 차이
    직원과 매니저는 세부 정보(user_detail)의 구조가 동일했지만, 사장님의 세부 정보는 구조적으로 달랐습니다.
    따라서 세부 정보를 하나의 테이블에 통합하면 불필요한 컬럼 낭비가 발생할 가능성이 높다고 판단했습니다.
  2. 보안 문제
    직원과 사장님의 정보를 하나의 테이블에 모아두면 보안 위험이 커질 수 있습니다.
    특히, 접근이 비교적 쉬운 직원 정보를 악용해 user_id를 기반으로 보안 문제가 발생할 경우, 사장님의 민감한 정보까지 탈취당할 가능성이 있었습니다.

솔루션

위 문제들을 해결하기 위해 직원(+ 매니저) 테이블사장님 테이블을 분리하여 관리하기로 결정했습니다.

결과

테이블을 분리함으로써 다음과 같은 이점을 얻을 수 있었습니다:

  • 데이터베이스 효율성: 불필요한 컬럼 낭비를 줄이고, 저장 공간을 최적화했습니다.
  • 보안 강화: 권한에 따른 접근 제한을 보다 명확히 하여 보안성을 높였습니다.
profile
Developers who create benefit social values

2개의 댓글

comment-user-thumbnail
2025년 1월 25일

단점도 있나요?

1개의 답글