6.2.3 クラスの削除

クラスを削除する場合,メタ情報の削除コマンド(dbjdelmeta)でクラスの定義の削除を実行します。ただし,削除するのはメタ情報の削除コマンド(dbjdelmeta)の-rオプションで指定したサブクラスに対応した表のデータだけです(同じRDエリアに含まれる別の表のデータは削除されません)。RDエリア内のデータを削除する場合,ここでの手順を実行する前にアプリケーションなどで削除対象のクラスのすべてのオブジェクトを削除しておいてください。

また,VariableArray型のプロパティの要素を格納するために定義するedmClass_Structクラスのサブクラスの削除は,次に示す条件を満たしている必要があります。

edmClass_Structクラスのサブクラスの削除の条件
削除するedmClass_Structクラスのサブクラスを要素とする,基本単位がVariableArray型のプロパティを定義しているクラスが存在しない。

クラスを削除する手順を次に示します。

  1. メタ情報のバックアップを取得します。
    6.2.2 クラスの追加」のメタ情報のバックアップの取得に関する記述を参照してください。
  2. データベースのバックアップを取得します。
    クラスに対応する表を削除するため,「3.8.2(3) メタ情報用のテーブルを定義します」で定義したメタ情報用の表を作成したRDエリア,およびdbjdelmeta(メタ情報の削除)コマンドの-rオプションで指定したサブクラス名に対応した表を格納しているRDエリアのバックアップを取得します。バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」のバックアップの取得方法に関する説明で,定義系SQL「DROP TABLE」の記述を参照してください。
  3. メタ情報の削除コマンド(dbjdelmeta)を実行します。
    メタ情報の削除コマンド(dbjdelmeta)でクラスの定義を削除します。メタ情報の削除コマンド(dbjdelmeta)には,-rオプションを指定します。
  4. データベース定義ユティリティを実行します。
    HiRDBのデータベース定義ユティリティ(pddef)を実行して定義するクラスに対応する表を削除します。削除するSQL文は,「DROP TABLE "-rオプションに指定するサブクラス名"」です。データベース定義ユティリティ(pddef)は,文書空間構成定義ファイルのPdUserエントリに指定するユーザが実行します。HiRDBのデータベース定義ユティリティ(pddef)については,マニュアル「HiRDB コマンドリファレンス」を参照してください。