私のような食料品の情報を保持するテーブルがあります。それぞれの夜MySQLは - アーカイブデータベースとmaintining参照
id
typeid
groceryname
grocerydesc
を私はそれをアーカイブする新しいテーブルにそのテーブルをコピーします。食料品のタイプのオプションを保持する第2のテーブルにタイプIDフィールド参照:
id
typename
そして食料品テーブルでIは、選択されたタイプのIDを参照します。私の質問は、いったんそのアーカイブされたものは、タイプ名が食料品の種類のテーブルで更新されている場合に起こるでしょうか?たとえば、食料品の種類のテーブルにソーダのエントリがあり、それがアーカイブされているとします。今では人がソーダを水に変えましたが、アーカイブのすべてのエントリーは間違った水を参照します。これを処理する最善の方法は何ですか?私は代わりに型名をつかんで、型IDの代わりに食料雑貨品目とともに保管しますか?しかし、その後、数値よりもテキストを使ってアーカイブテーブルをクエリすると、それは遅くなるでしょうか?それとも、もしあなたがそれを変更したら、それはアーカイブテーブルのリストも更新するでしょうか?
まあIDは同じまま、彼らは更新できる唯一のことは、そのタイプの名前です。しかし、IDは常に同じであり、参照は常に正しいので、名前自体が変更されて別の意味を持つようにすることができます。 – John
IDが同じで、アーカイブだけを更新したい場合は、お気に入りのサーバーサイド言語で少しのクエリを実行して更新できます。 –