다음은 간단한 예제입니다.데이터베이스 디자인 질문 : 장소 주변의 GUID 처리
UserDetails (UserID INT UserGUID UNIQUEIDENTIFIER Name VARCHAR(50) Age INT)
UserRatings (UserID INT Rating INT Date DATETIME)
UserVotes (UserID INT Votes INT Date DATETIME)
UserGUID는 주 테이블에만 있습니다.
응용 프로그램 계층에서는 GUID 만 구문 분석되며 절대로 INTS가 아닙니다. 이는 경쟁 업체가 내 사이트의 일부 주요 수치 (예 : 사용자 수)를 추측하지 못하도록하기위한 것입니다.
UserRatings 및 UserVotes 테이블과 관련된 SPROCS에서 UserID를 선언하고 모든 절차를 시작할 때 다시 구문 분석되는 UserGUID를 기반으로 설정해야합니다.
이것은 Users 테이블뿐만 아니라 주 테이블과 분기 테이블이있는 모든 다른 개체에 대해 발생하므로 이러한 DECLARE/SET 형식의 프로 시저가 여러 곳에 있습니다.
좋은 디자인입니까?
+1 누군가가 마침내 GUID를 프라이 머리로 사용하는 것을 피하고 따라서 테이블의 키를 클러스터링하는 것을 기쁘게 생각합니다! –