디비 모델링 질문이요 간단합니다
estimate 라는 테이블에 글이 insert되면
alarm 이라는 테이블에
estimate 테이블의 사용자이름과 사용자 회사를
트리거로 insert 하고싶습니다
그렇게 만들고싶어서 이렇게 만들었는데
말이 되는 그림인가요?
alarm 테이블의 Name 에는 Estimate의 customerName 이 들어가게
이런식으로요
이 두개의 테이블을 딱히 연결할 필요가 없다고 생각되는데
연결을 안하려니까 뭔가 잘못된것같고 그래요..
55글자 더 채워주세요.
2개의 답변이 있어요!
안녕하세요.
두 테이블을 활용하여 조인하거나
서로 연관되는 정보들을 가지고 있지 않다면 독립적인 테이블로 연결을 안하셔도 됩니다.
하지만 Alaram 테이블은 Estimate 테이블의 기본키인 id 값을 참조하고 있으므로
참조 연결 즉 외래키 설정을 통해 두 테이블을 연결하는걸 추천드립니다.
안녕하세요.
테이블 간 관계를 맺을 때 보통은 key만 가지고 있습니다.
Estimate 테이블의 데이터가 추가될 때 estimateID라는 컬럼 값만 Alarm에 estimateID라는 동일한 값만 가지고 있으면 알람을 보낼 때 join으로 Estimate 테이블의 데이터를 조회해서 보낼 수 있습니다.
다만 insert 시점의 Estimate의 사용자 이름/회사를 Alarm에 저장하고 이후 update 시에는 Alarm 데이터를 수정하거나 추가하지 않는다면 관계를 그리지 않거나 그리더라도 Estimate의 컬럼 이름을 그대로 이용하는게 좋을 듯 합니다.