테이블 정의서 작성하기 4.0

쓰리래빗츠 북으로 데이터베이스 테이블 정의서를 작성하는 방법을 설명합니다.

JDBC API로 데이터베이스에 연결해서 테이블 정보를 가져옵니다. 이 문서를 이해하려면 JDBC API에 맞게 어떤 정보를 입력해야 하는지를 이해하고 있어야 합니다.

데이터베이스 연결 만들기

데이터베이스 연결 설정

다음 순서로 JDBC API를 이용해서 데이터베이스 연결을 설정합니다.

1

<도구 | 외부 시스템> 메뉴로 이동합니다.

관리 권한이 있는 사용자만 접근할 수 있습니다.

2

<1DB 만들기> 링크를 클릭합니다.

3

내용을 입력한 후 저장합니다.

데이터베이스 연결 정보

내용

설명

필수 여부

시스템 아이디

내용을 업데이트할 때 사용하는 임의의 구분자로 고유해야 합니다. 만든 후에 변경할 수 없습니다.

이름

구분을 위해 임의로 부여하는 데이터베이스 이름입니다. 실제 데이터베이스 이름과는 상관이 없습니다.

JDBC URL

JDBC URL입니다. 오라클이면서 SID를 사용하면 jdbc:oracle:thin:@127.0.0.1:1521:SID, SERVICE_NAME을 사용하면 jdbc:oracle:thin:@127.0.0.1:1521:SERVICE_NAME과 같습니다.

JDBC 사용자 아이디

JDBC 사용자 아이디. 사용자 아이디와 비밀번호 방식 연결만을 지원합니다.

JDBC 속성에서 user로 설정할 수 있습니다.

JDBC 사용자 비밀번호

JDBC 사용자 비밀번호

JDBC 속성에서 password로 설정할 수 있습니다.

JDBC 속성

기타 JDBC 속성을 입력합니다. 속성 이름과 속성 값을 '=' 구분자로 구분합니다.


remarksReporting=true


줄 바꿈으로 여러 속성을 입력할 수 있습니다.


4

JDBC 드라이버 라이브러리 복사

  1. JDBC 드라이버 라이브러리를 3RABBIZ_HOME/tomcat/lib 디렉터리에 복사합니다.

  2. 쓰리래빗츠 북을 재시작합니다.

데이터베이스 관리자 또는 개발자에게 JDBC 드라이버를 요청합니다.

5

데이터베이스 연결 테스트

쓰리래빗츠 북을 재시작한 후 <2테스트> 링크를 클릭합니다.

JDBC 연결에 성공하면 테이블 목록이 보입니다.

테이블 목록을 제한하려면 테이블 이름 필터하기를 참고합니다.

DB 속성

데이터베이스 연결이 가능해지면 데이터베이스 속성 표가 나타납니다. 데이터베이스 이름과 버전 등을 확인할 수 있습니다.

접근 권한 설정

다음 순서로 특정 데이터베이스에 접근할 수 있는 사용자 또는 그룹을 설정합니다.

  1. <1접근 권한 변경> 링크를 클릭합니다.

  2. 그룹 또는 사용자를 선택한 후 <저장> 버튼을 클릭합니다.

    • 글 쓰기 권한이 있는 사용자만 목록에 나타납니다.

데이터베이스 연결 삭제

데이터베이스 연결을 삭제하려면 <1삭제> 링크를 클릭합니다.

삭제한 것과 같은 시스템 아이디로 데이터베이스 연결을 만들면 이전에 가져오기 한 테이블을 다시 동기화할 수 있습니다.

테이블 정의서 만들기

먼저 문서를 만듭니다. 문서를 만드는 자세한 방법은 쓰리래빗츠 북 사용자 가이드를 참고합니다.

  1. <대시보드> 메뉴에서 <책 만들기>를 선택합니다.

  2. 내용을 입력한 후 저장합니다.

  3. 차례 패널에서 <장 만들기> 링크를 클릭합니다.

  4. 내용을 입력한 후 저장합니다.

  5. 장의 <내용 편집> 링크를 클릭해서 에디터를 엽니다.

테이블을 가져오는 방법입니다.

  1. 에디터 오른쪽 위에 있는 <1외부 시스템> 버튼을 클릭합니다.

  2. 2데이터베이스 연결 이름을 선택합니다. 연결을 설정하지 않았거나 접근 권한이 없다면 <DB: 쓰리래빗츠>만이 보입니다(쓰리래빗츠 북 테이블 정보 제공).

  3. 테이블 정의서를 만들 테이블을 선택한 후 <3가져오기> 버튼을 클릭합니다.

선택한 단락이 있다면 선택한 단락 아래에, 없다면 맨 아래에 테이블 이름(제목 1)과 테이블 정의서 표를 추가합니다.

표에 시스템 아이디와 테이블 이름 라벨이 붙습니다. 테이블 정의서를 업데이트할 때 사용합니다.

테이블 가져오기와 관련해서 다음을 참고합니다.

