나는 사용자의 4 종류가 있고 각각은 특정 데이터를 가지고 있지만, 그들은 또한 COMMUN 데이터를 공유 user_type
칼럼 그런 다음 사용자 데이터를 쿼리 할 때 먼저 user_type
을 선택한 다음 output
에 따라 "사용자 유형"특정 데이터를 가져 오기 위해 다른 쿼리를 실행합니다. 나는 하나의 쿼리로 모든 사용자 관련 데이터를 가져올 수 있고 이상적으로는 외래 키를 사용할 수 있으면 좋겠다.관계형 데이터베이스 설계 여러 사용자 유형
두 번째 생각은 users
테이블의 user_type
열이 대신 특정 사용자 유형 테이블에서 행 주 users
테이블을 가리 것으로 외래 키를 사용하지 않는 것입니다. 나는 N 개의 쿼리를 실행해야 할 것 같지만, 사용자 데이터를 가져올 때마다 N이 사용자 유형의 수인 것이 더 좋을 것이라고 생각합니다.
다른 옵션이 있습니까? 그런 경우에 좋은 연습은 무엇입니까?
많은 감사
내가 당신을 이해한다면
single-table-inheritance
, 당신은 당신의 SQL 문에 가입 절을 사용해야합니다. 'SELECT * FROM users '와 같은 것 U LEFT JOIN user_details D ON U.id = D.user_id WHERE U.id =?' –사용자는 한 번에 둘 이상의 유형을 가질 수 있습니까? –
@Catcall 아니오이 시나리오에서 사용자는 하나의 유형 만 가질 수 있습니다. 두 경우 모두 가능성이 궁금합니다. – silkAdmin