この特集のトップページへ
>
Chapter 3:データストア層の構築
COLUMN お詫び:Chapter 3の修正 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
初掲時の履歴テーブル(Table 3-20)に誤りが発見されたので,ここで訂正させていただく(掲載中のTable 3-20は,すでに修正させていただいた)。初掲時のTable 3-20では,どのレコードが修正されたかを特定することができない。そこで次のように,Table 3-20にRECORDIDという新しいフィールドを付け加える。RECORDIDフィールドには,変更の対象となったレコードのレコードID(主キー)を記録する。それにより,どのレコードが変更の対象となったのかを記録できるようになる。
Table 3-20(正) 履歴テーブル |
|
型 |
|
NULL |
解説 |
ID |
数値型 |
− |
不可 |
レコードに対して唯一無二の値を割り当てる |
DATE |
日付型 |
− |
不可 |
変更が生じた日時 |
TABLENAME |
文字型 |
32 |
不可 |
変更が生じたデータベーステーブル名 |
FIELDNAME | 文字型 | 32 | 不可 | 変更が生じたデータベーステーブルのフィールド名 |
RECORDID | 数値型 | − | 不可 | 変更が生じたレコードのレコードID(そのデータベーステーブルにおいて主キーとなっているフィールドの値) |
OLDDATA |
文字型 |
256 |
可 |
更新まえのデータ |
NEWDATA | 文字型 | 256 | 可 | 更新後のデータ |
UPDATEUSER | 文字型 | 256 | 不可 | 更新したユーザーのアカウント名 |
この変更に伴い,Fig.3-19,Table 3-30,Fig.3-23,Fig.3-48も,下記のように修正させていただく。また,修正したデータベースを作成するためのSQL文は,次のとおりである(「3.5 まとめ」を参照)。
Fig.3-19(正) 履歴テーブルに履歴を残す
Table 3-30(正) 履歴テーブル
|
型 |
|
NULL |
解説 |
ID |
数値型 |
− |
不可 |
レコードに対して唯一無二の値を割り当てる |
DATE |
日付型 |
− |
不可 |
変更が生じた日時 |
TABLENAME |
文字型 |
32 |
不可 |
変更が生じたデータベーステーブル名 |
FIELDNAME | 文字型 | 32 | 不可 | 変更が生じたデータベーステーブルのフィールド名 |
RECORDID | 数値型 | − | 不可 | 変更が生じたレコードのレコードID(そのデータベーステーブルにおいて主キーとなっているフィールドの値) |
OLDDATA |
文字型 |
256 |
可 |
更新まえのデータ |
NEWDATA | 文字型 | 256 | 可 | 更新後のデータ |
UPDATEUSER | 文字型 | 256 | 不可 | 更新したユーザーのアカウント名 |