문제

나는 디자인을 접촉 관리 시스템 재미있 문제를 모델링에 관한 지리적 위치를 일관성 있는 방법입니다.하고 싶을 기록할 수 있는 위치와 관련된 특정 사용자(우편 주소(es)for work,학교,가정,등.) 내 생각은 테이블을 만들의 입과 같은 다음과 같다:

입(ID,LocationName,ParentID) 자율적 위치를(예:국가,예를 들어,국)는 부모의 자체.이 방법은 내가 있을 수 있는 임의로 깊은 중첩'정치적인 단위의(국가>국>시 또는 국가>국>시>대학).일부 쿼리가 반드시 재귀를 포함.

감사하겠 다른 모든 권고 또는 아마도에 대한 조언을 예측 가능한 문제는 내가 발생할 가능성이와 같은 방식입니다.

도움이 되었습니까?

해결책

할 수 있습을 봐야 Freebase.com 로 사이트의 일부에 대해서 열린 토론 무엇""위치를 의미 그 때 무엇을 의미하는 위치에 포함됩니다.이러한 종류의 질문을 생성할 수 있는 많은있다.

예를 들어,거기에는 분명"지리적인 중첩"있지만,적은 분명한 논리적인 중첩.예를 들어,에서 엄격히 지리적 감각을 바티칸시 중첩에서 이탈리아입니다.하지만 그것이 중첩되지 않는 정치적으로.마찬가지로 귀하의 사용자가에 위치한 연구 센터에 속하는 대학,하지만 위치한 대학에의 제공,당신이하는 모델의 관계는?

다른 팁

좋은 소리 접근 방식을.한 가지는 나에 명확하지 않을 읽을 때 당신은 글은"부모님이 자신의"의 의미-는 경우 이를 나타내는 로케일이 없이 부모를 사용하는 것이 더 낫 null 보의 ID 입니다.

나는 당신이 될 수 있습을 지나친다.이유가 있는 가장 시스템 저장소 및 아마 테이블의 국가입니다.여기에 몇 가지 일들을 찾아보십시오:

  1. 것 주는 브롱크스에 포함되지 바로 레벨에서는 계층?는 것은 주소에서 합병되지 않는 지역을 삭제""도시의 수준은 계층?어떻게 당신이 모델 내에 있는 주소 대학교 대한 주소에 해당되지 않나요?신 비정형 계층을 통과 나무에 필요한 모든 시간을 당신을 표시한 주소에서 응용 프로그램입니다.이 있는 경우에는"주소 예약"페이지의 성능 저하로 인해 큰 영향을 받을 수 있습니다.

  2. 나는 확실하지 않는 것도 하나의 계층 구조입니다.브라운 대학은 시설에 Providence,RI,Bristol,RI.유일한 청정 솔루션을 해야 하는 것 두 번 계층을 가진 두 개의 캠퍼스는 각각에 속하는 각 도시에서 하나의 계층 구조이지만 모두에 속하는 브라운대학에서 다른 계층 구조입니다.(대학은 근본적으로 달리 정치적인 지역이다.당신이 정말 혼합니다.)

  3. 에 대해 무엇의 우편 번호?몇 가지 우편번호를 포함 여러 도시에,다른 시간에 도시는 부분으로 여러 우편 번호입니다.과(거의)일에도 십자가 주 라인.(위키백과에 따르면,적어도...)

  4. 당신이 어떻게 데이터를 입력?을 구축하는 데이터베이스를 분석하여 통상적으로 포맷 주소기 어려울 수 있을 때 당신은 계정으로 허영의 주소로 다른 이름이 특정 거리를,다른 국제 형식,등등.고 나는 생각하고 들어가 모든 주소를 계층적으로 될 것입 PITA.

  5. 그것은 소리처럼 당신은 노력하고 모델이 전 세계에서 응용 프로그램입니다.당신이 정말로 원하거나 유지할 필요가 있는 테이블 수 있 생각할 수 있는을 포함하는 모든 도시,주,지방,우편번호,그리고 국가가 세계에서?(또는 적어도 하나 하나는 당신이 누군가가 알아?) 네트워크가 필요하지 않습니다 생각하는 방식을 살 것이라 당신은 호텔,하지만 경우에 당신이 무엇을 원하는 나만 저장소 및 국가 별도로(그리고 어쩌면 우편 번호)및 추가 위도 경도 데이터 수 있습니다.

