• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

팁사용기

[팁] Database - 5 다른 데이타베이스 시스템과 MySQL 접속 방법

본문

안녕하세요? 미쉐린 김성준입니다.
이번에는 리얼베이직 자체의 데이타베이스가 아닌 다른 데이타베이스의 접속과 이용에 대해서 알아보도록 하겠습니다.
기본적으로 다른 데이타베이스의 접속에 대해서 알아보고 대표적인 무료 데이타베이스인 MySQL 에 대해서 공부해 보도록 하겠습니다.

1. 리얼베이직에서 지원해주는 다른 종류의 데이타베이스 시스템
리얼베이직에는 자체적인 데이타베이스 외에 네트웍이나 대용량 데이타를 처리하기 위한 오라클, MySQL, 4D, PostgresSQL, OpenBase, FrontBase 등의 대용량 데이타베이스 시스템도 지원을 해줍니다.
리얼베이직의 자체적인 데이타베이스인 RealSQLDatabase 는 성능도 좋고 개발하기도 좋지만 어마어마한 양의 대용량 데이타를 처리하기에는 좀 무리가 있으며 시스템 자체도 한계가 있습니다.
따라서 리얼베이직은 Mac OS 9 시절부터 오라클이나 MySQL 과 같은 대용량을 저치하기위한 별도의 데이타베이스 시스템을 지원해 왔습니다.
즉 이말은 데이타베이스 시스템은 별도로 존재를 하고 네트웍을 통하여 데이타를 처리하는 방식이 되구요. 리얼베이직에서는 이러한 데이타베이스 시스템을 다루거나 데이타를 처리하기위한 프로그램만 개발하는 식이 되는 것이죠. 델파이나, 파워빌더, 비주얼베이직 등의 대부분의 데이타베이스 개발 프로그램들이 이러한 시스템을 형식을 지원해 주고 있습니다. 뭐 이렇게까지 설명을 하지 않아도 다들 알고 계실 것이지만요..^^:;
여튼 이번에는 리얼베이직에서 지원을 해주는 외부데이타 베이스의 종류와 그 클래스에 대해서 간단히 알아보도록 하겠습니다.

1) MySQL 데이타베이스
- MySQL은 대표적인 무료 데이타베이스 시스템이며 리눅스와 맥, 윈도우즈까지 지원을 해주는 아주 고마원 데이타베이스 시스템입니다. 속도도 빠르고 안정적이며 버젼업도 꾸준히 되고 있어서 많은 기업체에서도 MySQL를 사용하고 있습니다. MySQL은 인터넷에서 쉽게 다운로드 받아서 사용해 볼 수 있으며 소스까지도 구할 수 있기 때문에 데이타베이스 시스템 자체를 공부하는 사람들이나 데이타베이스를 활용하기 위한 사람들에게 많이 사용되고 있습니다. 또한 본인도 데이타베이스 시스템을 사용한다고 하면 MySQL 을 추천할 정도입니다.