테이블 정의서 업데이트

SQL의 ALTER TABLE 등의 명령어로 테이블을 변경했다면 그 내용을 쓰리래빗츠 북으로 만든 테이블 정의서에도 반영할 수 있습니다.

  1. 에디터를 엽니다.

  2. 에디터 오른쪽 위에 있는 <1외부 시스템> 버튼을 클릭합니다.

  3. <2외부 시스템 단락 업데이트> 버튼을 클릭합니다.

업데이트와 관련해서 다음을 참고합니다.

칼럼 속성 설정 정의

표의 칼럼 속성을 정의하는 방법은 웹 페이지를 참고합니다.

부록

테이블 유형 제한하기

다음 순서로 테이블 목록에 특정 테이블 유형만이 보이도록 설정합니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 jdbc_table_types 값을 추가하고 저장합니다.

  3. <테스트> 링크를 클릭해서 결과를 확인합니다.

DB 속성에서 데이터베이스가 지원하는 테이블 유형을 확인할 수 있습니다.

여러 유형을 지원하려면 쉼표를 구분자로 입력합니다. 예를 들어 테이블과 뷰만을 표시하려면 다음과 같이 입력합니다.

jdbc_table_types=TABLE,VIEW

테이블 이름 필터하기

다음 순서로 테이블 목록에 특정 이름 패턴의 테이블만 보이도록 설정합니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 jdbc_table_name_pattern 값을 추가하고 저장합니다.

  3. <테스트> 링크를 클릭해서 결과를 확인합니다.

예를 들어 오라클 데이터베이스에서 이름이 R_로 시작하는 테이블만을 보여주려면 다음과 같이 설정합니다.

jdbc_table_name_pattern=R/_%

SQL에서 %는 글자 수와 상관없이 모든 글자를, _는 아무 글자 하나를 의미합니다. 따라서 R_%로 설정하면 R_이 아닌 R로 시작하는 테이블이 나타납니다. R_%R%로 설정한 것과 거의 같습니다(이름이 R인 테이블만 제외).

따라서 _ 글자 앞에 탈출문자(Escape Character)를 붙여야 합니다. SQL에서 탈출문자는 데이터베이스마다 다릅니다. DB 속성에서 확인할 수 있습니다.

오라클의 탈출문자는 /입니다. 그래서 R_로 시작하는 테이블만을 보여주려면 _앞에 /를 붙여 R/_%로 설정합니다.

카탈로그 이름으로 필터하기

다음 순서로 테이블 목록에 특정 카탈로그의 테이블만 보이도록 설정합니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 jdbc_catalog 값을 추가하고 저장합니다.

  3. <테스트> 링크를 클릭해서 결과를 확인합니다.

기본 값은 java.sql.ConnectiongetCatalog 메소드 반환 값입니다.

스키마 이름으로 필터하기

다음 순서로 테이블 목록에 특정 카탈로그의 테이블만 보이도록 설정합니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 jdbc_schema 값을 추가하고 저장합니다.

  3. <테스트> 링크를 클릭해서 결과를 확인합니다.

기본 값은 java.sql.ConnectiongetSchema 메소드 반환 값입니다. 이 값도 없을 때는 java.sql.DatabaseMetaDatagetUserName 메소드 반환 값을 사용합니다.

테이블 제목 단락 유형 설정

다음 순서로 테이블 제목 단락 유형을 설정합니다. 기본 값은 heading1(제목 1)입니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 jdbc_table_name_type를 설정한 후 저장합니다.

다음 값을 사용할 수 있습니다.

heading1

제목 1 단락

heading2

제목 2 단락

heading3

제목 3 단락

heading4

제목 4 단락

heading5

제목 5 단락

headline

헤드라인 단락

noraml

보통 단락

none

none으로 설정하면 제목 단락을 만들지 않습니다.

예를 들어 제목 단락을 생략하려면 JDBC 속성에 다음과 같이 입력합니다.

jdbc_table_name_type=none

오라클 DESC 값 가져오기

오라클에서 DESC 명령어로 설정한 칼럼 설명은 JDBC API의 REMARKS 칼럼 속성에 대응합니다. 하지만 기본적으로 DESC 값이 있어도 null을 반환합니다. 다음 순서로 이 값이 보이도록 설정합니다.

  1. <외부 시스템 변경> 링크를 클릭합니다.

  2. JDBC 속성에 remarksReporting을 다음과 같이 추가한 후 저장합니다.

remarksReporting=true

칼럼 정의에 REMARKS를 추가해야 합니다. 자세한 사항은 칼럼 속성 설정 정의를 참고합니다.

문서에 따르면 MS SQL Server는 REMARKS 값으로 항상 null을 반환합니다.

커넥션 풀링 미사용

계속 사용하는 기능이 아니기에 불필요한 자원 낭비를 막기 위해 커넥션 풀링을 하지 않습니다. 연결할 때마다 JDBC 커넥션을 새로 만들고 사용이 끝나면 바로 닫습니다.