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

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

 このサンプルでは,顧客情報,製品情報,在庫情報,伝票情報,明細情報,伝票追加情報,請求書情報,履歴という7つのテーブルを用いる(Table 3-23Table 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

金銭型

不可

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

TAX

金銭型

不可

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

TOTAL

金銭型

不可

この請求書の合計(税込金額)。STARTDATEENDDATEの期間内の伝票の合計(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