저는 최근에 대부분의 테이블이 기본 키를 통해 서로를 참조하지 않고 추가 합성 필드에 의존하는 응용 프로그램을 사용해야했습니다. 예를 들어 Person (id, name, token) 테이블과 Pet (id, name, personToken) 테이블이 있다고합시다. 한 사람은 애완 동물을 많이 가질 수 있습니다. Pet.personToken은 Person.token을 참조하는 외래 키입니다.참조 테이블에 기본 키 대신 추가 합성 필드 사용
이제 스키마를 작성한 경우 Person.id를 사용하여 해당 레코드를 참조하기 만하면됩니다. 응용 프로그램이 다른 서버 간의 데이터 마이그레이션을 쉽게하기 위해 "토큰"열을 사용한다고 들었습니다.
제 궁금한 점은 상당히 일반적인 것이거나 단순히 이상한 디자인입니까?
기본 키의 데이터 유형, 즉'id'는 무엇이며'tokens' 데이터 유형과 어떻게 비교됩니까? 또한,'id '와 그에 상응하는'토큰 '을 생성하는 논리는 무엇입니까? – InSane
ID는 일반적으로 자동 증가 정수입니다. 토큰은 종종 사용자가 어딘가에 수동으로 입력 한 문자열입니다. –