この特集のトップページへ
> Chapter 3:データストア層の構築

head2.gif 3.2.8 データベーステーブルのまとめ
 以上で,データベーステーブルは一通り完成したものとする。こままで,データベーステーブルにフィールドを随時追加したり,データベーステーブルを分割したりしてきたので,全体像がわかりにくくなったかもしれない。そこで最後に,決定したデータベーステーブルを一覧で示す。

 このサンプルでは,顧客情報,製品情報,在庫情報,伝票情報,明細情報,伝票追加情報,請求書情報,履歴という7つのテーブルを用いる(Table 3-23〜Table 3-30)。また,各テーブルの相関関係をFig.3-23に図示する。

Table 3-23 顧客情報テーブル

フィールド名

型

サイズ

Null

解説

ID

数値型
(オートナンバー)

―

不可

顧客番号。レコードに対して唯一無二の値を割り当てる

NAME

文字型

64

不可

顧客名

YOMIGANA 文字型 80 可 顧客名のよみがな

ZIP

文字型

10

可

郵便番号

ADDRESS

文字型

255

可

住所

TELEPHONE

文字型

32

可

電話番号

FAX

文字型

32

可

FAX番号

MEMO

文字型

80

可

摘要

BILLDAY 数値型 − 可 請求書を作成する期間の締め日(1〜31)
MADEUSER 文字型 256 不可 この顧客情報を登録したユーザーのアカウント名
MADEDATE 日付型 − 不可 この顧客情報を登録した日時
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-24 製品情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

―

不可

製品番号。レコードに対して唯一無二の値を割り当てる

PRODUCTNAME

文字型

64

不可

製品名

YOMIGANA 文字型 80 可 製品名のよみがな

PRICE

金銭型

―

不可

製品の価格

STOCK

数値型

―

不可

現在の在庫数

MEMO 文字型 80 可 摘要
BACKORDER 数値型 − 不可 在庫のうちすでに予約されている数
MADEUSER 文字型 256 不可 この製品情報を登録したユーザーのアカウント名
MADEDATE 日付型 − 不可 この製品情報を登録した日時
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-25 在庫情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

レコードに対して唯一無二の値を割り当てる

DATE

日付型

−

不可

入庫および出庫の予定日

DUEDATE

日付型

−

可

入庫および出庫が実際に行われた日

CONFIRMEDFLAG Boolean型 − − 入庫および出庫が実際に行われたかどうかのフラグ。行われていればTrue,まだ行われていなければFalse
PRODUCTID

数値型

−

不可

この明細の対象となる製品を示す製品番号。製品情報テーブルのIDフィールドに格納されているいずれかの値が格納される

NUMBER 数値型 − 不可 入庫および出庫の数量。入庫の場合には正の数を,出庫の場合には負の数を格納する
MEMO 文字型 80 可 摘要
SLIPID 数値型 − 可 出庫のとき,この出庫が生じるもととなった伝票の伝票番号。伝票情報テーブルのIDフィールドに格納されているいずれかの値が格納される
MADEUSER 文字型 256 不可 この入出庫情報を登録したユーザーのアカウント名
MADEDATE 日付型 − 不可 この入出庫情報を登録した日時
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-26 伝票情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

伝票を識別するための唯一無二の番号。伝票番号として使われる

CUSTOMERID

数値型

−

不可

この伝票の対象となる顧客を示す顧客番号。顧客情報テーブルのIDフィールドに格納されているいずれかの値が格納される

MADEDATE

日付型

−

不可

伝票の起票日

SUBTOTAL

金銭型

−

不可

小計。この伝票に含まれるすべての注文の金額(税抜)を加えたもの

TAX

金銭型

−

不可

消費税。現状では,小計×1.05

TOTAL

金銭型

−

不可

合計(税込金額)。小計+消費税