죄송 극단적인 비관,하지만 나는 내려 갔는 도로 자신입니다.그것은 논리적으로는 아름답고 우아한,그러나 그것은 잘 작동하지 않습니다.

여기는 제안에 대한 매우 유연한 스키마가 있습니다.즉각적인 경고:그것은 너무 있을 수 있었한 유연한 복잡한 실제로 필요

위치 (LocationID,LocationName) --기본적인 빌딩 블록

LocationGroup (LocationGroupID,LocationGroupName,ParentLocationGroupID) -이할 수 있는 효과적인 캡슐화는 여러 계층 구조입니다.당신이 하나 루트 노드를 만들 수 있습니다 다음 독립적인 여러 가지입니다.E.g.분할할 수 있습니다 국가에 의해 처음 만들 여러 가지 하위 계층 예:ZIP/city/xxxx

LocationGroupLocation (LocationID,LocationGroupID) --하는 방법은 다음과 같이 링크에 위치 하나 이상의 계층 구조입니다.E.g.할 수 있는 링크를 당신의 집을 지뿐만 아니라,도시...당신은 무엇을 구현해야 하는 제약 조건입니다 당신은하지 않아야를 연결할 수 있는 위치와 어떤 두 개의 계층 구조가 그들 중 하나는 부모의 기타(관계는 이미 암시).

내가 생각하는 것에 대해 신중하게 이 때문에 그것은 되지 않을 수 있습니다 필요한 기능입니다.왜 그냥 사용 텍스트 필드 및 사용자 입력 주소?

기억 KISS 원칙 (바보,간단하).

동의함으로 다시는 매우 조심해야 할 필요가에 대해 여기에 귀하의 요구 사항입니다.위치가 될 수 있는 까다로운 문제는 이유는 GIS 시스템은 complicted.

확신하는 경우 당신은 기본적인 구조는 계층 구조,나는 다음과 같은 제안 사항:

  • 나는 지원을 의견는 루트 수준 항목이 없는 자로 부모입니다.루트 수준 항목이 있어야 null 값이 부모입니다.항상 주의해야에 대한 데이터 필드 그 의미가 없습니다(i.e"특별한"값을 나타내는 데이터 없음).이 실습은 드물게 반드시 그 방법 남용에 devleoper 커뮤니티입니다.
  • 고려 XPath/XML.이것은 무언가에 대해 고려할을 귀찮게 녹화의 구조는 계층 구조,그리고에 대한 처리/분석 데이터 불러올 수 있습니다.를 사용하는 경우 MSSQL Server,XPath 표현을 선택에서 문을 완벽 등의 작업에 대해서는 반 전체의 위치/구조의 경로는 기록의 코드 간단하고 그 결과를 빠르다.

에 대한 지리적 위치를 하실 수 있습을 해결하는 주소,위도,경도 array(아마도를 사용하여 Google maps etc.) 계산 proximities 등등....에 대한 지정 학적 중첩...나의 키스와 반응이다.

만약 당신이 정말로 원하는 모델은 아마도 당신이 필요 유형에 더 일반...국가>국>카운티->플->지역->City->Suburb->Street PO Box->번호->->아파트 등등.->교육 기관(대학교 또는 고용주)->부문->Subdivision-1->subdivision-n...당신은 확신을 할 수 없는가?

나는 모델링 응용 프로그램을 위한 글로벌 사용자가 동일한 문제이지만,제가 생각하는 이 방법을 이미 사용 중에 많은 기업입니다.하지만 왜 이런 문제가 없다는 보편적인 솔루션?또는,이 문제가 중 하나 최고의 솔루션이 될 수 있는 시작점이나 사람 세계에서 생각해야에서 솔루션에 대한 그것 때문에 처음?그것에서는,우리는 같은 일을 어떤 시간과 많은 곳에서도해 보시기 바랍니다.에 대한 exemplo 지 않은 사람,한 번 이상은 사용자,고객 또는 제품의 데이터베이스?그리고 최악의 모든 기업에서 세계를 만들었습니다.나는 생각할 수 있는 보편적인 솔루션을 위한 보편적인 문제입니다.

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