[Database] 유저별로 메뉴 다르게 보이기
개요
유저 별로 사이트의 메뉴가 다르게 나오기 위해 데이터베이스를 구축한다. 해당 프로그램에선 2 depth의 메뉴 리스트를 만들 예정이다.
구현
테이블은 2개가 필요하다.
1. 메뉴 테이블
2. 유저 별 사용 가능한 메뉴 표시 테이블
1. 메뉴 테이블
칼럼 정보
IDX | NAME | NAME_KR | PATH | PARENT_IDX |
pk | 영어이름(키로 사용) | 한글이름(UI로 사용) | 프론트 경로 | 상단 태그 |
IDX : PK
NAME : 메뉴 탭의 영어 이름으로써 프런트에서 키로 연결하기 위해 필요하다.
NAME_KR : 메뉴 탭의 한글 이름으로써 프론트에서 UI로 나타내기 위해 필요하다.
PATH : 프론트에서 사용하는 실제 경로이다.
PARENT_IDX : 상위 메뉴의 IDX를 나타낸다. SELF JOIN을 통하여 메뉴를 연결할 예정이다
2. 유저 별 사용 가능한 메뉴 표시 테이블
칼럼 정보
USER_IDX | MENU_IDX | AUTH |
유저 IDX(외래키) | 메뉴 IDX(외래키) | 사용 가능 여부 1 / 0 |
USER_IDX : 유저 테이블의 IDX를 외래 키로 가진 것 - 유저 별 메뉴 사용 여부 표시 위함
MENU_IDX : 메뉴 테이블의 IDX를 외래키로 가진 것
AUTH : 해당 유저가 해당 메뉴를 사용할 수 있는지 1과 0으로 나타낸 것 (1: 사용 / 0: 사용불가)
반응형
사용
메뉴 테이블을 SELF JOIN 한 후 유저 별 사용 가능 테이블을 INNER JOIN 하여
유저 별로 AUTH가 1인 메뉴 및 서브메뉴를 mybatis를 통해 불러올 예정이다.
mybatis 관련 참고
2021.06.29 - [Spring] - [Spring] 유저별로 메뉴 다르게 보이기
'Database' 카테고리의 다른 글
[Database] Mybatis 다량 Row 한번에 Insert 하는 법 (0) | 2022.12.08 |
---|---|
[Database] workbench에서 csv 데이터 import 하기 (0) | 2021.06.21 |
[Database] Auto Increment가 적용되지 않을 때 SET FOREIGN_KEY_CHECKS = 0; (0) | 2021.04.08 |
댓글