2012-07-06 2 views
2

신용 평가 기관용 데이터베이스를 설계 중이며 지침을 찾고 있습니다.데이터베이스에 여러 ID 데이터를 구성하는 방법

은행, MFI, Saccos, 유틸리티 회사 등으로부터받은 데이터에는 다양한 유형의 ID가 있습니다. 예 : National ID와 Passport로 은행 계좌를 개설하는 것은 완전히 합법적입니다. 내 머리를 두드리는을 가지고 시나리오 하나는 신용 공여를 취할 것 1 고객 여권와 1 은행에 (지금은 그것에게 대출을 전화) 다음 뱅크 BANK2에 가서 자신의 MilitaryID 자신의 NationalID와 뱅크 BANK3에 또 다른 대출을 가지고 있다는 것입니다 . 결국이 데이터가 은행에서 국에 전달 될 때 우리는 사실 그 사람이 1 인임을 알고있는 동안 3 명의 다른 사람들로 보일 것입니다. 이 시점에서 우리가 국으로 할 수있는 것은 없습니다.

그러나 한 가지 방법은 여권과 IDS를 모두 보유하는 저장소를 제공하는 Govt 레지스트리를 사용하는 것입니다. 일단이 정보를 쿼리하고 응답을 받으면 Passport_X가 NationalID_Y 및 MilitaryNumber_Z와 관련이 있다는 것을 DB에 어떻게 표시합니까?

다시 한 번, 사람의 이름을 다양한 주문 상태로 캡처 할 수 있습니다. Bank1은 FName, LName, OName을 수행 할 수 있지만 Bank3은 LName, FName 만 수행 할 수 있습니다. 이 이름을 어떻게 저장합니까?

하나의 ID 유형 (예 : NationalID에서는 철자가 틀리거나 이름이 누락되는 경우가 많습니다. 그래서 우리 데이터베이스의 한 NationalID는 약 6 개의 다른 이름으로 끝날 수있었습니다. 그 이유는 그가 거래 한 여러 은행들이 다른 사람의 이름을 포착했기 때문입니다.

그리고 그것은 빙산의 일각에 불과합니다. 주소, 전화 번호 등의 문제가 있습니다.

모든 은행의 모든 ​​데이터를 수집하고 개인에 대해 가장 정확한 정보를 제공하기 위해 데이터베이스를 어떻게 구성 할 수 있는지에 대한 통찰력을 주시겠습니까? 더 나은 방법은이 유형의 설정에 대한 경험이 있습니까?

감사합니다.

답변

2

Passport_X가 NationalID_Y 및 MilitaryNumber_Z와 관련이 있다는 것을 DB에 어떻게 표시합니까?

사소한.

ID가 다른 ID와 연결되어 있으면 AlternateId 필드가있는 ID 테이블이 있습니다. 마스터로 만든 첫 번째 ID를 사용하십시오. 어떤 대안도 AlternateId를 가리키고있을 것입니다.

신원 정보를 데이터와 구분해야하므로 원본 및 타임 스탬프가있는 alterante 버전을 사용할 수 있습니다. 데이터의 "공식적인"버전 (예 : 통합)을 사용하여 알고리즘을 사용하여 "마스터 ID"를 생성하는 것을 포함하여 버전 관리를 완전히 지원하고 서로 다른 ID를 서로 연결하는 것이 필요합니다.

세부 사항은 복잡합니다. 대부분 성능을 저하시키지 않으면서도 많은 절충안을 만들었으므로 결국에는 전문가가됩니다. 감각적 인 데이터베이스 설계자 또는 건축가로서 20 년 이상의 경험을 갖고있는 전문가가 사용자가 알지 못하는 것 (애플리케이션 현명)을 감안할 때 최적의 솔루션을 찾는 경험이있는 이유가 있습니다.

이 유형의 설정에 대한 경험이 있습니까?

예. 재정 정보를보십시오. 주식 기호/피드/정의는 필수 사항은 아니며 제공받을 대상에 따라 다릅니다. 단순하지 않은 설정에는 동일한 항목을 약간 다르게 표시 할 수있는 다른 데이터 피드가 있으며 오류가있는 경우도 있습니다. 다른 이름, 때로는 다른 가격 (예 : ES, CME 그룹, 포인트 당 50 달러입니다. 그러나 TT Fix에서는 5를 수정합니다. 가격은 10으로 곱해 지므로 1000.25의 instad로 10002.5를 얻습니다). 이것은 통합의 동일한 노선이고, 그것은 침착합니다.

코드 수십 톤, 적절한 데이터베이스 디자인 톤, 적절한 성능을 얻으려면 6 단계로 다시 실행하십시오. 이것은 슬프게도 까다 롭습니다.

+0

통찰력을 가져 주셔서 감사합니다. 그리고 여러분 모두의 가장 큰 골치 거리는 성능에 영향을 미치지 않으면 서 DB를 디자인하는 것입니다. 우리가 DB에 어려움을 겪고있는 동안 코딩 담당자는 너무 많은 정보를 거부하지 않고 보내지는 데이터를 위생적으로 처리하려고 노력하고 있습니다. 나는 우리가 단지 반 번 열 번 반복하여 살아야만 할 것 같아 ..... ** 은색 총알이 없기 때문에 .PS, alternateID 포인터 주셔서 감사합니다. – lukik

+0

제 세계 (금융)에는 도메인 필드가있는 악기가 있습니다. 도메인은 "데이터 도메인"(은행, 중개인, 누구든지)입니다. 그들은 NULL에 도메인이 있어야하는 MasterInstrumeent에 링크합니다 - 이것은 "엔트리에 대한 공식적인 내부 마스터 레코드"입니다.) 종종 수동으로 생성되는 경우가 종종 있습니다. 우리는 내부적으로 사용되는 모든 정보 (이름 등)를 통합합니다. 그러면 다른 도메인에서 악기가 어떻게 보이는지 항상 볼 수 있습니다. – TomTom

+0

차가움. 아이디어를 가져 주셔서 감사합니다. DB의 속도와 효율에 들어가는 또 하나의 것. 나는 약 6 천만의 국민 신분 증명서와 약 2 천만 권의 여권과 수백만의 군대 신분을 기대한다. 나는 그것들을 하나의 테이블에 가지고 있고 ID 타입 컬럼을 갖거나 그것들을 각각의 테이블로 분리해야합니까? 너는 무엇이 될까? – lukik

관련 문제