- MySQL의 클래스 : 리얼베이직에서 MySQL을 사용하기 위해서는 MySQLDatabse라는 클래스를 이용해주어야 합니다. 지난 강좌에서 공부했었던 RealSQLDatabase 는 RealSQLDatabase 클래스를 이용했었죠. 그리고 네트웍으로 접속을 하고 사용을 하기 때문에 로긴 아이디와 패스워드가 있어야 하며 RealSQLDatabase 시스템 자체에 이를 접속할 수 있는 아이디를 생성해주어야 합니다. 또한 데이타베이스 시스템의 IP 주소도 당연히 알고 있어야하겠죠. 또한 네트웍으로 접속할 수 있는 별도의 포트를 지정해줄 수 있습니다. 기본적인 MySQL의`네트웍포트는 3306번 입니다. MySQL의 접속 관련 유저는 MySQL 데이타베이스 시스템 안에 Users 라는 테이블을 참고하시면 됩니다. MySQL 자체 데이타베이스에 대한 공부는 인터넷을 검색해보시면 기본 강좌뿐 아니라 활용에 대해서도 잘 나와있으니 검색해 보시기를 바랍니다.^^;;

*네트웍 포트 : 모든 네트웍은 그냥 서로 연결이 되는 것이 아니라 각각의 포트가 있습니다. 웹 같은 경우는 80번이 되구요. 텔넷은 20번, FTP 는 21으로 사용됩니다.(맞나요? 다 틀리는 것 같은데..-__-;;)
여튼 0~100번까지인가는 시스템에서 사용을 하기 때문에 사용할 수 없구요. 그외에 별도로 개발하는 프로그램에서는 1000번대 이상의 네트웍 포트를 사용해주는 것이 충돌을 막을 수 있습니다. 같은 포트를 이용하면 문제가 생길 수 있죠. 예를 들어서 네트웍 프로그램을 개발하는데 80번의 포트를 사용하게 되면 웹에서 사용하기 때문에 웹 브라우져나 웹서버와 같이 사용할 수 없게 되는 것입니다..^^;;

2) 오라클(Oracle) 데이타베이스
- 오라클은 대용량 데이타베이스의 대표적인 데이타베이스 시스템이며 그 안정성과 속도, 활용도 높은 SQL 기능으로 인해서 많은 업체들에서 사용하고 있는 고용량 데이타베이스 시스템입니다. 또한 업체의 지원도 빠방(?)하기 때문에 누가보더라도 돈만 있다면 꼭 사용하고픈 데이타베이스 시스템이 아닐까 합니다.
하지만 모든 것은 돈(?)이라고 볼 수 있는 오라클은 그만큼 돈도 많이 들고 지원을 잘 받기 위해서도 많은 돈이 들어가는 경우가 생깁니다. 하지만 자타가 공인하는 최고의 데이타베이스 `시스템이라 할 수 있을 것입니다. 또한 오라클도 대용량 기업용 데이타베이스이기 때문에 리눅스나 Mac OS X, 윈도우즈 외 다양한 웍스테이션까지 지원을 해줍니다.

