IT用語帳
PD-Dデータベース · データベース設計

非正規化

Denormalization

ひせいきか

検索性能を上げるために、正規化した表をあえて統合したり、導出項目や他の表の項目を重複して持たせたりすること。結合の回数を減らせるので参照が速くなるが、同じデータを複数箇所で更新する必要が生じ、整合性を保つ仕組み(トリガや更新手順)が別に要る。参照が中心のデータウェアハウスのスタースキーマなどで使われる。

共有:

Related

他の資格での定義

Related

関連キーワードの用語

A-1スノーフレークスキーマ

スタースキーマのディメンションテーブルをさらに正規化し、階層ごとに別のテーブルに分割したデータモデル。形が雪の結晶に似ることからこう呼ぶ。データの重複が減って更新時の不整合が起きにくいが、集計時の結合が増えて問合せが複雑になり、性能が落ちやすい。

PD-D列指向データベース

表のデータを行単位ではなく列単位にまとめて格納するデータベース。集計に必要な列だけを読めばよく、同じ列には似た値が並ぶため圧縮率も高いので、大量の行を対象にした分析処理(OLAP)に向く。1行ずつの挿入や更新は行指向より不利で、データウェアハウス向けの製品やクラウドのDWHサービスに多く採用されている。

PD-D論理データモデル

概念データモデルを、採用するデータベースの方式(関係データベースなら表・列・主キー・外部キー)に沿って表し直したデータモデル。正規化によってデータの重複と更新時異状を取り除き、データ型や制約を定める。どの記憶装置にどう格納するかといった物理的な事項には立ち入らない。

PD-D完全関数従属

属性の組Xが決まれば属性Yが一意に決まり(X→Y)、かつXのどの真部分集合からもYが決まらない関数従属。例えば、{受注番号, 商品番号}→数量で、受注番号や商品番号の片方だけでは数量が決まらない場合が当たる。第2正規形は、非キー属性がすべての候補キーに完全関数従属している状態である。

PD-D部分関数従属

複数の属性からなる候補キーの一部だけで、非キー属性が決まってしまう関数従属。例えば、{受注番号, 商品番号}がキーの表で、商品番号だけから商品名が決まる場合が当たる。部分関数従属があると同じ商品名が何度も現れて更新時異状の原因になるので、第2正規形への正規化で別の表に分離する。

PD-D推移関数従属

X→Y、Y→Zが成り立ち、YからXが決まらないときに、XからZがYを介して間接的に決まる関数従属。例えば、社員番号→部署コード→部署名の関係で、部署名が社員番号に推移的に従属する場合が当たる。非キー属性が他の非キー属性に従属している状態なので、第3正規形への正規化で部署の表を分離する。