데이터베이스 작성 및 채우기

다음 지시사항에서는 DB2 Universal Database를 사용하고 있는 것으로 가정합니다. RESERVDB 테이블을 작성하고 액세스할 때 다음 사항을 염두에 두십시오.

다음 스크립트는 Airline Reservations 샘플에 대한 데이터베이스를 작성하고 채웁니다.

CREATE DB RESERVDB
CONNECT TO RESERVDB
BIND '%DB2TEMPDIR%\bnd\@db2cli.lst' blocking all grant public
CATALOG SYSTEM ODBC DATA SOURCE RESERVDB
CONNECT RESET
CONNECT TO RESERVDB
DROP TABLE XMLFLIGHTTB
CREATE TABLE XMLFLIGHTTB (FLIGHTDATE CHAR(8) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, ECONOMICCLASS INTEGER NOT NULL, FIRSTCLASS INTEGER NOT NULL, TOTALECONOMIC INTEGER NOT NULL, TOTALFIRST INTEGER NOT NULL, ECONOMICPRICE INTEGER NOT NULL, FIRSTPRICE INTEGER NOT NULL, STARTPOINT CHAR(20) NOT NULL, ENDPOINT CHAR(20) NOT NULL, RESERVATIONSEQNO INTEGER NOT NULL, CONSTRAINT FLIGHT_UNIQ UNIQUE(FLIGHTDATE, FLIGHTNO))
INSERT INTO XMLFLIGHTTB VALUES('20030218', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030525', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030525', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030219', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0)
DROP TABLE XMLPASSENGERTB
CREATE TABLE XMLPASSENGERTB (LASTNAME CHAR(20) NOT NULL, FIRSTNAME CHAR(20) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, FLIGHTDATE CHAR(8) NOT NULL, CLASSTYPE CHAR(1) NOT NULL, RESERVATIONNO VARCHAR(40) NOT NULL, PRIMARY KEY(RESERVATIONNO))
CONNECT RESET
TERMINATE

이 스크립트를 실행하면 다음 작업이 수행됩니다.

데이터베이스를 작성하고 채우려면 다음을 수행하십시오.

  1. 이 스크립트를 메모장과 같은 텍스트 편집기에 복사하여 붙여넣은 후 파일을 저장하십시오. 파일에 대해 모든 이름을 선택할 수 있으나 다음 지시사항에서는 airlinedb2.sql 파일을 호출했다고 가정합니다.
  2. DB2 명령 창에서 다음 명령을 입력하여 DB2가 시작되었는지 확인하십시오.

    db2start

  3. DB2 명령 창에서 airlinedb2.sql 파일이 있는 폴더로 이동하고 다음 명령을 입력하십시오.

    db2 -vf airlinedb2.sql

    스크립트 실행이 완료될 때까지 기다리십시오. 스크립트를 처음 실행하는 경우 다음 메시지가 표시됩니다. 여기서 DB2ADMIN은 사용자 이름이고 XMLPASSENGERTB는 테이블 이름입니다.

    DB21034E 명령이 유효한 명령행 처리기 명령이 아니므로 SQL문으로 처리되었습니다. SQL 처리 중에 다음 메시지가 리턴되었습니다. SQL0204N "DB2ADMIN.XMLPASSENGERTB"는 정의되지 않은
    이름입니다. SQLSTATE=42704
    이 메시지는 무시하십시오. 이 메시지는 스크립트가 XMLFLIGHTTB 및 XMLPASSENGERTB 테이블을 작성하기 전에 이 이름을 가진 모든 기존 테이블을 제거하려고 하지만 스크립트를 먼저 실행하지 않으면 이들 테이블을 찾을 수 없기 때문에 표시됩니다.

  4. DB2 제어 센터를 시작하여 RESERVDB 데이터베이스 및 XMLFLIGHTTB와 XMLPASSENGERTB 테이블을 작성했는지 점검하십시오.

기본 페이지 아이콘   Airline Reservations 샘플 빌드로 돌아가기