2017年3月28日火曜日

SQL Server テーブル作成

テーブルとは?

簡単に言うとデータベースの主軸的存在で様々な情報の格納庫のようなものです

例えば社員台帳とか顧客台帳とかをテーブルとして作成します

テーブル構造設計

テーブルを作る前にテーブル構造を設計します
設計といってもテーブルの内容をデザインする「ことです

情報の単位でレコードと言われてますが、そのレコード内で、どんな情報がどんな型で格納するかを決定します
そしてテーブル全体でレコードを一意にするプラマリーキーを設定します

得意先マスター MTOKUIのテーブル設計

例として得意先マスター「MTOKUI」のテーブルを設計します

名称列名総桁数少数桁
得意先コードMTOKUITOKUICDdecimal50
名称MTOKUITOKUINAMEvarchar20
名称カナMTOKUITOKUIKANAvarchar20
郵便番号MTOKUITOKUIYUNOvarchar10
住所1MTOKUITOKUIADR01varchar40
住所2MTOKUITOKUIADR02varchar40
電話番号MTOKUITOKUITELvarchar15
携帯番号MTOKUITOKUIMOBILEvarchar15
メールアドレスMTOKUITOKUIMAILADRtext
FAX番号MTOKUITOKUIFAXvarchar15
生年月日MTOKUITOKUIUMAREvarchar8
記念日MTOKUITOKUIKINENBIvarchar8
記念日備考MTOKUITOKUIKINENBIBIKOvarchar20
家族コードMTOKUITOKUIKAZOKUCDdecimal50
勤務先コードMTOKUITOKUIKINMUCDdecimal50
最終更新日MTOKUITOKUIUPDATEvarchar8
タイムスタンプMTOKUITOKUITIMESTAMPtimestamp

Nullを許可しない
型に準拠した値を初期値とする 文字列は空白「''」 数値は「0」
プライマリーキーは得意先コード「MTOKUITOKUICD」とし重複無し

SQL Serverの詳しいデータ型は☟を参照して下さい
https://msdn.microsoft.com/ja-jp/library/cc716729(v=vs.110).aspx

SQL Server Management Studioを使用してテーブル作成

オビジェクトエクスプローラーの「データベース」の下位層に作成したデータベースを選択します
ここではデータベース「SSSPRODUCT」を選択します
更に下位の「テーブル」を選択して右クリックして「新しいテーブル」を選択します

列名、データ型、Null、Nullを許可、有効桁数と設計した通りに設定します


プライマリーキーを設定します
一番上の行「MTOKUITOKUICD」を選択して右クリック「主キーの設定」を選択して下さい
左側にプライマリーキーを表現するマークが表示されます

作成したテーブルに名前を付けて保存します
現在「Table_1」という名称になっていますので本来の名称に変更します
プロパティウィンドーの上に(ID)下(名前)の「Table_1」を「MTOKUI」に変更します

作成したテーブル「MTOUI」を保存しましょう
メニューバーにある「ファイル」「すべて保存」を選択して下さい
メニューバー「表示」「最新の情報に更新」を選択することでプロジェクトエクスプローラー「データベース」「SSSPRODUCT」「テーブル」の配下に「dbo.MTOKUI」が有ることが確認できます

これでテーブル「MTOKUI」得意先マスターの完成です

SQL文でテーブルを作成する

毎回、SQL Server Management StudioのGUI環境でテーブルを作るのは非効率なので「SQL文」で行う方が現実的です
テーブルを作るSQL文を紹介します
先ほどSQL Server Management Studioで作ったテーブル「MOKUI」得意先マスターをSQL文で作成します
 
USE SSSPRODUCT          

/*  得意先マスター  Table作成   */
CREATE  TABLE   MTOKUI
    (
        MTOKUITOKUICD           decimal(5,0)    NOT NULL    DEFAULT 0,
        MTOKUITOKUINAME         varchar(20)     NOT NULL    DEFAULT '',
        MTOKUITOKUIKANA         varchar(20)     NOT NULL    DEFAULT '',
        MTOKUITOKUIYUNO         varchar(10)     NOT NULL    DEFAULT '',
        MTOKUITOKUIADR01        varchar(40)     NOT NULL    DEFAULT '',
        MTOKUITOKUIADR02        varchar(40)     NOT NULL    DEFAULT '',
        MTOKUITOKUITEL          varchar(15)     NOT NULL    DEFAULT '',
        MTOKUITOKUIMOBILE       varchar(15)     NOT NULL    DEFAULT '',
        MTOKUITOKUIMAILADR      text            NOT NULL    DEFAULT '',
        MTOKUITOKUIFAX          varchar(15)     NOT NULL    DEFAULT '',
        MTOKUITOKUIUMARE        varchar(8)      NOT NULL    DEFAULT '',
        MTOKUITOKUIKINENBI      varchar(8)      NOT NULL    DEFAULT '',
        MTOKUITOKUIKINENBIBIKO  varchar(20)     NOT NULL    DEFAULT '',
        MTOKUITOKUIKAZOKUCD     decimal(5,0)    NOT NULL    DEFAULT 0,
        MTOKUITOKUIKINMUCD      decimal(5,0)    NOT NULL    DEFAULT 0,
        MTOKUITOKUIUPDATE       varchar(8)      NOT NULL    DEFAULT '',
        MTOKUITOKUITIMESTAMP    timestamp,
        PRIMARY KEY(MTOKUITOKUICD)
    )
「USE SSSPRODUCT」カレントデータベースを変更します
「CREATE TABLE」句でテーブルを作成します
「列名」 「型」(桁数)・・・・・の順で記述します
「NOT NULL」Nullを許可しない
「DEFAULT」初期値
「PRIMARY KEY」プライマリーキー設定

このSQL文を実行するとテーブル「MTOKUI」得意先マスターが生成されます

0 件のコメント:

コメントを投稿