BILLID 数値型 − 可 この伝票を集計結果として含む請求書の請求書番号。請求書情報テーブルのIDフィールドに格納されているいずれかの値が格納される
BILLDATE 日付型 − 可 この伝票を集計結果として含む請求書が作られた日
MADEBILLFLAG Boolean型 − − この伝票を集計結果として含む請求書が作られているかどうかのフラグ。Trueで請求書が作られていることを,Falseで作られていないことを示す
ONEBILLFLAG Boolean型 − − この伝票に対して独立した請求書を作るかどうかのフラグ。Trueで独立した請求書を作ることを,Falseで月単位で集計した請求書に含めることを示す
REQ_CONSENTFLAG Boolean型 − − 承認の依頼をしているかのフラグ。Trueで承認依頼中,Falseで承認依頼をまだしていないことを示す
REQ_CONSENTDATE 日付型 − 可 承認依頼をした日
REQ_CONSENTCOMMENT 文字型 80 可 承認依頼時のコメント。営業部上司へのコメントとなる
CONSENTEDFLAG Boolean型 − − 承認したかどうかのフラグ。Trueで承認した,Falseで承認していないことを示す。通常は営業部の上司が設定するが,伝票の取引額が一定以下であり上司の承認が不要である伝票については,システム側でこのフラグをTrueに設定する
CONSENTEDDATE 日付型 − 可 承認された日
CONSENTEDCOMMENT 文字型 80 可 承認の際のコメント
REJECTEDFLAG Boolean型 − − 上司によって却下されたかどうかを示すフラグ。Trueで却下されたことを,Falseで却下されていないことを示す
REJECTEDDATE 日付型 − 可 却下された日
REJECTEDCOMMENT 文字型 80 可 却下理由
SENDFLAG Boolean型 − − この伝票に含まれている製品が発送されたかどうかのフラグ。Trueで発送ずみであることを,Falseで未発送であることを示す
SENDDATE 日付型 − 可 発送日
SENDCOMMENT 文字型 80 可 発送の際のコメント
ACCOUNTINGFLAG Boolean型 − − 経理部がその伝票をチェックしたかどうかのフラグ。チェックしたならばTrue,まだチェックしていなければFalse。このフラグがTrueになると,それが請求書を作成する際に集計の対象となる
ACCOUNTINGDATE 日付型 − 可

経理部が伝票をチェックした日

ACCOUNTINGCOMMENT 文字型 80 可 経理部のコメント
MADEUSER 文字型 256 不可 この伝票を起票したユーザーのアカウント名
REQ_CONSENTUSER 文字型 256 可 この伝票を承認依頼したユーザーのアカウント名
CONSENTEDUSER 文字型 256 可 この伝票を承認したユーザーのアカウント名
REJECTEDUSER 文字型 256 可 この伝票を却下したユーザーのアカウント名
SENDUSER 文字型 256 可 発送処理をしたユーザーのアカウント名
ACCOUNTINGUSER 文字型 256 可 経理処理をしたユーザーのアカウント名
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-27 明細情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

明細を識別するための唯一無二の番号

PRODUCTID

数値型

−

不可

この明細の対象となる製品を示す製品番号。製品情報テーブルのIDフィールドに格納されているいずれかの値が格納される

NUMBER

数値型

−

不可

注文された製品の数量

UNITPRICE 金銭型 − 不可 製品の単価。通常は,製品情報テーブルのPRICEフィールドの値と同じものが格納される
PRICE 金銭型 − 不可 価格。注文された個数(NUMBER)×製品の単価(UNITPRICE)が格納される
MEMO 文字型 80 可 摘要
SLIPID 数値型 − 不可 この明細を含んでいる伝票の伝票番号。伝票情報テーブルのIDフィールドに格納されているいずれかの値が格納される
MADEUSER 文字型 256 不可 この明細情報を登録したユーザーのアカウント名
MADEDATE 日付型 − 不可 この明細情報を登録した日時
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-28 伝票追加情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

レコードを識別するための唯一無二の番号

SLIPID

数値型

−

不可

この情報と結びつけられている伝票の伝票番号。伝票テーブルのIDフィールドに格納されているいずれかの値が格納される

