読み方 : せいきか

正規化【regularization】ノーマライズ

別名  :normalize/カノニカライズ/canonicalize/ノーマライゼーション/normalization/カノニカライゼーション/canonicalization

概要

正規化とは、データなどをある基準や形式に適合するように、一定の手順や規則に従って変形・変換すること。様々な分野で用いられる概念であり、それぞれ目的や方法などが大きく異なる。

リレーショナルデータベースの正規化

リレーショナルデータベースRDBMS)では、データの保守性向上や処理の高速化を図るため、データベース内で同じ情報が複数の箇所に重複して記録されず、個々のテーブルは主キーから直接連想されるデータのみで構成されるよう設計するのが理想とされている。

この基準に基づいてデータ構造を再編する作業や操作のことをデータベースの正規化と呼び、正規化の度合いによって第1正規化から第5正規化、およびボイスコッド正規化などの種類に分類されている。

浮動小数点数の正規化

浮動小数点数符号部仮数部指数部に分けてビット列で表す場合、同じ数を同じ符号化方式で表す場合でも仮数指数の取り方によって複数の表現が可能となるが、標準となる形式を定めてこれに合わせて表現することを正規化という。

IEEE 754などの標準規格では有効数字の桁数が最大限に確保される表現に正規化するよう定められている。具体的には仮数部ビット列の左端の値が0以外になるように仮数を決め、それに合わせて指数が算出される。

XML文書の正規化

XML文書テキスト形式を採用しているため、ホワイトスペースの扱いや要素の出現順序などに非常に寛容である。しかし、ソフトウェアにXML文書データを渡す場合や、データ改竄されていないことを証明するための署名などを行う場合には、XML文書を一定のルールに従って整形しなおす必要がある。

XMLの正規化は「Canonicalized XML」規格に定められたカノニカライズ(canonicalize)と、「XML Normalization」規格に定められたXML文書のノーマライズ(normalize)、XML規格本体に定められた属性値のノーマライズ(Attribute-Value Normalization)の3種類がある。

カノニカライズは論理的に同等の文書がバイナリデータのレベルで完全に一致するように整形する手順を定めており、XML文書改竄されていないことを証明するための電子署名を有効に機能させるために必要となる。

XML文書のノーマライズは、ソフトウェアが文書の解釈や変換などを行いやすいように表記法を統一する処理を指す。XML名前空間を使用する場合などに意味的に同じ内容を複数の表記で書くことができるが、XML Normalization規格ではこれを一定の基準に基づいて統一された表記にすることを求めている。

属性値のノーマライズは、人間の入力の都合や見やすさなどのために様々な表記が混在する属性値を一定の基準で変換し、ソフトウェアが表記の揺れに影響されないようにする処理である。文字参照表現を参照先の文字自体で置き換えたり、改行文字タブ文字を空白文字(16進数で20)に置き換えたり、連続する複数の空白を一文字に短縮するといった変換が行われる。

(2018.10.26更新)

他の用語辞典による「正規化」の解説 (外部サイト)

資格試験などの「正規化」の出題履歴

▼ ITパスポート試験
令6 問81】 一つの表で管理されていた受注データを、受注に関する情報と商品に関する情報に分割して、正規化を行った上で関係データベースの表で管理する。
令5 問59】 関係データベースで管理された “会員管理” 表を正規化して、“店舗” 表、“会員種別” 表及び “会員” 表に分割した。“会員” 表として、適切なものはどれか。
令1秋 問87】 売上伝票のデータを関係データベースの表で管理することを考える。売上伝票の表を設計するときに、表を構成するフィールドの関連性を分析し、データの重複及び不整合が発生しないように、複数の表に分ける作業はどれか。
平31春 問92】 関係データベースを構築する際にデータの正規化を行う目的として、適切なものはどれか。
平30春 問81】 顧客と住所、商品名と単価、顧客が注文した商品の個数と注文した日付を関係データベースで管理したい。正規化された表として、適切なものはどれか。
平29秋 問62】 関係データベースのデータを正規化することによって得られる効果として、適切なものはどれか。
平28秋 問88】 関係データベースにおいて、正規化を行う目的はどれか。
平26秋 問68】 関係データベースの表を正規化することによって得られる効果として、適切なものはどれか。
平26春 問60】 ファイルで管理されていた受注データを、受注に関する情報と商品に関する情報に分割して、正規化を行った上で関係データベースの表で管理する。
平24春 問79】 関係データベースのデータを正規化する目的として、適切なものはどれか。
平22秋 問63】 関係データベースを構築するに当たり、データの正規化を行う目的はどれか。
平21秋 問63】 関係データベースを利用する際に、データの正規化を行う目的として、適切なものはどれか。
▼ 基本情報技術者試験
平29春 問2】 0以外の数値を浮動小数点表示で表現する場合,仮数部の最上位桁が0以外になるように,桁合わせする操作はどれか。ここで,仮数部の表現方法は,絶対値表現とする。
平28修12 問27】 データの正規化を行うことの意義として,適切なものはどれか。
平25修7 問4】 図に示す16ビットの浮動小数点形式において,10進数0.25を正規化した表現はどれか。ここで,正規化は仮数部の最上位桁が1になるように指数部と仮数部を調節する操作とする。
平24修7 問32】 データの正規化を行うことの意義として,適切なものはどれか。