データベースを理解する 008「列への制約(文字数)」

社員テーブルに社員が登録されています。
前回、一人増えました。

社員番号 | 社員名
========+===========
1759   | A山 B郎
2827   | C田 D彦
3339   | E口 F子
4210   | G本 H行
4211   | N藤 Z子

さらに新しく社員が入ってきたので登録しようと思います。こんなデータです。
・社員番号=0212
・社員名=Z坂 X人

重複していないことを確認の上、登録しました。
が、社員番号を入力する時に入力を誤ってしまいました。

社員番号 | 社員名
========+===========
1759   | A山 B郎
2827   | C田 D彦
3339   | E口 F子
4210   | G本 H行
4211   | N藤 Z子
0212ee  | Z坂 X人

社員番号に1件だけ6文字のデータが入ってしました…

社員番号が何桁、という決まりがあるのであれば、その決まりに応じた
制約をデータ型として付与することができます。

* * * * * *
この会社の場合、社員番号が4文字ということにして、社員番号の列には
4文字までしか入らない、という制約をつけましょう。

というわけで、社員テーブルの各列のデータ型を↓の通りにしてみました。

社員番号:文字列型の4文字
社員名 :文字列型の50文字

この状態で社員番号=0212ee(6文字)、のデータを登録しようとすると、制約違反でエラーになりますので、登録する人が「あれ、入力間違えた?」と気づくことができます。

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