Symfoware/SQLTOOLでは、データベース構築のためのSQL文をrdbexecsqlコマンドで実行できます。
参考
データベース簡単運用では、“データベーススペースの作成”および“格納構造定義”は、不要です。
データベースの構築は、以下の手順で実施します。
以下にファイル指定でデータベースを構築する場合の例を示します。
データベース構築に使用する入力ファイルの内容
-- データベース名の登録 データベース名は“RDBDB” CREATE DATABASE RDBDB; -- データベーススペースの作成 DDLの実行 -- データベーススペース定義 データベーススペース名は“DBSPACE1” CREATE DBSPACE DBSPACE1 ALLOCATE FILE /RDB2/DBS01 ATTRIBUTE SPACE(2M); -- 論理構造の定義 -- スキーマを定義 スキーマ名は“STOCKS” CREATE SCHEMA STOCKS; -- テーブルを定義 CREATE TABLE STOCKS.在庫表 ( 製品番号 SMALLINT NOT NULL, 製品名 NATIONAL CHARACTER(10) NOT NULL, 在庫数量 INTEGER, 倉庫番号 SMALLINT, PRIMARY KEY (製品番号) ); CREATE VIEW STOCKS.大量在庫表(品番,数量) AS SELECT 製品番号, 在庫数量 FROM STOCKS.在庫表 WHERE 在庫数量 >= 50; -- 格納構造の定義 -- 在庫表のDSO CREATE DSO 在庫表DSO FROM STOCKS.在庫表 TYPE SEQUENTIAL(PAGESIZE(4),ORDER(1)); -- 在庫表のDSI -- DSIのフォーマット指定 CREATE DSI 在庫表DSI DSO 在庫表DSO ALLOCATE DATA ON DBSPACE1 SIZE 280K, FORMAT; -- インデックスのDSO CREATE DSO 製品番号IXDSO INDEX ON STOCKS.在庫表 (製品番号) TYPE BTREE ( PAGESIZE1(16),PAGESIZE2(1), REALIGNMENT) BY ADDRESS; -- インデックスのDSI -- DSIのフォーマット指定 CREATE DSI 製品番号IXDSI INDEX DSO 製品番号IXDSO ALLOCATE BASE ON DBSPACE1 SIZE 200K, INDEX ON DBSPACE1 SIZE 40K, FORMAT; -- その他の定義 -- プロシジャを定義 EXEC SQL CREATE PROCEDURE STOCKS.PROC001 ( IN KEY1 INTEGER ) COMMENT '在庫不足の製品の発注依頼' BEGIN DECLARE 在庫数量変数 INTEGER; SELECT 在庫数量 INTO 在庫数量変数 FROM STOCKS.在庫表; : END END-EXEC; -- データベースの創成 DMLの実行 -- データのINSERT INSERT INTO STOCKS.在庫表 (製品番号,製品名,在庫数量,倉庫番号) VALUES (110,N'テレビ',86,2); INSERT INTO STOCKS.在庫表 (製品番号,製品名,在庫数量,倉庫番号) VALUES (112,N'ビデオ',95,3);
rdbexecsqlコマンドの指定例
$ rdbexecsql -s RDBDB -i /home/user/createdb.dat