Tips

v12で容易になったサブテーブルの変換

日付2011/03/11
ID76262 (英語原文参照)
バージョンv12
プラットフォームMac/Win

4D 2004以前のバージョンからデータベースをアップグレードをする場合, サブテーブルの使用をどのようにして中止するかという問題に直面するかもしれません。サブテーブルは, 4D v11 SQL以降, サポートされなくなることが決定しているからです。推奨されているのは, サブテーブルを通常のテーブルに置き換えることがですが, データベースがサブテーブルを多用している場合, これには念入りな計画と相応と時間が必要です。

はじめに, 4D v11 SQLおよびv12には, 以前, サブテーブルだったテーブルが変換された後も引き続き動作するような互換メカニズムがあります。とはいえ, この互換メカニズムには限界があり, 特にSQLステートメントなどで通常のテーブルと同じように扱いたいのであれば, やはり, サブテーブルの使用を早く中止することが望まれます。

サブテーブルは, 4D v11以降にアップグレードされた後, 特別な1対nリレーションが設定されたテーブルに変換されます。nテーブルにはid_added_by_converterという名前のフィールドが作成され, この特別なリレーションにより, サブテーブルコマンドが引き続き使用できるようになっています。ただし, この内部フィールドの値にアクセスする手段は4D v11 SQLでは用意されていませんでした。

4D v12のGet subrecord keyコマンドは, サブテーブルの使用中止を早めるために考案されました。このコマンドにより, 特別なリレーションに依存したサブテーブルコマンドを別のものに書き換え, 特別なリレーションを削除しても良いようにすることが容易になりました。サブテーブルを使用しているデータベースは, 4D v12のこのコマンドを活用することが勧められています。