データベースを理解する 012「後から追加した項目」

テーブルに登録したデータがいつ登録されたものか、いつ更新されたものかを記録しておきたいことがあります。
そこで、以下の2項目を追加することにしました。
・最初に登録された日付を登録する「登録日」
・最後に更新された日付を登録する「更新日」

【定義】
社員番号:文字列型の4文字(一意性制約あり)
社員名 :文字列型の50文字
入社日 :日付型
退職日 :日付型
登録日 :日付型←今回追加
更新日 :日付型←今回追加
【データ】
社員番号  | 社員名  | 入社日   | 退職日    | 登録日  | 更新日
=========+==========+===========+============+==========+===========+
1759   | X山 B郎 | 2001-04-01| 2015-03-31| (null)  | (null)
2827   | C田 D彦 | 2016-04-01| (null)   | (null)  | (null)
3339   | A口 F子 | 2015-04-01| (null)   | (null)  | (null)
4210   | G本 H行 | 2008-04-01| 2011-05-31| (null)  | (null)
4211   | D藤 Z子 | 2018-02-01| (null)   | (null)  | (null)
0212   | Z坂 X人 | 2018-03-01| (null)   | (null)  | (null)

項目を追加した時点ではその項目はnullのままです。

* * * * * *

ここで、適切な値を入れたい場合は、ルールを決めて自力で登録する必要があります。今回、以下の通り更新することにします。
・登録日→入社日の前日
・更新日→退職している社員であれば、退職日の翌日。退職していなければ何もしない。

【データ】
社員番号  | 社員名  | 入社日   | 退職日    | 登録日   | 更新日
=========+==========+===========+============+===========+===========+
1759   | X山 B郎 | 2001-04-01| 2015-03-31| 2001-03-31| 2015-04-01
2827   | C田 D彦 | 2016-04-01| (null)   | 2016-03-31| (null)
3339   | A口 F子 | 2015-04-01| (null)   | 2015-03-31| (null)
4210   | G本 H行 | 2008-04-01| 2011-05-31| 2008-03-31| 2011-06-01
4211   | D藤 Z子 | 2018-02-01| (null)   | 2018-01-31| (null)
0212   | Z坂 X人 | 2018-03-01| (null)   | 2018-02-28| (null)

更新できました。(私も移行直前に慌てて何を入れるか、を考え始めたこともありました)

別のデータベースからデータを引っ張ってくるとき(データ移行)は各項目の対応表を作って、どこに何を入れるかをきっちり決めますが、後から追加した項目に何を入れるか、は意外と忘れがちですね。
(私も移行直前に慌てて何を入れるか、を考え始めたこともありました)

改めて気をつけよう。。。

この記事が気に入ったらサポートをしてみませんか?