- Oracle 의 클래스 : 리얼베이직에서 오라클을 사용하기 위해서는 OracleDatabase 클래스를 이용해주어야 합니다. 또한 MySQL과 같이 로긴아이디, 패스워드, IP Address 가 있어야 합니다.(당연한 것이죠..^^;;) 좀 특이한 점은 MySQL 같은 경우는 별도의 라이브러리는 필요로 하지 않지만 오라클은 다르다는 것 입니다. 별도의 오라클에 접속하고 사용하기 위해서 OCI 라는 라이브러리가 필요합니다. OCI 는 Oracle Connect Interface 의 약자로 알고 있었는데 맞을지는 모르겠군요. 여튼 오라클은 이 라이브러리가 없으면 사용할 수 없습니다.`다른 데이타베이스 시스템은 이러한 별도의 접속 라이브러리를 제공하는 경우는 보진 못했습니다. 여튼 오라클은 Mac OS 9 에서는 7.3 버젼까지 사용이 가능하며 Mac OS X 의 경우는 그 이상의 버젼을 사용해야 할 것 입니다.(오래전 지식이라 틀릴수도 있구요..^^;;)

3) 4D 데이타베이스
- 4thDimension 이라는 이름의 약자(스펠링 맞죠?)인 4D도 오래전부터 Mac OS 를 지원해주던 데이타베이스 시스템입니다. FIleMaker 와 같은 형식으로 초창기에 지원을 했지만 지금은 MySQL 이나 Oracle 처럼 별도의 데이타베이스 시스템을 지원해줍니다. MySQL이나 오라클처럼 국내에서는 널리 사용되지는 않았으니 기능이나 프로그램을 개발해주는 개발툴등은 아주 뛰어납니다. 예전에는 4D 를 지원하는 데이타베이스 관련 프로그램을 만들기 위해서는 4D 개발툴만 사용해야했지만 리얼베이직의 등장으로 하나가 더 추가가 되었습니다. 하지만 4D 자체의 가격도 그리 싸지는 않기 때문에 개인이 사서 사용하기에는 좀 무리가 있습니다. 대부분 금전적인 이유로 무료인 MySQL을 많이 사용하기 때문에 이러한 데이타베이스 시스템은 좋은 성능에도 불구하고 국내에서는 많이 사용되지는 않고 있습니다.

- 4D 의 클래스 : 4D 는 Database4DServer 라는 클래스를 이용합니다. 필요 조건은 다른 데이타베이스 시스템과 비슷합니다. 자세한 내용은 도움말(LanguageReferences를 참조하세요..^^;;)

4) 기타 데이타베이스 : OpenBase 나 FrontBase 등도 리얼베이직에서 사용가능합니다. 하지만 한번도 사용해본적이 없어서 제대로 설명을 하기는 어렵지만 아마도 상위 다른 데이타베이스 시스템과 비슷하리라 생각합니다. PostgresSQL 같은 경우도 사용해보지는 않았지만 적극 사용하는 매니아들도 있고 성능도 좋다고 합니다. 하지만 저렴하게 무료를 사용하시려 한다면 개인적인 생각으로는 MySQL 이 최고가 아닐까 하는 생각이 듭니다. 속도도 빠르고 대용량의 데이타도 처리가 가능하고 자료 찾기도 쉽고 사용법도 괜찮으며 SQL 문도 사용하기 좋고 거기다가 무료이기 때문입니다. 오라클과 같은 데이타베이스 시스템은 개인적으로 공부하기는 어렵고 데이타베이스 관련 쪽으로 취직을 하게 된다면 아마 많이 사용하게 될 수 있지 않을까 생각합니다..^^;;

*?참고로 리얼베이직도 자체적인 SQLLite 기반의 데이타베이스 시스템을 개발하여 판매하고 있습니다. 잠시 데모를 돌려본 생각은 성능도 괜찮고 기능도 사용하기 쉽게 되어있고 RealSQLDatabase 로 개발하였던 것을 손쉽게 네트웍 버젼응로 포팅하여 사용할 수도 있겠다 생각이 들지만 아쉽게도 가격이 문제입니다. 500달러나 하더군요..^^;; 여튼 이런것은 돈이 문제입니다. 정필요해서 사용해야 한다는 분은 큰 후회는 없겠지만 MySQL 을 개인적으로 강력히 추천(?) 합니다..^^;;

2. MySQL 의 사용
그럼 이제 MySQL 데이타베이스 시스템의 사용에 대해서 알아보도록 하겠습니다.
MySQL을 사용하는 이유는 당연히 첫번째로 무료이며, 성능이 좋다라는 것입니다. 이 2가지만 보더라도 사용해야할 이유가 많겠죠. 그리고 사용법도 그리 어렵지 않습니다..^^;; 또한 앞서 언급했던 것 처럼 무료이기 때문에 그런지 사용하는 유저들도 정말 많고 업체에서도 적극적으로 많이 사용하고 있습니다.
여튼 이번에는 리얼베이직에서 MySQL에 접속하는 방법에 대해서 알아보도록 하겠습니다.

1) 리얼베이직에서 MySQL 의 사용
앞서 잠시 언급했던 것 처럼 리얼베이직에서 MySQL을 사용하기 위해서는 MySQLDatabase 라는 클래스를 이용합니다. 그럼 다음의 예를 보고 설명하도록 하겠습니다.

dim LoadDB as MySQLDatabase

LoadDB = New MySQLDatabase

LoadDB.Host = "192.168.1.1"
LoadDB.DatabaseName = "TestDB"
LoadDB.UserName = "TestUser"
LoadDB.Password = "TestPass"
LoadDB.Port = 3306

if LoadDB.Connect = False then
MsgBox "Databse Connect Error~!"
return nil
end if

위의 예에서 보면 먼저 LoadDB 라는 이름으로 MySQLDatabase 클래스의 객체를 만들어 줍니다.
그리고 New 명령어도 생성을 해주구요. 그 이후에 MySQLDatabase 클래스 객체인 LoadDB 의 각각의 속성을 지정해 줍니다.
첫줄부터 확인해 보도록 하죠.
먼저 Host 라는 속성이 있습니다. 이는 MySQL 데이타베이스의 주소를 말합니다. IP주소를 넣어주시면 되구요. 당연히 kmug.co.kr 과 같은 도메인도 가능합니다. 그리고 타입은 당연히 문자형 타입입니다.
두번째 줄에는 DatabaseName 이라는 것이 있는데요. MySQL 은 작업에 따라 데이타베이스를 나누어 줍니다. 그래서 작업을 하기 위해서는 Create Database "작업명" 식으로 작업할 데이타베이스를 만들어 줍니다. 이는 작업 공간을 명확히 나누기 위해서죠. 이러한 시스템은 대부분의 데이타베이스 시스템에서 사용하고 있으니 알고 계시면 도움이 조금 될 수 있습니다...^^;;
여기에서는 예제로 TestDB 라는 작업명을 사용했습니다.
그리고 UserName 은 MySQL 기본 데이타베이스에 포함된 Users 라는 테이블에 포함되어있는 유저명이 되야하는데요. 이는 MySQL 데이타베이스 시스템에 바로 접속하기 위해 사용되는 아이디입니다. 사용되는 컴퓨터의 유저 로긴아이디와는 별도라는것을 알아두시기 바랍니다.
그리고 Password 는 당연히 로긴 아이디의 암호가 되겠습니다.
그리고 Port 부분이 있는데요. 이것은 생략이 가능합니다. 생략하게 되면 기본 값인 3306 포트를 사용하구요. MySQL 데이타베이스 시스템의 포트를 변경했다면 변경된 포트값을 넣어주면 됩니다.
그리고 Connect 함수를 통해서 접속을 합니다. 마지막줄은 접속에 대한 에러체크를 해주는 것입니다.

이렇게 MySQL 이라 하더라도 접속 방법만 약간 다르고 데이타베이스의 입력이나 검색은 기존 강좌내용과 거의 동일합니다. 기존 강좌에서 MySQL 을 이용했다라고 한다면 접속 부분에서 위의 내용만 바꿔치기 해주면 되는 것이겠죠. 당연히 별도의 MySQL 시스템은 준비를 해줘야 합니다.

마치며...
여기까지 리얼베이직의 데이타베이스 시스템 이용에 대해서 기본적인 내용으로만 공부를 해봤습니다.
뭐 그다지 중요한 내용은 없는 것 같았지만 처음 접하시는 분들에게 좀 도움이 되었으리라 생각합니다.
그리고 데이타베이스 시스템은 굉장히 간단하고 배우기 쉬워 보이지만 어마어마한 데이타를 다루기 위한 시스템이기 때문에 공부할 수로고 복잡해지고 어려워질수도 있습니다. 그 어렵다는 것은 어떻게 데이타베이스를 설계하고 적절하게 빠르게 검색하고 사용하느냐겠지요. 데이타베이스를 알고 계신다면 이제 데이타의 관리는 데이타베이스로 해야한다는 것을 생각하고 계실수도 있을 것 입니다. 참고로 최근에 XML 이라는 말을 많이 보시죠? 뭐 시스템의 차이가 있겠지만 개인적으로 봤을 때에는 이것도 실질적으로는 데이타베이스 시스템중의 하나라고 봅니다. 예를 들어서 Mac OS X 의 Address 의 데이타도 XML 로 저장이 되는 것 같구요..^^;;
여튼 데이타베이스 프로그램을 개발하시는 분이라면 꼭 알고 넘어가고 적극 활용 잘하시기 바랍니다.
그리고 이번 강좌가 좀 많이 모자란듯 하지만 다른 문의나 자세한 부분에 대한 질문에 대해서는 게시판에 남겨주시면 감사하겠습니다.
그럼 좋은 하루 되세요.^^:;

from michelin
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 5,044
가입일 :
2004-01-25 23:38:19
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 1

머그컵님의 댓글

배우는데 도움이 되네요.

전체 48 건 - 1 페이지