たとえば、2つのデータの平和があり、一方の値がもう一方の値なしで使用されることはめったにない場合を考えてみます。一例として、ユーザー認証データを保持するテーブルを次に示します。
CREATE TABLE users
(
id INT PRIMARY KEY,
auth_name STRING,
auth_password STRING,
auth_password_salt STRING
)
パスワードはソルトなしでは意味がないと思います。逆もまた同様です。この方法でデータを表現するオプションもあります。
CREATE TABLE users
(
id INT PRIMARY KEY,
auth_name STRING,
auth_secret STRING,
)
そして、にauth_secret
、などの文字列を格納しますD5SDfsuuAedW:unguessable42
一般に、列を1つの区切られた列に結合する方が適切な状況はありますか?
全体として「より良い選択」になることは決してありませんが、(同じデータに対して)列を増やすことと列を減らすこと(同じデータの場合)にコスト(パフォーマンス、スペースなど)はありますか?私の動機は、誰かがこの種のことを提案したときに、よりよく理解し、それに対してより有能に議論できるようにすることです。
--編集例を変更しました...元の例は次のとおりです。
CREATE TABLE points
(
id INT PRIMARY KEY,
x_coordinate INT,
y_coordinate INT,
z_coordinate INT
)
vs
CREATE TABLE points
(
id INT PRIMARY KEY,
position STRING
)
でposition
、などの文字列を格納する7:3:15