データベースを理解する 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)
更新できました。(私も移行直前に慌てて何を入れるか、を考え始めたこともありました)
別のデータベースからデータを引っ張ってくるとき(データ移行)は各項目の対応表を作って、どこに何を入れるかをきっちり決めますが、後から追加した項目に何を入れるか、は意外と忘れがちですね。
(私も移行直前に慌てて何を入れるか、を考え始めたこともありました)
改めて気をつけよう。。。
この記事が気に入ったらサポートをしてみませんか?