2016-08-04 7 views
1

나는 두 테이블, login_inf (로그인 정보) 및 history이 (데이터베이스의 변경 내역을 사용자가 행을 지정 편집 한 예를 들어) - 아래 그림 :SQL 스키마, 두 테이블 간의 세 가지 관계 만 가능합니까?

enter image description here

은 내가 한 어떤 사용자 알고 싶어 사용자가 행 (created_by)을 추가했는지, 사용자가 행 (modified_by)을 편집했는지 그리고 어떤 사용자가 행을 삭제했는지 (removed_by) 등의 지정된 작업. 내 스키마가 맞습니까?

관계 : 테이블 역사에

history.created_by <-> login_inf.login 

history.modified_by <-> login_inf.login 

history.removed_by <-> login_inf.login 

그래서이 세 가지 열이 난 그냥 이름을 변경, login_inf에서 하나 개의 컬럼입니다.

+2

귀하의 스키마는 정상입니다. –

+0

나는 전에 여러 번 10 ~ 12 개의 여러 참조를 보았습니다 ... 여기 괜찮습니다. – Twelfth

+0

응답 해 주셔서 감사합니다 :) – mirka

답변

0

귀하의 스키마는 괜찮습니다. 트리거 또는 코드를 통해 history 테이블에 삽입을 시행해야 할 필요가 있으며 변경 사항이 많은 경우 데이터베이스가 많이 사용될 수 있습니다. history 테이블도 매우 커질 수 있습니다.

+0

응답 해 주셔서 감사합니다. 내 테이블'history'에 행을 생성하기위한 트리거가 있는데, 데이터베이스가 느려지는 것을 압니다. 나는이 테이블의 데이터가 더 이상 유용하지 않기 때문에이 테이블이 몇 달 후에 정리 될 것이라고 생각합니다. – mirka

+0

여러분을 환영합니다. 우리가 도울 수있어서 기뻐. –