mSQL 用に改良する
mSQL はスケールダウンされたデータベース マネージャなので(実際、MySQL と mSQL をデータベース管理
システ
ムといってよいのか疑問に思うかもしれない)、SQL の機能のうち大部分は削られており、きわめて限られた
SQL サ
ブセットのみを受け付ける。したがって、mSQL のスクリプトはかなり異なったものになる。
DROP TABLE BOOK
CREATE TABLE BOOK (
ARTICLE_NO INTEGER NOT NULL,
AUTHOR_FIRST_NAMES CHARACTER(30),
AUTHOR_LAST_NAMES CHARACTER(30),
TITLE CHARACTER(30),
ISBN CHARACTER(13),
WHOLESALE_PRICE MONEY,
RETAIL_PRICE MONEY,
COPIES_AVAILABLE INTEGER
)
DROP TABLE CUSTOMER
CREATE TABLE CUSTOMER (
CUSTOMER_NO INTEGER NOT NULL,
FIRST_NAMES CHARACTER(30),
LAST_NAMES CHARACTER(30),
STREET CHARACTER(30),
HOUSE_NO SMALLINT,
POSTCODE CHARACTER(7),
TOWN CHARACTER(30),
ISO_COUNTRY_CODE CHARACTER(2)
)
DROP TABLE BOOKORDER
CREATE TABLE BOOKORDER (
ORDER_NO INTEGER NOT NULL,
CUSTOMER_NO INTEGER NOT NULL,
ORDERED DATE,
DELIVERY DATE,
STATUS CHARACTER(1)
)
DROP TABLE ORDER_POSITION
CREATE TABLE ORDER_POSITION (
POSITION_NO INTEGER NOT NULL,
ORDER_NO INTEGER NOT NULL,
ARTICLE_NO INTEGER NOT NULL,
NUMBER SMALLINT
)
DROP TABLE RATING
CREATE TABLE RATING (
RATING_NO INTEGER NOT NULL,
ARTICLE_NO INTEGER NOT NULL,
SCORE SMALLINT,
COMMENT TEXT(255)
)
ほとんどすべての制約が削除され、NUMERIC と CHARACTER VARYING は、それ
ぞれ
MONEY と TEXT に置き換えられた。
mSQL のモニター プログラムには困った欠陥がある。標準入力から流し込まれた SQL スクリプトを受け付
けない
ようなのだ。したがって、コードをカットアンドペーストする必要がある。mSQL はセミコロンについてもエラ
ーを出す
。結局、私は g ("go" スラッシュ コマンド) でそれぞれを区切って、コマンドを 1 つずつ流
し込む
はめになった。
次は
テストクライアントを実装する
>>