그누보드 ERD를 살펴보다가 DB구조 관련하여 질문드립니다.
본문
그누보드 DB구조를 파악하기 위해 자료를 찾아보던 중에 ERD를 그려서 공유해주신 분이 계셔서 감사한 마음으로 보았습니다.
그런데 관계를 나타낼 때 게시판 테이블(g5_board)와 부가적인 테이블들(예를 들면 g5_board_file 같은)에 대한 관계는 표시해 주셨는데 회원정보 테이블(g5_member)과 회원정보 테이블의 유니크키인 mb_id를 가지고 있는 다른 테이블들과의 관계는 별도의 표시가 없더라구요.
게시판 글 정보 테이블(g5_write_notice 같은)의 PK인 wr_id는 테이블마다 각각 같은 이름의 컬럼으로 wr_id를 PK로 가지고 있기 때문에 관계를 나타내기(?) 어렵다는 생각이 드는데요.
[g5_member]의 "mb_id"를 [g5_auth]의 PK로 가지고 있는데 비식별관계로 외래키라고 말할 수 없는건가요?
답변 1
우선은 회원정보테이블과 다른 기타 테이블에 mb_id가 있더라도 관계가 없을수도 있습니다.
위의 ERD에서 표기하는 것은 그누보드의 전체적인 구조를 의미합니다.
예를들면 g5_board 테이블과 g5_board_file 테이블은
필수적으로 이어져서 사용되야만하는 테이블입니다.
하지만 게시판(g5_write_notice)의 경우는 테이블내에 mb_id라는 필드가 있지만
이 mb_id라는 필드는 직접적으로 회원정보테이블(g5_member)과
직접적인 관계는 없다고도 표현할 수 있습니다.
너무 깊게 이해하기에는 어려울수 있고 테이블별 mb_id는 무조건 회원의 아이디가 들어가는 필드다
라는 정도만 아셔도 무관할 것 같습니다.