"레코드 식별"중 전국 ID 하나를 사용하는 시스템을 개발하고있어 쿼리를 쉽게 작성하기 위해 모든 테이블에 nat_id를 포함시키는 것이 좋습니까? 그렇게하는 것의 단점은 무엇입니까? 나는 중요한 무엇인가 놓칠지도 모르기 때문에 단지 여기에서 사람에게서 의견을 얻고 싶다.기본 키로 내셔널 ID 사용
답변
@Oded가 제안한 것처럼 법률 및 개인 정보 보호에 대한 영향이있을 수 있습니다 (귀하의 국가에 따라 크게 달라질 수 있음).
개인 정보 문제의 한 예로, 일부 국가에서는 생년월일 - 일부 국가에서 성별 -은 주민등록번호의 일부입니다. 이를 스키마의 모든 테이블에 복제하는 것은 좋은 생각이 아닙니다.이 정보에 대한 액세스를 제한하기 어렵 기 때문입니다.
- 아니 모든 나라가 국가 ID 시스템을 가지고 있으며, 어떻게 그 사람들은, 다른 형식을 사용 : 그 꼭대기에 는 여러 순전히 기술적 인 문제가있다. 새 형식을 수용해야 할 때 스키마의 모든 테이블을 변경해야합니까?
- 사람들이 국가 신분증 (방문자, 망명자, 무국적자)을 갖고 있지 않은 상황을 상상할 수 있습니다. 어떻게 데이터베이스에 입력합니까?
- 일부 국가의 경우 국가 ID와 가장 가까운 것은 ID 카드의 번호이며 ID 카드를 다시 발급하면 번호가 변경됩니다. 즉, 같은 사람이 자신의 삶의 다른 시점에서 다른 ID 번호를 가질 수 있습니다.
저는 대리자 기본 키를 사용하고 국가 ID를 속성으로 저장합니다.
어떻게 대리인이 사람들을 식별 할 수 있습니까? 국가 번호와 같은 자연스러운 열쇠를 대체 할 수는 없습니다. – sqlvogel
@aix 신청은 엄격하게 시민을위한 것입니다. 가능성은 없지만 형식의 변화는 우리가 토론에 가져올 것입니다. 나는 대리자 키의 사용을 향해 기울고 있지만, 나는 국가 ID를 사용하는 직선 쿼리에 대한 아이디어를 좋아한다. –
@dportas 자연스러운 키를 사용하지 않는다는 것을 인정해야합니다. 이것은 그것의 경우 일 수 있습니다. 하지만 먼저 확신해야했습니다. –
국가 ID가 좋은 키를 만들지 여부는 주로 요구 사항에 따라 다릅니다. 비즈니스 프로세스의 일부로 국가 ID를 기록해야하며 사용자/직원/누구든 그렇게 고유하게 식별되는 사람입니까? 법적으로 사람들에게 정보를 요청할 자격이 있습니까? 그들은 당신에게 그들의 신분증을 공개해야합니까? 이 모든 경우 예라면 데이터베이스에서 키를 만드는 것이 바람직합니다.
지원해야하는 국가 표준에 대한 표준을 이해했는지 확인하십시오. 예 : 길이, 데이터 유형, 모든 체크 디지트 및 예상 규칙과 일치하지 않는 레거시 코드 또는 기타 특수 목적 코드가 사용 중인지 여부를 나타냅니다.
프라이버시 문제가 있고 데이터베이스에서 실제 ID를 검색 할 필요가없는 경우 대신 국가 ID의 보안 해시를 저장할 수 있습니다.
이것은 전자 정부 응용 프로그램이며 해당 국가에서 많은 유사한 대규모 온라인 응용 프로그램이 있었기 때문에 요구 사항의 일부입니다. 나는 안전한 해시 아이디어 감사를 좋아한다. –
법적 문제는 물론 개인 정보 보호 문제가 있습니다. – Oded
미국에서 중복 된 SSN의 경우가 있다는 것을 알고 계셨습니까? 다른 것은 제외하고, 그것은 아주 독특한 마법의 숫자가 아닙니다. ... –
@Oded 이것은 동남아시아 국가에서 사용되는 전자 정부 응용 프로그램으로 국가 ID 사용이 널리 보급됩니다. –