InterBase 인터베이스 데이터베이스와 테이블 생성하기
2016.01.07 13:58
인터베이스 데이터베이스 생성하기
1, IB Console 실행(시작버튼 > 모든 앱 > Embarcadero Interbase (버전))
2, 좌측 트리메뉴에서 Local Server를 선택 후 메인메뉴 에서 Database > Create Database 메뉴를 선택하고, 아래와 같이 입력 후 OK 버튼을 눌러 데이터 베이스를 생성합니다.
- File Name : 데이터베이스 파일을 저장할 경로와 데이터베이스 파일명을 입력합니다.
- Create on behalf of user : 계정 아이디
- Password of user : 계정 비밀번호
(아이디와 비밀번호 기본 값 : sysdba / masterkey)
3, 데이터베이스가 생성되면, 접속 창이 표시됩니다. 앞에서 입력한 계정을 입력 후, Display Character Set을 UTF8로 선택 후 Connect 버튼을 눌러 접속합니다.
테이블 생성하기 - IB Console IDE 이용
1, IB Console에서 데이터베이스 연결 후 좌측 트리메뉴에서 Tables 항목 선택 후, 우측 화면에서 우측 마우스 팝업 메뉴 중 Create ... 메뉴를 선택 합니다.
2, 테이블 명(Table Name)과 설명(Description) 입력 후 Add field 버튼을 클릭 해 필드를 추가합니다.
3, 필드 명 입력 후 Specified Datatype 항목 선택 후 Edit Data Type 버튼을 클릭 해 데이터 타입을 선택 합니다.
(VARCHAR(문자열) 입력 시 한글을 입력하려면 Character Set을 UTF8로 선택합니다.)
4, 원하는 필드를 모두 추가 후 제약조건을 추가 후 OK 버튼을 눌러 테이블을 생성합니다.
테이블 생성하기 - SQL Editor 이용
1, IB Console 메인메뉴에서 Tools > Interactive SQL ... 메뉴를 선택합니다.
2, 생성쿼리를 입력 후 메인메뉴에서 Query > Execute(F5) 메뉴를 선택 해 실행해 테이블을 생성합니다.
(VARCHAR(문자열) 입력 시 한글을 입력하려면 Character Set을 UTF8로 선택합니다.)
예제 SQL>
/* 테이블 생성 */ CREATE TABLE BOOK_LOG ( BOOK_SEQ INTEGER NOT NULL, BOOK_TITLE VARCHAR(50) CHARACTER SET UTF8 NOT NULL, BOOK_AUTHOR VARCHAR(30) CHARACTER SET UTF8 NOT NULL, BOOK_PUBLISHER VARCHAR(30) CHARACTER SET UTF8, BOOK_PHONE VARCHAR(20) CHARACTER SET UTF8, BOOK_WEBSITE VARChAR(100) CHARACTER SET UTF8, BOOK_COMMENT VARCHAR(1000) CHARACTER SET UTF8, BOOK_THUMB BLOB SUB_TYPE 0 SEGMENT SIZE 80, BOOK_IMAGE BLOB SUB_TYPE 0 SEGMENT SIZE 80, CONSTRAINT BOOK_SEQ_PK PRIMARY KEY ("BOOK_SEQ") );
기본 키 자동증가 설정
GENERATOR를 이용해 증가하는 값을 관리하고,
트리거(Before Insert)에서 입력 전 GENERATOR의 값을 이용해 추가될 기본 키 필드에 할당한다.
/* 제너레이터 생성 */ CREATE GENERATOR BOOK_SEQ_GEN; /* 트리거 생성 */ CREATE TRIGGER "SET_BOOK_SEQ" FOR BOOK_LOG ACTIVE BEFORE INSERT POSITION 0 AS BEGIN new.BOOK_SEQ = gen_id(BOOK_SEQ_GEN, 1); END;
댓글 3
-
또보기
2016.12.21 13:58
-
험프리
2016.12.27 16:37
일부 환경에서 기본 캐릭터셋을 UTF8로 데이터베이스 생성 시 오류가 발생합니다.
위 이슈는 데이터베이스 생성 시 기본 캐릭터 셋을 설정하는 대신,
필드 생성 시 캐릭터 셋을 설정하는 방식으로 우회하면 전혀 문제가 되지 않습니다.
해당 아티클도 수정했으니 다시한번 해당 내용 참고해 데이터베이스 생성해 보시기 바랍니다.
-
김원경
2016.12.21 16:05
제가 약간의 차고가 있었나 봅니다. 다시 해보니 동일하게 오류가 납니다. 데이터베이스 생성시는 디폴트로 사용하시고 테이믈 생성시 한글 입력이 필요한 경우에 UTF8로 지정하시고 사용하시면 될 것 같습니다.
IB Console에서 Database Create 할때
Default Character Set에 UTF8로 생성하게 되면
[Access violation at address 00000001 in module 'IBConsole.exe'
Read of address 00000001.]
이란 오류가 발생합니다.
다른 Character Set으로 하면은 괜찮은데...UTF8에는 Delphi 10.1 베를린 Update1, Update2 동히 발생합니다.
왜 발생하고 그 해결 방법을 알고싶습니다.
수고하세요~~