# CHAPTER 1: はじめに

## 1.1 概要

Empressは、以下に示した様々なレベルのホスト言語インターフェイスを用意しています。

1. コマンド言語インターフェイス

   コマンド言語インターフェイスは、オペレーティングシステム、 およびプログラム内からSQLコマンドを実行することを可能にします。 コマンド言語インターフェイスには 3 つのタイプがあります。

   - UNIX / Linuxシェルと Windows バッチインターフェイス

     シェルインターフェイスは、UNIX / Linux 環境でのシェルプログラムから Empress 問い合わせ言語コマンドを実行すること可能にします。 バッチインターフェイスは、Windows 環境でのバッチコマンドファイルから Empress 問い合わせ言語コマンドを実行すること可能にします。

   - 標準インターフェイス

     標準インターフェースは、C 言語プログラムからの Empressデータベースのデータおよび Empressが認識可能なダンプファイルの オペレーティングシステムのデータファイルをアクセスするための Empress 問い合わせ言語コマンドを実行すること可能にします。

   - SQL プリコンパイラ

     SQL プリコンパイラは、C 言語プログラムからの 問い合わせ言語ステートメント（スタティックおよびダイナミックSQLステートメント） を実行し、レコードごとのデータ処理を可能にします。

2. データベース操作言語インターフェース

   データベース操作プロシージャは、データベースへのより細かな レコードアクセスを提供します。このプロシージャは、mxルーチンと mrルーチンで構成されます。 mxルーチンは、比較的簡単に使用することができ、また 柔軟性もあるため、多くののアプリケーションで利用することができます。 mrルーチンは、多少複雑であり、最も低レベルのデータベースアクセス処理を 提供します。 mrルーチンは、mxルーチンで提供された機能では実現できない場合に 利用します。 mxルーチンの詳細は Empress ホスト言語: C インターフェイス - mx ルーチン に提供され、 mrルーチンの詳細は Empress ホスト言語: C カーネルレベルインターフェイス - mr ルーチン に提供されています。

このマニュアルでは、 UNIXシェル、Windows バッチの コマンド言語インターフェイスおよび 標準インターフェイスについて記述しています。 また、 スタティックおよびダイナミック埋め込みSQLプログラミングについては、 Empress ホスト言語: SQL プリコンパイラ を参照してください。

## 1.2 例で使用するデータベース

ホスト言語インターフェイスの解説をするために使用するサンプルのデータベースと して、`repairs`というデータベースを使用します。 このデータベースには、`personnel`と`loans`テーブルが含まれます。 `personnel`テーブルには従業員情報が格納されており、 従業員番号、名前、電話番号、クレジット制限が含まれます。 `loans`テーブルには、従業員のローンについての情報が格納され、 従業員命、ローン手続きをした日付、合計金額の情報が含まれます。 以下に２つのテーブルを作成するために使用したコマンドとテーブルの内容を 示します。

       CREATE TABLE personnel
            (number INTEGER,
             name CHAR (25,1),
             phone CHAR (15,1),
             credit_limit DOLLAR (6,1));

       CREATE TABLE loans
            (name CHAR (25,1),
             date DATE (1),
             amount DOLLAR (6,1));

       *** Table: personnel ***

       number  name          phone      credit_limit

       10      Kilroy        426-9681        $500.00
        3      Jones         667-2951        $500.00
        5      Mosca         544-2243        $750.00
       17      Wladislaw     723-6073        $200.00
        8      Peterson      978-6060        $250.00
        4      Scarlatti     961-7363        $100.00

       *** Table: loans ***
       name          date                   amount

       Mosca          2 February 1992      $150.00
       Jones          7 February 1992       $33.95
       Kilroy        16 February 1992      $250.00
       Wladislaw     27 February 1992       $55.00
       Jones          3 April 1992          $25.00
       Mosca          4 May 1992           $200.00
       Wladislaw     12 May 1992            $25.00
       Peterson       6 June 1992           $50.00
       Wladislaw     25 June 1992           $75.00
       Jones         12 August 1992        $300.00
       Scarlatti      5 November 1992      $120.00

このマニュアルでは、これらのテーブルを使用した例を示めすため、 これらの２つのテーブルを含むデータベースを作成することを推奨します。 ただし、既に使用されているデータベースディレクトリ環境下での データベースアプリケーションの実行およびテストをしないよう 別のディレクトリで作業するようにしてください。 これは、アプリケーションが新しいファイルを作成する場合、 データベースファイルを壊す危険を少なくするためです。

## 1.3 参考

このマニュアルの対象者として、C プログラミング言語、およびUNIX シェル、 バッチコマンドを理解し、またデータベースの基本的な概念を持っていること を前提にしています。 もし、そうではない場合は、次項に 推奨する参考文献を示しましたので そちらを参考にしてください。 このマニュアルは、 一般的なプログラミングおよび Empressのアプリケーションの作成についての 一般的なガイドではなく、 あくまでも、 C 言語、UNIX シェル、バッチからの Empressにアクセスするためのリファレンス であり、特定のガイドをする目的で記述されています。

すべてのUNIXシェルの例は、 Bourne シェルに基づいています。 すべてが単純なシェルサンプルであり、 UNIX シェルに親しんでいるのであれば、簡単に理解できます。

### 1.3.1 参考文献 - UNIX

- Bourne, S. R. (1978). "An Introduction to the UNIX Shell." The UNIX Programmer's Manual, Vol. 2, B. W. Kernighan & M. D. McIlroy (editors), Bell Telephone Laboratories, Inc., Murray Hill, New Jersey.
- Date, C. J. (1977). An Introduction to Database Systems. Addison-Wesley, Reading, Mass., 3rd. ed.
- Kernighan, B. W., & Ritchie, D. M. (1978). The C Programming Language. Prentice-Hall, Inc., Englewood Cliffs, New Jersey 07632.
- Kernighan, B. W. & Ritchie, D. M. (1978). "UNIX Programming Second Edition." The UNIX Programmer's Manual, Vol. 2, B. W. Kernighan & M. D. McIlroy (editors), Bell Telephone Laboratories, Inc., Murray Hill, New Jersey.
- Tsichritzis, D. T., & Lochovsky, F. H. (1977). Database Management Systems. Academic Press.

### 1.3.2 参考文献 - Windows

- Date, C.J. (1977). An Introduction to Database Systems. Addison-Wesley, Reading, Mass., 3rd ed.
- Tsichritzis, D. T., & Lochovsky, F. H. (1977). Database Management Systems. Academic Press.
- Disk Operating System Reference, from International Business Machines.
- VC++ 4.0 On-Line Help from Microsoft Corporation.