7-6 不適切なキー
キー(主キー・外部キー)には使用してはいけないデータ型がある
キーは永遠に不変です!
可変長文字列(VARCHAR)をキーのデータ型にしてはいけない
なぜなら、キーが満たすべき条件である不変性を担保できていないから
例
会社名・社員名・部署名
同じデータを意味するキーは同じデータ型にすべし
可変長文字列(VARCHAR)と固定長文字列(CHAR)で同じ文字列を保持していても、同じ値にならないことがほとんど
固定長文字列は空白で穴埋めをするから
例
テーブルAの主キー
データ型:CHAR(10)
カラム:社員名
値:「山田太郎 」
テーブルBの外部キー
データ型:VARCHAR(255)
カラム:社員名
値:「山田太郎」
上記2つのテーブルは社員名カラムで結合できない