[번역] Oracle Spatial Best Practices :: Data Modeling

IT/Study 2008. 2. 27. 18:11 Posted by 타돌이
728x90
2. 데이터 모델링(Data Modeling)

 전통적인 RDBMS 데이터 모델 개념은 공간 데이터를 다룰 때 적용된다. Oracle은 많은 전통적인 데이터 형(문자열을 위해 VARCHAR2, 날짜를 위해 DATE, 숫자들을 위해 NUMBER 형 포함)들, 그리고 지금 공간적 특성의 좌표들을 저장하기 위한 SDO_GEOMETRY 형을 지원한다.

 Oracle에서 하나 이상의 SDO_GEOMETRY 열을 같은 그저 평범한 Oracle table들 같은 공간적인 table은 없다. 정규화된 table을 만들 때, Oracle은 table에 SDO_GEOMETRY 열을 포함하는 것을 추천한다. 여기서 table안에 있는 모든 다른 열들은 SDO_GEOMETRY 열과 1대 1 관계를 갖는다.

 도로와 강의 공간 지형들을 모델링하는 다음 예를 고려해 보아라. 도로 정보는 아마 차선의 수, 거리의 주소 범위 등을 포함할 것이다. 강 정보는 염도, 최대 수심 등을 포함할 것이다. 비록 그 둘이 선형적인 지형임에도 불구하고, 도로에 대한 정보가 강과 관련 없고 강 정보가 도로와 관련이 없기 때문에, 한 테이블의 같은 SDO_GEOMETRY 열에 그것들의 좌표를 저장하는 것은 추천되지 않는다. 정규화된 데이터 모델은 도로의 좌표들과 1대 1 관계를 갖는 다른 열들 사이에서 Roads table안에 도로 공간 지형을 저장했을 것이다. Rivers table에 대해서도 같은 정규화된 데이터 모델이 추천된다.

 도로들을 강과 따로 저장하는 것의 추가적인 이득은 질의 시간에서 더 명백해진다. 당신이 오직 도로만을 찾을 때,도로와 강에 대한 엔트리들을 담고 있는 테이블을 엄밀히 조사할 필요가 없다.