문제

내 DBA는 사용자 정의 SQL 데이터 타입을 사용하여 주소를 나타내는 다음 여러 주소 열 대신 사용자 테이블에서 해당 새 유형의 단일 열을 사용하도록 지시했습니다. 나는 전에 이것을 한 적이 없으며 이것이 일반적인 접근법인지 궁금합니다.

또한 이에 대한 정보를 얻을 수있는 가장 좋은 곳은 무엇입니까? 제품 별입니까?

도움이 되었습니까?

해결책

다른 많은 질문이 있습니다 그래서 데이터베이스에서 주소를 나타내는 방법에 대해. Afaicr, 그들 중 누구도 목적을 위해 사용자 정의 유형을 제안하지 않습니다. 나는 그것을 일반적인 접근법으로 간주하지 않을 것입니다. 그것은 그것이 합리적인 접근법이 아니라고 말하는 것이 아닙니다. 주요 어려움은 주소 데이터를 조작하기 위해 제공 할 방법을 결정하는 데 있습니다. 데이터를 봉투에 표시하거나 인쇄 된 형태의 특정 장소에 데이터를 형식화하는 데 사용되거나 국제 주소의 많은 영향에 대해 걱정하는 필드를 업데이트하는 데 사용됩니다. , 등등.

사용자 정의 유형을 정의하는 것은 매우 제품별로 매우 중요합니다. Informix에서 수행하는 방법은 예를 들어 DB2 및 Oracle에서 수행되는 방식과 다릅니다.

다른 팁

내가 알 수있는 한, 적어도 SQL Server 세계에서 UDT는 그다지 많이 사용되지 않습니다.

UDT 문제는 쉽게 업데이트 할 수 없다는 사실입니다. 데이터베이스에서 생성되고 사용되면 거의 돌로 세워진 것과 같습니다.

"Create or Alter (UDT)"명령이 없습니다. -새로운 구조로 만들고 데이터와 모든 것을 다시 적용합니다.

그것은 너무 많은 번거 로움입니다 - 그리고 당신은 알고 있습니다 : 거기 ~ 할 것이다 변화가 되십시오!

현재 SQL Server Land에서 UDT는 좋은 아이디어이지만 실제로는 구현되었습니다. 나는 그것들을 광범위하게 사용하지 않는 것이 좋습니다.

마크

또한 사용자 정의 된 데이터 유형을 정의하고 유용성으로 인해 코드가 특정 데이터베이스에 의존 할 수 있으므로 사용자 정의 데이터 유형을 사용하지 않습니다.

대신 객체 지향 언어를 사용하는 경우 직원의 주소를 정의하기 위해 구성 관계를 작성하고 주소를 별도의 테이블에 저장하십시오.

예를 들어. 직원 테이블 및 Employee_addresses 테이블. 한 명의 직원이 여러 주소를 가질 수 있습니다.

주소를 나타내는 사용자 정의 SQL 데이터 타입

사용자 정의 유형은 매우 유용 할 수 있지만 우편 주소는 그러한 경우 중 하나로 뛰어 내지 않습니다 (적어도 나에게). 우편 주소는 무엇입니까? 누군가를 우편으로 보내기 위해 봉투에 인쇄하는 것입니까? 그렇다면 텍스트는 얻을만큼 좋은 것입니다. 법적 이유로 누군가가 어떤 상태인지 알아야한다면, 별도로 저장하면 문제가되지 않습니다.

여기의 다른 게시물은 UDT를 비판했지만 몇 가지 놀라운 용도가 있다고 생각합니다. PostgreSQL은 전체 텍스트 검색이 실제로 핵심 제품에 통합되기 전에 오랫동안 UDT를 기반으로 플러그인으로 전체 텍스트 검색을 받았습니다. 현재 PostGIS는 UDT를 기반으로 한 플러그인 인 매우 성공적인 GIS 제품입니다 (GPL 라이센스가 있으므로 핵심으로 통합되지는 않습니다).

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