この特集のトップページへ
>
Chapter 3:データストア層の構築
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で削除されていないことを示す |

