Introduction
- One data는 한군데만 있는게 좋습니다.
- Normalization 이론 참고.
- ODBC - MS-windows 용
- xlsx, Oracle DB, mysql 등 DB의 형태는 다양한 모습일 수 있습니다.
About ODBC
“Brian Ripley” - Oxford
- ODBC(Open DataBase Connectivity)는 마이크로소프트가 만든, 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격입니다.
- 각 데이터베이스의 차이는 ODBC 드라이버에 흡수되기 때문에 사용자는 ODBC에 정해진 순서에 따라서 프로그램을 쓰면 접속처의 데이터베이스가 어떠한 데이터베이스 관리 시스템에 관리되고 있는지 의식할 필요 없이 접근할 수 있습니다.
ODBC는 본래 1990년대 초 마이크로소프트가 개발하였고, 유닉스 및 메인프레임 분야에서 SQL 액세스 그룹이 표준화한 호출 수준 인터페이스(CLI)를 위한 기초가 되었습니다. ODBC는 CLI의 노고 중 일부로서 제거되었던 일부 기능들을 보유하였다. 온전한 ODBC는 나중에 해당 플랫폼으로 다시 이식되었으며 CLI 보다 상당히 더 잘 알려진 데 팍토 표준이 되었다고 합니다.
R에서의 사용법 예시
ODBC를 Win 7 64bit에서 사용하려 할 때 몇가지 번거로운 작업이 있습니다.
- Excel file을 ODBC 관리자에 입력합니다. 이때 64비트 컴퓨터에서는 ODBC 32bit를 사용해야 합니다.
32bit ODBC 관리자: C:\Windows\SysWOW64\odbcad32.exe 64bit ODBC 관리자: C:\Windows\System32\odbcad32.exe
- R에서 읽어들어올때도 마찬가지로 32bit R 3.3.0을 실행해야 합니다.
RODBC package
설치.
install.packages("RODBC")
- 이후 R에서 다음과 같은 식으로 ODBC상의 DB를 변수로 받을 수 있습니다.
require("RODBC")
#HMConc = odbcConnect("Excel Files") # ODBC관리자에서 파일 등록 안했을 경우 관리자를 띄어줍니다.
Conc = odbcConnect("CONC") # ODBC관리자에서 CONC로 DB명을 설정함.
DrugA.ODBC = sqlFetch(Conc, "DrugA", as.is=TRUE)
DrugB.ODBC = sqlFetch(Conc, "DrugB", as.is=TRUE)
64bit 윈도우에서 32bit ODBC관리자 사용하기
64bit 윈도우에서 32bit ODBC관리자 사용하기
Discussion
- R에서 Data를 불러오는 여러가지 방법 중에 가장 오래된 전통을 갖고 있습니다.
- 안정적으로 동작합니다.
- 그러나 64비트 개발환경을 사용할 수 없다는 점, OSX와 Linux 등에서 사용이 용이하지 않다는 점은 단점일 수 있습니다.