MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/07/22
Microsoft Data Engine FunClub
Since 2000.07.22
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻)
【第2章185p 〜 187p掲載】

-- [DDL系SQL文の基礎(例題9)EX3-08.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
--   指定されたファイルグループにテーブルを記憶させます
--   EX3-05.SQL であらかじめデータベースを作成してください

-- これから操作する既定のデータベースを MyTestDB にします
    USE MyTestDB
GO

-- ( 件処理されました)のメッセージの表示を抑止します
    SET NOCOUNT ON
GO

-- 既存の社員表と商品表を削除します
    IF EXISTS (SELECT name FROM sysobjects
                      WHERE name = '社員' AND type = 'U ' )  
      BEGIN
           DROP TABLE 社員
      END

    IF EXISTS (SELECT name FROM sysobjects
                      WHERE name = '商品' AND type = 'U ' )  
      BEGIN
           DROP TABLE 商品
      END
GO

-- ************************************************
-- [社員]テーブルをプライマリファイルグループに作成
-- ************************************************
    CREATE TABLE  社員
    (
      社員コード    int  NOT  NULL  CONSTRAINT PK_社員表 PRIMARY KEY ,  
      フリガナ      varchar(80)  CHECK( フリガナ <> '' )   ,
      氏名          varchar(40)  NOT NULL  CHECK(  氏名 <> '' )  ,
      在籍支社      varchar(20)  CHECK(  在籍支社 <> '' ) ,
      部署名        varchar(30)  CHECK(  部署名 <> '' ) ,
      誕生日        datetime     CHECK(  誕生日 < GETDATE() ) ,
      入社日        datetime      ,
      自宅郵便番号  varchar(10)  CHECK(  自宅郵便番号 <> '' ) ,
      自宅都道府県  varchar(40)  CHECK(  自宅都道府県 <> '' )   ,
      自宅住所1     varchar(60)  CHECK(  自宅住所1  <> '' )  ,
      自宅住所2     varchar(60)  CHECK(   自宅住所2 <> '' ) ,
      自宅電話番号  varchar(24)   CHECK(    自宅電話番号 <> '' ) ,
      内線          varchar(4)    CHECK(    内線 <> '' ) ,
      写真          image         ,
      プロフィール  text   
    )
    ON [PRIMARY]            -- テーブル一般の記憶場所
    TEXTIMAGE_ON [PRIMARY]  -- text,ntext,image型の記憶場所
                            -- PRIMARY と言う単語はシステム予約語なので、[]で囲むこと


-- 検索用インデックスの記憶場所も定義できます
    CREATE INDEX IDX_氏名         ON 社員( 氏名 )         ON [PRIMARY]
    CREATE INDEX IDX_自宅郵便番号 ON 社員( 自宅郵便番号 ) ON [PRIMARY]
    CREATE INDEX IDX_自宅電話番号 ON 社員( 自宅電話番号 ) ON [PRIMARY]
    PRINT '[社員]テーブルを作成しました'
GO



-- ************************************************
--  [商品]テーブルを GROUP2 ファイルグループに作成
-- ************************************************
    CREATE TABLE 商品
    (
      商品コード   int NOT NULL CONSTRAINT PK_商品 PRIMARY KEY ,
      フリガナ     varchar(80) CHECK( フリガナ<> ''),
      商品名       varchar(40) NOT NULL ,
      仕入先コード int ,
      区分コード   int ,
      梱包単位     varchar(20) CHECK( 梱包単位<> ''),
      単価         money    DEFAULT 0  CHECK(  単価 >= 0 ),
      在庫         smallint DEFAULT 0  CHECK(  在庫 >= 0 ),
      発注済       smallint DEFAULT 0  CHECK( 発注済 >= 0 ),
      発注点       smallint DEFAULT 0  CHECK( 発注点 >= 0 ),
      生産中止     bit    DEFAULT 0 ,
    )
    ON GROUP2     -- テーブル一般の記憶場所

-- [重複あり]インデックスの作成(ファイルグループ GROUP2 )
    CREATE INDEX IDX_商品名       ON  商品(  商品名 )      ON GROUP2 
    CREATE INDEX IDX_仕入先コード ON  商品( 仕入先コード ) ON GROUP2 
    CREATE INDEX IDX_区分コード   ON  商品(  区分コード  ) ON GROUP2
    PRINT '[商品]テーブルを作成しました'
GO
















技術評論社の書籍ガイドへ
上巻:ISBN4-7741-0965-7

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません