やめたほうがいいテーブル設計 ~テーブルの水平分割、垂直分割~
テーブルの水平分割とは
テーブルの水平分割とは、1つのテーブルを、ある一定のレコード数を基準として2つ以上のテーブルに分けたものとなります。
そのため、水平分割されたテーブルが存在する場合は、テーブル名が異なり、同一のテーブル定義を持つテーブルが複数作成されることになります。
テーブルの垂直分割とは
テーブルの垂直分割とは、1つのテーブルをカラムの数で分割したものとなります。
水平分割、垂直分割の問題点
- 正規化のルールにのっとたテーブル分割でない
水平分割も垂直分割も正規化のルールにのっとたテーブル分割を行っていません。
そのため、正規化のルールにのっとた分割であれば、テーブルの結合で簡単に取得できるデータが、 水平分割や垂直分割では、簡単に取得できなくなる可能性があります。
- 処理が複雑となる
水平分割を行った場合は、必要なデータが存在するテーブルごとに処理を分岐する必要があります。
また、テーブルをまたいだデータが必要となった場合、水平分割を行ったすべてのテーブルにアクセスすることとなります。
そのため、保守性や拡張性が損なわれることになる場合が多いです。
垂直分割を行った場合は、本来関連のあるはずのデータが複数のテーブルに分割されてしまいます。
そのため、今後のシステムの機能追加により、分割した複数のテーブルアクセスが必要になる場合に不要な結合を行う必要が出てきます。
また、テーブルのカラム追加が必要となった場合に、どのテーブルにカラムを追加すべきかの判断が難しくなります。
上記理由から、水平分割や垂直分割を行うことで処理が煩雑となり、保守性の低いシステムとなってしまいます。
代替が可能である
水平分割も垂直分割も他の正しい方法での代替が可能となります。
そのため、そもそもルール違反をしてまで水平分割や垂直分割を行う必要はありません。
なお、それぞ野の分割方法に対する代替手段は以下のとおりです。<水平分割の代替手段>
リレーショナルデータベースのパーティションの機能を使用する。
パーティションを使用することで水平分割と同等の効果を得ることが可能となります。<垂直分割の代替手段>
カラムの絞り込み(データマート)や、サマリテーブルによる集約を行う。
ただし、カラムの絞り込みは、元のテーブルを残したまま、頻繁にアクセスされるカラムのみを別テーブルとして再定義したテーブルです。
そのため、カラムの絞り込みによる代替を行う場合は、データの同期の検討が必要となります。
テーブル設計について学びたい方へ
達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 21人 クリック: 316回
- この商品を含むブログ (24件) を見る
- 作者: 鈴木昭男
- 出版社/メーカー: ソフトリサーチセンター
- 発売日: 1999/07
- メディア: 単行本
- 購入: 2人 クリック: 2回
- この商品を含むブログ (4件) を見る
データの正規化とER図: 構造化分析手法の基礎を学ぶ スキルズ・オン・デマンド研修プログラム
- 作者: アイ・ラーニング
- 発売日: 2015/07/02
- メディア: Kindle版
- この商品を含むブログを見る
6月っぽいもの
CarBoys 逆転傘 逆さ傘 逆折り式傘 自立傘 長傘 手離れC型手元 耐風 撥水加工 晴雨兼用 ビジネス用 車用 UVカット 遮光遮熱 傘袋/ケース付き(空の晴)
- 出版社/メーカー: CarBoys
- メディア: ホーム&キッチン
- この商品を含むブログを見る
Wsky 折りたたみ傘 ワンタッチ自動開閉 Teflon加工 10本骨 118cm 210T高強度グラスファイバー 耐風撥水 晴雨兼用 収納ポーチ付き (ブラック)
- 出版社/メーカー: Wsky
- メディア: ホーム&キッチン
- この商品を含むブログ (1件) を見る
Newdora 折りたたみ傘 収納ポーチ付き ワンタッチ自動開閉 日傘 梅雨対策 ビッグサイズ 120cm 210T高強度 10本骨 グラスファイバー 防災対策 軽量 晴雨兼用(メンズ)
- 出版社/メーカー: Newdora
- メディア: ウェア&シューズ
- この商品を含むブログを見る