DIVISION 文字型 64 可 顧客側の部署名
PERSON 文字型 64 可 顧客側の担当者名
DELIVERDATE 日付型 − 不可 納入予定日
SENT_ADDR 文字型 255 可 発送先の住所。製品管理部が製品をこの住所に発送する
SENT_TEL 文字型 32 可 発送先の電話番号。製品管理部が製品発送の際の連絡先として用いる
MEMO 文字型 80 可 摘要

MADEDATE

日付型

−

不可

伝票の起票日

MADEUSER 文字型 256 不可 この伝票を起票したユーザーのアカウント名
LASTDATE 日付型 − 不可 最終更新日
LASTUSER 文字型 256 不可 最終更新者のアカウント名
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-29 請求書情報テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

請求書を識別するための唯一無二の番号。請求書番号として使われる

CUSTOMERID

数値型

−

不可

この請求書の対象となる顧客を示す顧客番号。顧客情報テーブルのIDフィールドに格納されているいずれかの値が格納される

STARTDATE 日付型 − 不可 この請求書の集計期間の開始日(この日を含む)
ENDDATE 日付型 − 不可 この請求書の集計期間の終了日(この日を含む)

MADEDATE

日付型

−

不可

請求書の作成日

SUBMITDATE 日付型 − 可 入金の確認日
PAIDFLAG Boolean型 − − 入金があったかどうかのフラグ。Trueで入金ずみ,Falseで未入金を示す
SENDBILLFLAG Boolean型 − − 請求書を送付済みかどうかのフラグ。Trueで送付済み,Falseで未送付を示す

SUBTOTAL

金銭型

−

不可

小計。この請求書の金額(税抜)合計 。STARTDATE〜ENDDATEの期間内の伝票の小計(SUBTOTALフィールド)の和

TAX

金銭型

−

不可

消費税。STARTDATE〜ENDDATEの期間内の伝票の消費税(TAXフィールド)の和

TOTAL

金銭型

−

不可

この請求書の合計(税込金額)。STARTDATE〜ENDDATEの期間内の伝票の合計(TOTALフィールド)の和

MEMO 文字型 80 可 摘要
SUBMITUSER 文字型 256 可 入金を確認したユーザーのアカウント名
MADEUSER 文字型 256 不可 請求書を作成したユーザーのアカウント名
LASTUSER 文字型 256 不可 最終更新者のアカウント名
LASTDATE 日付型 − 不可 最終更新日
DELETEDFLAG Boolean型 − − 削除されたかどうかのフラグ。Trueで削除されたことを,Falseで削除されていないことを示す
Table 3-30 履歴テーブル

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

レコードに対して唯一無二の値を割り当てる

DATE

日付型

−

不可

変更が生じた日時

TABLENAME

文字型

32

不可

変更が生じたデータベーステーブル名

FIELDNAME 文字型 32 不可 変更が生じたデータベーステーブルのフィールド名
RECORDID 数値型 − 不可 変更が生じたレコードのレコードID(そのデータベーステーブルにおいて主キーとなっているフィールドの値)
OLDDATA

文字型

256

可

更新まえのデータ

NEWDATA 文字型 256 可 更新後のデータ
UPDATEUSER 文字型 256 不可 更新したユーザーのアカウント名

フィールド名

型

サイズ

NULL

解説

ID

数値型
(オートナンバー)

−

不可

レコードに対して唯一無二の値を割り当てる

DATE

日付型

−

不可

変更が生じた日時

TABLENAME

文字型

32

不可

変更が生じたデータベーステーブル名

FIELDNAME 文字型 32 不可 変更が生じたデータベーステーブルのフィールド名
RECORDID 数値型 − 不可 変更が生じたレコードのレコードID(そのデータベーステーブルにおいて主キーとなっているフィールドの値)
OLDDATA

文字型

256

可

更新まえのデータ

NEWDATA 文字型 256 可 更新後のデータ
UPDATEUSER 文字型 256 不可 更新したユーザーのアカウント名
Fig.3-23 テーブル間の連携図
fig3_23.gif
prevpg.gif Chapter 3 12/22 nextpg.gif