# CHAPTER 1: はじめに

## 1.1 Empress - Empressリレーショナルデータベース管理システム

データベース管理システムはデータを組織し、格納し、検索するためのコンピュータプログラムおよびファイルの統合システムです。

リレーショナルデータベース管理システム(RDBMS) は、関係または テーブルという構造へデータを保存します。 各テーブルはユニークな テーブル名によって識別され、設定されたカラムと可変数の列があります。 カラムは属性と呼ばれます。また、ラベルは属性名で各々に付けられます。与えられた属性のデータ値はすべて整数または文字のような同じタイプで保存され ます。テーブル中の各列は各属性に対する1つのデータ値を備えたレコードと呼ばれます。

テーブルは、データベース中に作成されたり、削除されます。新しいレコードは そのテーブルに追加されたり、更新されたり、削除されます。 最も重要な事は、データは検索条件により、テーブルから検索されるという事です。 この検索条件は、通常与えられたテーブルの属性の1つ以上の値を含んでいます。 例えば、1つの属性がある特定の値を持つ条件で、テーブルからレコードをすべて検索 します。

データベース管理システムへのほとんどのコマンドは、構造化照会言語(SQL) によって実行されます。それは自然言語に形式で類似しています。 構造化照会言語コマンドはしばしば単に"クエリー"と呼ばれます。

Empressは、リレーショナルデータベース管理システムです。 Empressは、英語に似たコマンドを使用して、データベースを作成したり、情報の 照会や管理を行います。 コマンドは、端末から会話形式で使用されたり、ファイルからのバッチ形式で使用され たり、プログラム中に埋め込まれて使用されます。

Empress は、英語に似たSQL言語を使用しているので、使用方法を学習する のが容易です。 一般的に、データの挿入、検索は英語に似たSQL言語によって行なわれます。

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

このマニュアルは、Empressクエリー言語コマンドのためのシンタックス 参照を含んでいます。コマンドログ、データベースローダー、エキスポート/インポート ユティリティ、データディクショナリー、管理変数、ヘルプなど、その他の情報は Empress: Database Administrator's Guideを参照してください。

>このマニュアルでの例題で使用するテーブルは、`personnel`テーブル、 `loans`テーブル、`auto parts`、`customers`テーブルです。 コマンドの出力が示される場合、以前に記述されているコマンドの影響は考慮されません。

このマニュアルの中で与えられた例は、`repairs`というデータ・ベース中の 4つのテーブルをアクセスします。

1. `personnel`テーブルは、通し番号、従業員名、電話番号およびローンの ための限度額をそれぞれ`number`、`name`、`phobe`、 `credit_limit` というフィールド名を持ちます。 `personnel`テーブルは、各従業員に対し1レコード保存しています。
2. `loans`テーブルは、従業員のローンに関する情報を保存するテーブルです。 通し番号、従業員名、ローンを組んだ日付、金額をそれぞれ`number`、 `name`、`date`、`amount`フィールド名を持ちます。 `loans`テーブルには、従業員１人に対して複数レコード存在する事があります。
3. `auto parts`テーブルは、自動車部品に関する情報を保存するテーブルです。 会社名、電話、部品名、部品番号、価格をそれぞれ`supplier`、`phone` 、`part name`、`part no`、`price`というフィールド名で持ち ます。
4. `customers`テーブルは、顧客情報に関する情報を保存するテーブルです。 顧客名、住所、コメントをそれぞれ`name`、`address`、`comments`というフィールド名で持ちます。

4つのテーブルは、以下に示すデータを持ちます。

  *** Table: personnel ***

  number | name | phone | credit_limit
  10 | Kilroy | 426-9681 | $500.00
  5 | Mosca | 544-2243 | $750.00
  17 | Wladislaw | 723-6073 | $50.00
  3 | Jones | 667-2951 | $500.00
  8 | Peterson | 978-6060 | $250.00
  4 | Scarlatti | 961-7363 | $100.00
  9 | Jordan | 964-3335 | $250.00

  *** Table: loans ***

  number | name | date | amount
  5 | Mosca | 2 February 1990 | $150.0
  3 | Jones | 7 February 1990 | $33.95
  10 | Kilroy | 16 February 1990 | $250.00
  17 | Wladislaw | 27 February 1990 | $55.00
  3 | Jones | 3 April 1990 | $25.00
  5 | Mosca | 4 May 1990 | $200.00
  17 | Wladislaw | 12 May 1990 | $25.00
  8 | Peterson | 6 June 1990 | $50.00
  17 | Wladislaw | 25 June 1990 | $75.00
  3 | Jones | 12 August 1990 | $300.00
  4 | Scarlatti | 9 September 1990 | $150.00
  4 | Scarlatti | 14 October 1990 | $125.00

  *** Table: auto parts ***

  supplier | phone | part name | part no. | price
  AAA Automotive | 922-8624 | Hubcap | 9836653 | $18.40
  AAA Automotive | 922-8624 | Fender rubber | 9837521 | $47.95
  AAA Automotive | 922-8624 | Fender chrome | 9837522 | $67.95
  Rick's Repairs | 675-4436 | Spark plugs | 243 | $1.25
  Speedy Body Shop | 643-8994 | Rear wing | 87003 | $75.00
  Speedy Body Shop | 643-8994 | Front wing | 87005 | $79.99
  Rick's Repairs | 675-4436 | Radiator | 493 | $175.00
  Auto Wholesalers | 922-6219 | Spray paint | 2198 | $1.25
  Auto Wholesalers | 922-6219 | Chrome paint | 3286 | $1.99

  *** Table: customers ***

  name | address | comments
  Mr. R. Lucas | 1423 Beach Drive, Bayville, CA 92308 | Can always be sold something new and flashy - like chrome and colored stuff, also little gadgets.
  Mr. J. Phillips | 63 Shore Bvde., Gull Point, CA 92309 | Pays bills 2 months late -- needs to be threatened with a collection agency.
  Mr. B. Wilson | 14 Valley View Drive, Bayville, CA 92308 | Good customer -- give credit if he asks for it.
  Ms. C. Marshall | 12 Berkeley St., Gull Point, CA 92309 | Suggest vacuum & wash; she keeps 3 dogs. Look for dog hair collecting in engine.
  Mr. J. Lee | 3260 Church St., Gull Point, CA 92309 | Father pays bills -- check with R. Lee before accepting a job, but don't let Johnny know you're doing so.

以降の章では、`personnel`、`loans`、`auto parts`、 `customers`テーブルが様々なEmpressの特徴、およびコマンドを例証する ために広範囲に使用されます。

テーブルを作成するために使用されるコマンドおよびシンタックスは、この マニュアル中の`CREATE TABLE`コマンドで 参照できます。