データベーステーブル作成・再編成にてよく使うオプション

データベーステーブル作成およびデータベース再編成処理時によく使うオプション(プロパティの設定)をご紹介します。  


1.Declare referential integrity

対象

  • 言語 : .NET、Java、Ruby
  • DBMS: SQLServer,Oracle,PostgreSQL,MySQL, DB2 UDB for iSeries,iSeries native, Informix


概要
データストアプロパティにある「Declare referential integrity」プロパティはデータベースに参照整合性(DBMSの制約)を作成する/しないの指定が可能です。


データストアプロパティ




設定値

  • Yes(既定値) :参照整合性が作成されます。(データベーステーブル作成、再編成時)
  • No : 参照整合性は作成されません。(データベーステーブル作成、再編成時)
  • Remove :参照整合性は作成されません。(データベーステーブル作成、再編成時) 但し、既に参照整合性がある場合は削除されます。


備考
例えば、プロパティをYes→Noに変更し、データベーステーブルの作成を行った場合、再編成プログラムはテーブルをDrop→Createしますが、参照整合性が既にあるとテーブルをDropできません。この場合は、Yes→Removeを選択する事により、既存の参照整合性も削除されます。

出典 : http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Declare+Referential+Integrity+Property,


2.Generate comment on statements

対象

  • インターフェイス : Web
  • DBMS: Oracle,DB2 UDB,DB2 for iSeries,PostgreSQL(エボリューション1以降)


概要
データストアプロパティにある「Generate comment on statements」プロパティはテーブル及びカラムのコメント作成を指定できます。

設定値

  • Yes : COMMENTステートメントを生成します。(データベーステーブル作成、再編成時)
  • No(既定値) : COMMENTステートメントを生成しません。(データベーステーブル作成、再編成時)



CREATE TABLE TestPropGenCom (TestCod smallint NOT NULL , TestDesc CHAR(50) NOT NULL , PRIMARY KEY(TestCod))
COMMENT ON TABLE TestPropGenCom IS 'Test property Generate comments on'
COMMENT ON COLUMN TestPropGenCom.TestCod IS 'Test Code'
COMMENT ON COLUMN TestPropGenCom.TestDesc IS 'Test Description'

出典 : http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Generate+COMMENT+ON+Statements+Property,

3.Enable national language support

対象

  • 言語 : .NET、Java、Ruby
  • DBMS: SQLServer,Oracle,MySQL, DB2 UDB,DB2 for iSeries,


概要
「Enable national language support」プロパティは文字列データ型(Char/VarChar)でのマルチバイト対応が指定できます。
バージョンによってプロパティの場所が違います。

  • バージョンXはデータストアプロパティ
  • エボリューション1以降はバージョン、項目属性、ドメインプロパティ


バージョンプロパティ



設定値

  • Yes:マルチバイトキャラクター対応(Char/VarCharの桁数=文字数)
  • No(既定値):マルチバイトキャラクター非対応(Char/VarCharの桁数=バイト数)

備考
Noを指定してもマルチバイトキャラクターは保存可能です。但し、DB上は桁数=バイト数、画面上は桁数=文字数と異なるため、画面上では入力可能な桁数の文字列がデータベース保存時に桁あふれでエラーとなる場合が出てきます。

どちらの設定を選択するかは設計ポリシーに依存します。但し、バージョン・項目属性・ドメインの各レベルで指定可能なので、全体指定と個別指定が可能です。

例) 全体指定はマルチバイト対応とし、個別にマルチバイト非対応とする。(バージョンプロパティではYes、必要に応じて任意の項目属性またはドメインプロパティではNoとする)

エボリューション2アップグレード3からはプロパティ値変更時、データベース再編成対象になります。それより前のバージョンでは、プロパティ値を変更しただけではデータベース再編成対象になりません。データベーステープルを再作成して下さい。

出典 : http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Enable+National+Language+Support+Property,



コメント

このブログの人気の投稿

データプロバイダーを使いこなそう - 応用編その4 スケジューラー 補足編

HTMLヘッダーにあれこれ直接追加したいとき

GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications