私は既存のデータベースにいくつかの列を持っています。これらのうちの1つは、行内の他のデータの言語を示す「言語」です。作成後のデータベース設計の変更
私が実装したい設計は、データベースがまだ数千もの行を持っていなければ、簡単に編集できます。
個別の言語(英語、スペイン語、フランス語、クエンヤ...)をすべて選択するだけです。これらはすべて小文字であるとみなし、このデータを独自のテーブルに入れます。私が作成したい
の表は、単純に構造化されます。
Language ID | Language | Shorthand for language
1 | English | en-us
私はその後、私の元のテーブルを編集したい、そして、(私は削除させていただきます)「言語」欄の代わりに、私は望みます対応する言語IDの番号を入力します。
ので、例えば、英語の行は次のようになります。
IrrelevantInfo | LanguageID
foobar | 1
は、それが可能に私は私のすべてのデータを失うことなく、これを行うためですか?
既存のデータを '英語'、 'フランス語'などのままにしておき、1,2,3の代わりに新しいテーブルの主キーにするのはなぜでしょうか? –
@TonyAndrews言語の名前は一貫していても一貫性がない(ドイツ語対ドイツ語対Allemagne対Германски)。 – SWeko
OKですが、現在一貫性があり、それらを新しいテーブルの外部キーにすると、将来も一貫性を保つように強制されます。 –