문제

두 개의 테이블이있는 경우 다음과 같이 로그인과 사용자가있는 경우 :

Logins
 LoginIdNo
 UserIdNo
 HashedPassword 

Users
 UserIdNo
 LoginIdNo
 Username

각 로그인에는 "사용자"가 있고 각 사용자는 "로그인을 가지고 있지만" "에 속합니다"에 속합니다.

단순히 판단 호출입니까 아니면 외국 키가 어디에 있어야하는지 결정하기위한 명확한 공식이 있습니까?

도움이 되었습니까?

해결책

이것은 일대일 관계입니다. 당신이 외국 키를 넣는 곳은 아마도 그 경우 선택성에 의해 결정됩니다.

이것을 두 개체로 나누는 특별한 이유가 있습니까? 나는 일대일 매핑, 특히 JPA와 같은 ORM에서 구현하기가 어색한 팬이 아닙니다 (하나에서 다른 하나에서 다른 키로 기본 키를 사용하는 경우).

시스템에서 로그인과 사용자의 차이점은 무엇입니까?

사용자 로그인 할 때마다 로그인이 발생한 경우 (예 : 사용자 활동의 감사 트레일입니다) 사용자와 로그인과 로그인 사이에 일대일 관계가 있어야합니다.

그러나이 경우 사용자 이름이 한 테이블에 있고 비밀번호가 다른 테이블에 있고 두 가지가 분리 된 이유를 물어야 할 일대일 관계가 있습니다.

다른 팁

로그인은 한 명 이상의 사용자 (및 그 반대로)와 관련이 없기 때문에 관계를 정의하는 방법 (따라서 외국 키를 배치하는 위치)에 대한 임의의 결정입니다. 다른 속성 (Firleds)을 추가하거나 역할을 사용하지 않는 한 : 단순히 그렇게 정의하는 것이 더 간단 할 수 있습니다.

Users 
    UserIdNo 
    Username
    HashedPassword
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top