地理空間データを格納するデータベース スキーマに取り組んでいます。ポイントの名前や説明などの文字列の国際化をサポートし、すべての変更のログ記録をサポートする必要があります。
これは私の現在のスキーマです:
points
---------------
rev_id (int autoincrement)
rev_from (date)
rev_to (date)
rev_operation (insert/update/delete)
rev_user (user who has made the modification)
point_id (int)
point_geom (geometry)
point_name_en
point_desc_en
point_name_fr
point_desc_fr
それは正常に機能しますが、新しい言語を追加するたびにデザインを更新する必要があり、1 つの翻訳を更新する場合は行全体をコピーする必要があります...これはデータの重複につながります。したがって、ローカライズされた文字列を別のテーブルに配置することを避けるために:
points
---------------
rev_id (int autoincrement)
rev_from (date)
rev_to (date)
rev_operation (insert/update/delete)
rev_user (user who has made the modification)
point_id (int)
point_geom (geometry)
points_text
---------------
point_id (int)
lang_code (en/fr/es/it etc...)
point_name
point_desc
動作しますが、翻訳の変更を追跡できません。
オブジェクトをプロパティの翻訳とプロパティの変更履歴と共に保存するデータベースを設計する最良の方法は何ですか?