티스토리 뷰

Programming/SQL

주소DB Import 하기(활용편#1)

우주아줌마 2021. 11. 16. 17:22
728x90
반응형

도로명 주소 안내 시스템 의 DB 파일을 이용 해서 내 DB에 임포트 하는 과정 

 

행정안전부 에서 제공하는 도로명주소 안내시스템 개발자센터 에서 내 DB에 사용할 파일을 다운 로드 받고

활용 방법 에가서 사용할 테이블/컬럼 을 확인 하여 DB에 만들어 주자

 

 

RedUTF8.exe
0.38MB

 

우선 DB 에 넣을 파일 먼저 다운로드 하자

주소DB 를 활용 할것이다.

두번째  주소DB 를 클릭 하여 이동 하면 된다

도로주소명 을 사용 할것이고 우선은 전체 을 받아 사용 할것이다.
(현재 2021.11 용량은 대랑 1.4G 정도 된다)

압축을 풀어주고 내용을 확인해보면

 - [가이드] 주소 DB 활용방법.pdf 파일
   개선_도로명코드_전체분.TXT
   부가정보_'지역별명칭'.TXT
   주소_'지역별명칭'.TXT   
   지번_'지역별명칭'.TXT

 파일을 확인 할수 있고 [가이드] 주소 DB활용방법. PDF 파일은 테이블 활용에 대한 내용이나 전체 를 받았을 때는 별도움이 안되니 따로 '활용가이드' 를 다운받아 확인하자

 

관계도를 확인 해보자면

 

도로명코드 , 도로명주소 , 지번(대표+관련) 최소 3개의 테이블이 필요해 보인다.

다운받은 활용가이드 16.페이지 를 보면 

과 같은 테이블 정보를 준다 이대로 테이블을 만들어보자

정확히 말하자마녀 13~16페이지 까지 테이블을 만들어 줘야 하는것같다

나는 SQL 문을 정확히 이해하지 못하고 있기 때문에 툴을 이용 해서 테이블과 컬럼을 만들것이다.

CREATE TABLE juso.road_code (
	도로명코드 varchar(12) NULL,
	도로명 varchar(80) NULL,
	`도로명 로마자` varchar(80) NULL,
	읍명동일련번호 varchar(2) NULL,
	시도명 varchar(20) NULL,
	`시도명 로마자` varchar(40) NULL,
	시군구명 varchar(40) NULL,
	`시군구명 로마자` varchar(40) NULL,
	읍면동명 varchar(20) NULL,
	`읍면동명 로마자` varchar(40) NULL,
	읍면동구분 varchar(1) NULL,
	읍면동코드 varchar(3) NULL,
	사용여부 varchar(1) NULL,
	변경사유 varchar(1) NULL,
	변경이력정보 varchar(14) NULL,
	고시일자 varchar(8) NULL,
	말소일자 varchar(8) NULL,
	CONSTRAINT road_code_PK PRIMARY KEY (도로명코드,읍명동일련번호)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;

없는 정보 찾아 왔는데 테이블 만드는거 도 없으면 안될듯 해서 쿼리문 넣는다... 나말고 다음 사람은 편하게 살아라~

다운받은 DB파일은 UTF-8 인코딩이 아니라서 바꿔주어야 한다

52개 파일 일일이 하나하나 다른이름으로 저장 해서 인코딩 하기 토나온다 프로그램쓰자


 

PHP스쿨에 한 분이 만드렁주신듯(감사합니다.파일은 첨부하 겠음)
// 주의 사용 전에 꼭 복사본 만들고 하세요 개인이 만든 프로그램은 어떤 버그를 가지고 있을지 모름

// 참고 사항 하나더 

위에건 YUM 으로 깔아서 써야 하고 그냥 기본 명령인 find 명령어로는

 

find . -type f -execdir iconv -f euckr -t utf-8 {} -o {}.tmp \; -execdir mv -f {}.tmp {} \;

활용편 #1 끝.

 

728x90
반응형

'Programming > SQL' 카테고리의 다른 글

주소DB Import 하기(활용편 #2)  (0) 2021.11.17
댓글