目次に戻る データベースの構築

アプリケーションの開発に欠かせないのがデータです。そのデータ(テーブル)の集まりを格納しているものがデータベースです。
データベースは、アプリケーションからは独立して管理されており、必要に応じて複数のコンピュータからデータベースにアクセスし、データの検索・取得・更新などを行うことができます。

例えば、書籍管理のアプリケーションを開発するには、書籍テーブル・著者テーブル・ジャンルテーブル・出版社テーブルなどのように、分類したテーブルで管理することができます。

ここでは、NOMAD(IntraNomad)を用いたデータベースを作成する方法を説明します。


スキーマファイルの作成
データを格納するための各テーブルの内容・構造を、どのように定義すればよいのかを記述します。スキーマは拡張子がSCHのファイルに保存します。

まず、NOMADコマンドウィンドウからEDITコマンドでシステムエディタを表示し、エディタ上でスキーマを記述し保存します。(EDITで拡張子 .schを指定しなければ、 .nomとして認識されます。)
ここでは、「BOOKSHOP.SCH」というスキーマファイルを作成します。

EDIT BOOKSHOP.SCH ;
このとき開かれるウィンドウ上で、テーブルの内容・構造を定義します。

例:[bookshop.sch]

MASTER BOOKS KEYED=BNUM ;
ITEM BNUM AS 9999 HEADING '管理番号';
ITEM BTITLE AS A25 HEADING '書籍名' ;
ITEM BAUTHOR_NUM AS 9999 HEADING '著者番号' ;
ITEM BPRICE AS 999,999 HEADING '値段' ;

MASTER AUTHORS KEYED=ANUM ;
ITEM ANUM AS 9999 HEADING '著者番号' ;
ITEM ANAME AS A25 HEADING '著者名' ;


例えば、上のスキーマファイルの場合、「BOOKS」・「AUTHORS」という2つのテーブルを定義しています。
「BOOKS」テーブルでは書籍の情報を管理し、「AUTHORS」テーブルでは著者の情報を管理するとします。
各テーブルには、最低でも1つのキー項目が必要です。キー項目となるものを、マスター名の後にある「KEYED=」に記述します。

以下のコマンドも参照してください。
 EDIT
 MASTER
 ITEM


SCHEMA NEWを行う
NOMADのコマンドラインより以下のように入力し、データベースを作成します。
なお、以下の例は、NDB(NOMAD上で独自に持たれるローカルデータベース)の初期化を行います。
SCHEMA NEWを行うことで、使用するデータベースを新規に作成します。
「BOOKSHOP」が、先ほど例に挙げたスキーマファイルのファイル名です。これがデータベース名となります。

SCHEMA BOOKSHOP NEW ;
ORACLEなどの外部のデータベース(リモートデータベース)にアクセスしたい場合、以下のように記述します。
REMOTE文でのCCCCがアクセス先のサーバー名、AAAAがユーザーID、BBBBがパスワードをあらわします。

REMOTE ORA ORACLE USERID AAAA PASSWORD BBBB SERVICENAME CCCC ;
SCHEMA BOOKSHOP NEW REMOTE ORA ;
リモートデータベースでSCHEMA NEWを行う場合は、REMOTE文を記述し(ここではREMOTE名は「ORA」)、SCHEMA NEWの後にそのリモート名を記述する必要があります。
REMOTEについては、ヘルプ目次のインターフェースを参照してください。

SCHEMAコマンドは、データベースの新規作成時(SCHEMA NEW)、データベース構造の変更時(SCHEMA CHECKもしくはSCHEMA REORG)、およびデータベースを破棄するとき(SCHEMA DELETE)に主に使用されます。

以下のコマンドも参照してください。
 SCHEMA


データベースを起動
データベースに実際にアクセスする前に、まず、使用するデータベースを起動する必要があります。
正常にデータベースが起動しているかどうかテストします。
SLIST ;
SLISTを行うことで、現在起動中のデータベースのスキーマ内容がOUTPUTウィンドウに出力されます。

以下のコマンドも参照してください。
 
DATABASE
 SLIST


データベース上の各テーブルにデータを格納
データを操作する手段としては、データ追加(INSERT)、テーブル上の位置指定(LOCATE、TLOCATEなど)、データ変更(CHANGE)、データ削除(DELETE)などがあります。

DATABASEコマンドを使用してデータベースを起動した後は、ローカルデータベース・リモートデータベースに関係なく、また、NDB・ORACLE・SQLServerなどのデータベースエンジンに関係なく、同じ操作でテーブルにアクセスすることができるようになります。
データの追加(INSERT)

INSERT単体で使用する場合は、テーブルの末尾にデータが追加されます。
例えば、以下の記述はBOOKSテーブルの末尾に1レコード分データを挿入します。

INSERT BOOKS.BNUM=1 BOOKS.BTITLE='本1' BOOKS.BAUTHOR_NUM=1 BOOKS.BPRICE=360 ;

また、以下のようにしてデータを挿入することもできます。

BOOKS.&BNUM=1 ;
BOOKS.&BTITLE='本1' ;
BOOKS.&BAUTHOR_NUM=1 ;
BOOKS.&BPRICE = 360 ;
INSERT BOOKS ;


テーブル上の位置指定(TLOCATE)

TLOCATEによって、指定のキー項目の位置に移動します。
TLOCATEは、TOPとLOCATEを合わせた動作をします。

BOOKSテーブルのbnum(キー項目である必要があります)が1の位置に移動します。

TLOCATE BOOKS.BNUM=1 ;

この移動の後にDELETEやCHANGEを行うことにより、指定のレコードに変更を加えることができます。
位置を変更するコマンドは、LOCATE・TLOCATEのほかに、FIRST・NEXT・PREVIOUS・LAST・TOPなどがあります。


指定レコードの変更(CHANGE)

TLOCATEなどで位置移動後にCHANGEを行うことで、指定レコードの指定項目を変更することができます。ただし、キー項目は変更できません。

TLOCATE BOOKS.BNUM = 1 ;
CHANGE BOOKS.BTITLE = '書籍1' BOOKS.BPRICE = 400 ;



指定レコードの削除(DELETE)

TLOCATEなどで位置移動後にDELETEを行うことで、指定レコードを削除することができます。

TLOCATE BOOKS.BNUM = 1 ;
DELETE BOOKS ;


以下のコマンドも参照してください。
 INSERT
 LOCATE、TLOCATE
 FIRST
 NEXT
 PREVIOUS
 LAST
 TOP
 CHANGE
 DELETE


データベースを削除する

作成したデータベースを削除する場合、SCHEMA DELETEを行います。
以下のコマンドも参照してください。
 SCHEMA