-
Notifications
You must be signed in to change notification settings - Fork 146
RDB User Guide Kor
- 작성일 : 2013.08.04
- 작성자 : Cho HyunJong([email protected])
올챙이는 웹브라우저를 이용하여 DB에 접속하여 사용하는 쿼리 툴입니다. 다양한 DB를 웹브라우저에서 접속하여 사용하고 정보를 공유하거나 제한하여 사용하도록 합니다. 올챙이의 최종 목표는 DB의 HUB 입니다.
- 홈페이지 : https://github.com/hangum/TadpoleForDBTools/wiki
- 올챙이는 LGPL라인선스로 사용이 허락되어 있습니다.
- 기부는 Paypal로 받고 있습니다. 기부방법 및 기부자는 다음을 참조 하세요.
- 올챙이에 관련문의 : TADPOLE([email protected])
현재 Amazon RDS, CUBRID, MarisDB, MySQL, MSSQL, Oracle, PostgreSQL, SQLite, MongoDB를 지원합니다. 각 Database는 다음버전으로 테스트 되었습니다.
- Amazon RDS : aws-java-sdk-1.4.7
- CUBRID : 8.4.x ~
- Oracle : 10g ~
- MySQL : 5.4.x ~
- MariaDB : 5.5.x ~
- MSSQL : 2000 ~
- PostgreSQL : 9.1.x ~
- SQLite : 3.7.2 ~
- MongoDB : 2.0.5 ~
본 문서는 RDB 위주로 설명합니다.
올챙이는 몇가지 사용자 메뉴얼을 준비 되어 있습니다.
- JAVA 1.6.x(Mac은 1.7.x) 이상이 설치 되어 있어야 합니다.
- 지원시스템 : 데스크톱(Linux, Mac, Windows), Tomcat 6.x
- 사용하려는 시스템이 보이지 않는다면 문의([email protected])하여 주십시오.
- 다운로드 받아서 적당한 디렉토리에 압축을 풉니다.
- 사용하시다가 문제나 궁금하신 부분은 다음을 이용하여 주십시오.
- TadpoleDBHub-1.x.x\tadpole-standalone.exe 파일을 더블 클릭하여 실행합니다.
- 실행 후에 브라우저가 자동으로 실행됩니다.(혹은, TadpoleForDBToolsStartup 파일을 더블 클릭 하여 실행 하실 수 있습니다) 제일 처음 시작 할 때, 엔진이 구동 중이라 웹브라우저에서 페이지를 찾을 수 없다고 나올수도 있습니다. 새로고침 하십시오.
- 브라우저를 열고 http://127.0.0.1:10081/tadpole 를 입력하여 시작 하십시오.
ps) 올챙이의 DB는 TadpoleDBHub-1.x.x/configuration/tadpole/db/tadpole-system.db 입니다. 새로운 버전을 설치하고 백업하십시오.
- 기존에 올챙이를 실행했던 적이 있다면 apache-tomcat-6.x.x/work/Catalina/localhost/tadpole/eclipse/configuration/tadpole/db/tadpole-system.db 파일을 백업받으세요. apache-tomcat-6.x.x/work의 디렉토리를 삭제하세요.
- TadpoleDBHub1.x.x-tadpole.war의 이름을 tadpole.war로 바꾸세요.
- WAR파일을 webapp 디렉토리에 두고, 톰켓을 시작하십시오.
- 브라우저에서 http://127.0.0.1:8080/tadpole/tadpole 시작하세요.
- 기존 디비의 데이터를 업그레이드 하려면 1.에서 백업받은 위치에 백업받은 tadpole-system.db 파일을 놓아두세요.
- 프로그램을 테스트 모드로 동작시키면 다음과 같은 화면이 나타납니다.
- 시스템은 기본 유저를 만들어 놓았습니다. 어드민([email protected]/admin), 관리자([email protected]/manager), 개발자([email protected]/guest)이며 로그인 창에 타이핑하여 로그인 할 수 있습니다.
- 테스트 모드로 동작할 때는 이메일,패스워드를 타이핑 하지 않아도 시스템을 테스트 해 볼수 있도록 버튼을 만들어 놓았습니다. 메니져 로그인, 개발자 로그인 버튼이 그것입니다. 버튼을 누르면 해당 권한으로 시스템을 사용해 볼 수가 있습니다.
- 신규등록은 다음을 참고하세요.
- 어드민은 시스템에 등록된 모든 디비(패스워드 제외)와 사용자를 관리 합니다.
- 관리자는 사용자 그룹을 관리 합니다. 사용자들과 DB, 리소스등을 공유하며 함께 사용 합니다. 처음 관리자를 만드실때는 프로젝트 그룹 처음등록시 어드민의 허락이 필요합니다. DB를 등록 삭제 할 수 있습니다. 사용자는 디비를 등록 할 수 없습니다.
- DBA는 사용자 리스트와 디비를 볼 수 있으며, 사용자가 실행한 쿼리를 관리할 수 있습니다.
- 사용자는 실제 사용자 입니다. 사용자는 특정 그룹에 소속 되어야 하며 관리자의 승인 후 로그인 가능합니다. 관리자가 등록해 놓은 디비를 사용할 수 있으며, 쿼리등을 다른 사용자와 공유할 수 있습니다.
- 툴바 : DB 연결, 저장, 권한 설정(관리자, DBA, 어드민 권한의 사용자일 경우 보여짐), 환경 설정 등을 합니다.
- 데이터베이스 목록 : 신규 DB의 등록, 삭제, 사용자 공유데이터가 있습니다.
- 오브젝트 탐색기기 : 데이터베이스 목록에서 선택된 DB의 Object(Table, View)등의 목록을 보여 줍니다.
- 메인화면 : 디비의 쿼리 에디터, 몽고디비의 프로파일 화면등 주용 작업화면이 표시 됩니다.
사용자가 빠른 명령을 실행 할 수 있도록 자주 사용하는 기능을 모아 놓았습니다. 사용자 툴바는 권한에 따라 기능이 제한 됩니다. '관리자'인 경우 모든 기능이 가능하지만, '사용자'의 경우는 DB 생성, 삭제, 프로파일 기능은 사용할 수가 없습니다.
위의 이미지는 툴바 전체 기능이며 순서 대로 다음과 같습니다.
- DB연결 창을 엽니다.
- SQL Editor 창에 열린 데이터를 저장 합니다.
- '데이터베이스 목록'창에서 선택된 DB의 SQL Editor창을 표시합니다.
- '데이터베이스 목록'창에서 선택된 DB의 ERD Editor창을 표시합니다.
- '데이터베이스 목록'창에서 선택된 DB의 공유 자원을 삭제 합니다.
- 사용자, DB 정보를 화면에 표시합니다.
- 모든 DB의 Query 정보 히스토리 정보를 표시합니다.
- 환경 정보 창을 표시합니다.
- 버그, 기능개선 제안 등록 창을 표시합니다.(Github 계정이 있어야 합니다)
- 시스템 정보 창을 표시합니다.
- 종료 버튼입니다.(Tomcat에서 실행하면, 로그 아웃합니다. 독립실행이면 프로그램을 종료합니다.)
연결된 DB목록이 있습니다. DB를 관리합니다. 또한 등록된 디비는 모든 그룹원이 공유하여 사용 합니다.
DB의 등록은 관리자 권한을 가진 사용자만 할 수 있습니다.
- 연결하고자 하는 DB 목록 입니다.
- 올챙이에서 관리 하는 시스템 정보 입니다.
- 운영 타입 : 입력하려는 DB의 운영 타입을 입력합니다.
- 운영 타입 -> Production Server : 운영 DB를 등록합니다. 운영 DB 일경우 사용자권한의 유저는 SQL Editor에서 SELECT만 실행 할수 있으며, 에디터의 테두리를 빨간색으로 표시하여 식별이 용이하도록 하였습니다.
- 운영 타입 -> Developer Server : 입력하려는 DB가 개발자용 DB이며 권한에 상관없이 모든것이 가능합니다.
- 운영 타입 -> Others Server : 입력하려는 DB가 기타 용도 DB이며 권한에 상관없이 모든것이 가능합니다.
- 그룹 : DB의 컨넥션 정보의 그룹을 입력합니다. 등록 하려는 디비를 그룹별로 관리 할 때 유용하며 업무명 혹은 디비의 용도에 따른 그룹 이름을 지정하여 사용할 수 있습니다.
- 이름 : DB가 데이터베이스 탐색기에서 표시될 이름을 입력합니다.
- 1.에서 선택 된 데이터 베이스 정보를 입력합니다.
- 2.에 연결된 정보의 부가 정보 입니다.
- Readonly Connection : 연결된 디비는 삭제, 수정 조작명령을 할 수 없습니다. SQL Editor에서 SELECT 명령만 가능한 연결을 합니다.
- Auto Commit : SQL Editor에서 Auto Commit 형식으로 작동합니다. 즉, INSERT, UPDATE, DELETE 명령이 바로 적용됩니다.
- Table Filters : 오브젝트 탐색기의 테이블 목록을 필터링 합니다. 즉, 보여주지 않아야 할 테이블 목록을 감출수 있습니다.
- Profile : SQL Editor에서 사용자 쿼리를 저장 합니다. 저장시에는 쿼리, 총 시간, 성공유무 등을 저장합니다.
- Show Tables : 오브젝트 탐색기의 테이블 목록을 보여줄지 여부를 설정합니다. 테이블 갯수가 1천개 이상이거나 할때 유묭합니다.
- SELECT가 아닌SQL 문은 확인 후 실행 : SQL Editor에서 SELECT 문이 아닌 문장을 실행 할때 사용자가 에게 실행 해도 되는 지 묻습니다.
- 입력 된 DB를 테스트, 저장, 취소합니다.
- Test Connection : 2.에 입력한 정보가 올바른지 DB를 연결해서 결과를 보여 줍니다.
- 확인 : DB를 등록 합니다.
- 취소 : DB 등록을 취소합니다.
주의) SQLite 인 경우 Tadpole DB Hub가 설치 된 곳의 로컬 디렉토리의 절대 패스입니다. 사용자 컴퓨터가 아니니 주의 해야 합니다.
DB를 등록하면 '데이터베이스 목록' 창에 입력한 그룹에 표시됩니다. 또한, DB의 SQL Editor창이 열립니다.
- DB는 'DB아이콘 [D] 등록이름 (개정정보)' 표시 됩니다.
- 첫 번째는 DB의 종류입니다.
- [D]는 Developer Server의 약어입니다. Production Server는 [P]로 표시되면 Others Server는 [O]로 표시됩니다.
- 등록했던 이름 입니다.
- 등록했던 DB의 계정 정보입니다. (사용자 권한의 유저는 보이지 않습니다)
- DB를 선택하면, '오브젝트 탐색기'에 Object(예를 들어. 선택된 DB의 Tables, Views, Indexes, Procedures, Functions, Trigger 등을 관리합니다.)가 표시됩니다.
- DB를 더블 클릭하면 SQL Editor창이 열립니다.
- DB를 선택 후 마우스 오른쪽 버튼을 클릭하면 사용자 권한의 엑션이 표시 됩니다.
- Refresh : '데이터베이스 목록'창을 최신 정보로 갱신합니다.
- SQL 쿼리 창 : SQL Editor 창이 열립니다.
- Administer -> Session List : DB의 Session List를 보여줍니다.
- Administer -> Delete Database : DB를 삭제합니다. 모든 사용자의 DB가 삭제되니 신중하게 선택해야 합니다.
- ERD -> 모든 테이블 ERD : DB의 모든 테이블의 관계를 보여줍니다.
- ERD -> ERD 기본창 생성 : ERD을 그릴 수 있는 창이 생성 됩니다. 사용자는 '오브젝트 탐색기'에서 테이블들을 가져다 놓을수 있습니다.
- DML 생성 : CREATE TABLE, VIEW, Index, Procedure, Function, Trigger 문의 템플릿을 SQL Editor에 표시합니다.
'데이터베이스 목록'에서 DB가 선택되면, Table, View, Indexes, Procedures, Functions, Triggers가 표시됩니다. (DB마다 틀립니다)
다음의 설명은 Tables을 예로 설명하며 다른(Views, Indexes, Procedures..) Object에도 동일하게 적용됩니다.
- Table 이름을 검색합니다.
- 검색하려는 Object 이름을 타이핑 후에 엔터를 치면 검색합니다.
- 대소문자 구분하지 않고 검색합니다.
- Table 이름, 설명을 보여줍니다. Table이름을 클릭하면 3.에 컬럼리스트를 보여 줍니다.
- Table 이름을 더블 클릭하면 테이블의 Select 문이 SQL Editor창에 보여줍니다.
- Table 이름에 마우스를 대고 있으면 코멘트가 툴팁으로 표시 됩니다.
- Oracle, MSSQL DB는 Comment를 수정 하실수 있습니다.
- 2에서 선택 된 Table의 Column정보를 보여줍니다.
- Oracle, MSSQL DB는 Comment를 수정 하실수 있습니다.
- Procedure는 Procedure 실행 버튼이 존재 합니다. [다음]
Table을 선택하고 마우스 오른쪽 버튼을 누르면 다음과 같은 기능이 있습니다. (사용자의 권한에 따라 사용할 수 있는 동작이 틀려집니다)
- Create Table : Template에 있는 테이블 생성 문이 SQL Editor에 생성됩니다.
- Drop Table : 선택된 Table을 삭제합니다.
- Refresh Table : Table 목록을 최신으로 갱신합니다.
- Generate Sample Data : Oracle인 경우 선택된 Table에 셈플 데이터를 입력하는 다이얼로그가 생성됩니다.
- Generate Statement : Select : 선택된 Table의 Select문이 SQL Editor에 생성됩니다.
- Generate Statement : Insert : 선택된 Table의 Insert문이 SQL Editor에 생성됩니다.
- Generate Statement : Update : 선택된 Table의 Update문이 SQL Editor에 생성됩니다.
- Generate Statement : Delete : 선택된 Table의 Delete문이 SQL Editor에 생성됩니다.
- View DDL : 선택된 Table의 DDL 문이 SQL Editor에 생성됩니다.
- Table Data Editor : 해당 테이블 직접 수정 화면이 나와 테이블 데이터를 직접 수정할 수 있습니다.
SQL Editor는 사용자가 실제 쿼리문을 실행하는 창입니다. '데이터베이스 목록'에서 DB를 더블 클릭하거나, '오브젝트 탐색기'에서 테이블을 더블 클릭 하거나, 템플릿을 실행하면 SQL Editor창을 사용할 수 있습니다. SQL Editor 창에서는 Query를 구분하는 단위는 ;입니다. Procedure를 생성하면 ;가 여러개 생성되어 규칙에 위배 되는데, 이런 경우는 마우스로 블럭을 지정하여 실행 합니다. SQL Editor 창에서 Ctrl + Space(Mac은 Command + Space)를 누르면 테이블 목록이 나옵니다.
-
SQL Toolbar : 2.의 Query 창에서 자주 실행하는 명령을 모아 놓았습니다.
-
Toolbar는 순서대로 다음과 같은 기능을 가지고 있습니다.
- SQL Editor창이 연결되 DB 정보가 보여집니다.
- SQL Editor의 쿼리를 실행합니다. Query창에 블럭이 되어 있다면 블럭된 쿼리를 실행하여 SQL결과 창에 표시합니다.
- SQL Editor의 쿼리를 모두 실행합니다. 많은 쿼리를 한꺼번에 실행해야 할때 유용합니다.
- Execute Plan : Query 창의 쿼리 실행 플랜을 실행하여 SQL결과 창에 표시합니다.
- Format SQL : SQL 쿼리를 사용자가 보기 좋게 정렬합니다.
- SQL to Application : 사용자 쿼리를 Java또는 PHP 문법으로 변화 합니다.
- Download SQL : SQL 창의 쿼리를 로컬 파일로 다운로드 합니다.
- Auto Commit : DDL문을 Auto Commit 모드로 실행합니다.
- Commit : AutoCommit을 실행 했던 이후의 쿼리를 DB에 반영합니다.
- Rollback : AutoCommit을 실행 했던 이후의 쿼리를 취소 합니다.
- 에디터 창의 도움말 을 보여줍니다.
- Query 창 : DML, DDL문을 적어 쿼리를 실행합니다.
- 실행 할 쿼리를 적고 마지막에 ;를 적어 줍니다. 만약에 ; 문자가 없을 경우 올챙이는 ;문자를 만나거나 ;문자가 없다면, 에디터의 모든 쿼리를 하나로 실행할 것입니다.
- 에디터에 블럭으로 선택하고 실행 하면, 올챙이는 블럭의 시작부터 종료까지 하나의 쿼리로 실행합니다. 이것은 Procedure 생성 같은 경우에 유용하게 적용됩니다. 또는, 쿼리 중간에 있는 부분 쿼리를 수행할때도 유용합니다.
- SQL Editor에서 지원되는 단축키는 다음과 같습니다.
- Windows, Linux 계열은 Ctrl키, Mac은 Command키 입니다.(아래 단축키는 편의상 원도우 기준으로 설명합니다.)
- 단축키 도움말은 이클립스 처럼 Ctrl + Shift + l 입니다.
- 저장 : Ctrl + S
- 쿼리실행 : Ctrl + enter, F5
- 실행플랜 : Ctrl + E
- 쿼리 정렬 : Ctrl + Shift + F
- 실행한 쿼리창 이동: Ctrl + H
- 블럭 지정한 부분을 소문자로 변환 : Ctrl + Shift + Y
- 블럭 지정한 부분을 대문자로 변환 : Ctrl + Shift + X
- 단축키 도움말 창 보기 : Ctrl + Shift + L
- 에디터의 모든 내용 지우기 : F7
- 에디터의 모든 내용 선택 : Ctrl + A
- 에디터의 특정 라인으로 이동 : Ctrl + L
- 블럭 지정한 부분을 복사 : Ctrl + C
- Ctrl + C했던 부분을 붙여넣기 : Ctrl + V
- 테이블 목록 보기 : Ctrl + Space
- 커서가 위치한 라인 지우기 : Ctrl + D
- SQL 결과
- 쿼리 결과 : SQL 실행 결과가 표시 됩니다. 결과 테이블의 컬럼을 더블 클릭하면 해당 데이터가 팝업으로 표시 됩니다. Export CSV Data 버튼을 클릭하면 데이터를 로컬 파일로 떨어 트립니다. 아래 그림에서보면 city=r이라고 검색하면 city컬럼에 r이라고 들어간 모든 항목을 검색합니다. 컬럼명을 입력하지 않으면 전체 컬럼을 검색합니다.
- 실행 한 쿼리 : 현재 창에서 실행 된 쿼리와 쿼리 결과 정보가 표시 됩니다. SQL 불러오기를 클릭하거나, 쿼리를 더블 클릭하면 쿼리가 SQL Editor에 들어 갑니다. '자세하게 보기'는 쿼리를 다이얼로그화면에 보여줍니다. '내보내기'는 실행한 쿼리 데이터를 로컬 파일로 저장할 수 있습니다. '지우기'는 쿼리 데이터를 지웁니다. 'Refresh'버튼은 이전에 쿼리를 실행 한 모든 쿼리에 대해 검색하고 가져옵니다.
- 메시지 : 쿼리 실행 중에 오류가 나면 이 창에 표시가 됩니다. 데이터를 내보내거나 더블클릭하면 자세한 항목을 볼 수 있습니다.
ERD는 '데이터베이스 목록'에서 디비를 선택하고 툴바의 ERD를 선택하거나 , 디비 선택후 마우스 오른쪽 버튼을 눌러서
실행 할 수가 있습니다.
- 모든 테이블을 ERD : 해당 DB의 모든 테이블을 ERD 에디터에 배치합니다.
- ERD 기본창 생성 : 사용자가 원하는 테이블 만 ERD로 배치 할 수 있도록 ERD 에디터가 열립니다. 사용자는 원하는 테이블을 '오브젝트 탐색기'의 Tables에서 마우스로 선택하여 에디터 창으로 끌어 오면 됩니다.
테이블 자동 정렬은 에디터 창에서 마우스 오른쪽 버튼을 누르면 팝업이 뜨는데 '트리형식으로 자동레이아웃' 을 클릭하면 사용자가 좀더 편하게 정렬이 됩니다.
-
환경설정은 크게 에디터 창에서 마우스 오른쪽 버튼을 눌러 'Tree Auto Layout' 버튼을 클릭하면 보기 편하게 정렬이 됩니다.
-
General 텝에서는 Session과 export할때 분리자 정보를 입력합니다.
-
MongoDB 텝에서는 디폴트 Limit 카운트, Max Count 정보를 설정합니다.
-
RDB 텝에서는 select 한도 값, page count 값등을 설정합니다.
-
User 텝에서는 사용자 페스워드를 수정합니다.
- 로그인 화면에서 신규등록 버튼을 클릭하여 주십시오.
사용자는 특정 그룹에 속해 있어야 합니다.
- 유저타입 : 메니져 : 사용자 그룹을 생성 합니다. 생성자가 메니져 권한을 갖게됩니다. 메니져는 DB, 사용자의 추가, 삭제를 할 수 있습니다. 추간 될 그룹 구성원들과 디비 및 사용자 쿼리, ERD 등을 공유 하여 사용합니다. 메니져는 어드민의 허락이 있어야 시스템 사용이 가능합니다.(시스템이 test 모드일 경우 자동 허락 됩니다)
- 유저타입 : DBA : 그룹의 DBA 사용자 입니다. DBA는 DB의 생성 삭제 이외의 모든 기능을 할 수 있습니다.
- 유저타입 : 유저 : 일반 사용자를 등록합니다. 사용자는 일부 기능 제약이 있습니다.
모든 사용자는 자신의 상위 권한을 갖는 사용자의 허락이 있어야 정상 사용가능합니다.
- 테이블의 primary key가 있는 경우만 수정 가능합니다.
- where는 테이블을 디비에서 다시 조회합니다.
- filter는 현재 화면에서 필터링합니다.
- 데이터 수정은 수정하려는 컬럼을 클릭하면 에디트 상태로 변경됩니다.
- 데이터 수정이 끝나면 저장 버튼을 눌러서 데이터를 저장합니다.
- Oracle, MariaDB, MySQL, MSSQL은 Procedure를 실행할 수 있습니다.
- Procedure는 파란색 아이콘이 나오면 정상이며, 노란색 아이콘은 비 정상적인 상태이며 객체간 의존성문제나 문법 오류로 인해 실행 할 수 없는 상태임을 표시합니다. View DDL기능을 이용하여 해당 객체의 오류를 수정하고 다시 컴파일 할 수 있습니다.
- 더블클릭을 누르거나 파업 창 'Execute Procedure'를 누르면 실행 창이 나옵니다.
- MariaDB, MySQL은 Session List를 볼수 있습니다.
Session List는 DB에서 실행 중인 Session 목록이 나옵니다. 장시간 실행 중인 쿼리나 비정상적인 쿼리를 종료 할수 있습니다.
- Session List에서 실행할수 있는 기능을 모아 놓았습니다.
- 현재실행 중인 쿼리 목록 입니다.
- 2.번의 쿼리를 선택하면, 어떤 쿼리가 실행 중인지 실제 SQL 문이 표시됩니다.
그룹에 사용자 리스트와, DB 리스트를 관리하며 사용자를 추가하거나, 사용중지 상태로 변경 할 수 있습니다. 혹은, 사용자가 실행 했던 쿼리목록을 조회할 수 있으며 이 기능은 관리자와 DBA만 사용 할 수 있습니다.
전체 사용자 리스트가 표시되며 사용자를 더블클릭하면 'Executed SQL Management' 화면이 표시됩니다. 이 화면은 사용자가 실행했던 쿼리를 다시 실행할 수 있습니다.
사용자가 과거에 실행했던 쿼리를 검색할 수 있으며 검색된 쿼리를 더블클릭하면 SQL Editor에 쿼리가 복사되어 테스트해 볼 수 있습니다.