TOPデータベースチャンネル最適なデータベースを構築するために




データベースバックナンバー
データベース人気過去記事一覧

第3回:データベース設計の奥義に迫る

2007/7/10
1   2  次のページ

最適なデータベースを構築するために

   データベースは的確に設計・構築を行わないと十分なパフォーマンスを発揮できないのみならず、適格な運用すらおぼつかなくなってしまう場合もある。ここでは適切なデータベース構築に向け考慮すべき事柄などが書かれている連載をいくつか紹介しよう。
データベース導入の観点
データベース構築
データベースの連携を考える
XMLDBによる非定型文書処理


データベースの構築を行う

   第1回でも簡単に取り上げているが、データベースは的確に設計・構築を行わないと十分なパフォーマンスを発揮できないのみならず、適格な運用すらおぼつかなくなってしまう場合もある。そのためにもデータベース導入の際には、どのような用途で利用し、そのためにどんなデータベースを利用するのか、筋道を正しく組み立てていかなければならないのだ。

近未来データベース 近未来データベース
第1回:データベースを取り巻く状況
著者:NTTデータ先端技術  鈴木 幸市

はじめに

   Webサービスが当たり前の世の中になり、情報管理、アクセスをつかさどるデータベースの役割は増すばかりです。SQL言語を使ったデータアクセスは、データベースを使う上で基本的かつ重要な技術です。その上データベースは、複数のアプリケーションやユーザに「同じ」データを「同時に」「矛盾なく」読み書きできる機能を提供しています。また「書いた」データを障害や誤操作から守るという重要な機能も提供しているのです。

   さらに、データベースはコンピュータのメモリよりはるかに巨大な量のデータを扱うこともできますし、これらのデータが障害や誤操作で壊れることがないように守ることもデータベースの重要な役割になっています。ある意味、SQL以上に重要といってもいいでしょう。

   この連載では、SQL以外のこれらのデータベースの重要な役割がシステムを作る上でどのように役立っているのか、データベースに対する要件はどのようなものがあるのか、それに応えるためにどのような課題があり、どのような試みがなされているのかを紹介していきます。

実践!モデリングツール 即活用!ツールを活用したデータモデリング
第5回:教科書的ではなく、現場にあったデータベース設計のコツ
著者:システムインテグレータ  梅田 弘之

データベース設計で迷いやすい点

   今回も引き続き、データベース設計をする際に迷いやすい点をいくつか取りあげてみようと思います。

   データベース設計で迷う点は、どこまで非正規化を行うかということではないでしょうか。一般に技術者は正論をいう傾向が強いので、「正規化は崩すべきじゃない」と主張する人が多いようです。しかし実際にシステムを構築する立場からすると、一概にそうともいい切れません。


階層構造のテーブル設計の注意点

   今回は前回と同様、SQL Serverのサンプルデータベース「Northwind」を元にして、データベース設計で迷いやすい点について考えてみましょう。図1は「Northwind」をER図にリバースした中から、エンティティ「商品」「商品カテゴリ」をサブウィンドウで表示したものです。

Northwindの「商品」と「商品カテゴリ」エンティティ
図1:Northwindの「商品」と「商品カテゴリ」エンティティ

   図1のように商品を分類するためにカテゴリコードをつけるエンティティ構造はよくあります。しかし実際の販売管理システムにおいては、このようなフラットなカテゴリ構造は不便です。なぜかというと、一般に商品カテゴリなどは表1のように階層構造で分類する必要があるからです。

データベースの連携を考える

異種DB/データ連携 本当は難しい異種データベース連携〜DataCoordinatorで解決〜
第1回:データ連携の必要性を再確認
著者:日本電気  白馬 智博

データ連携の目的

   データ連携を行う目的とは何でしょうか。これについて様々な意見がありますが、大きく分けて以下の3点に絞ることができます。

  • データ活用
  • データ統合
  • データ保存

表1:データ連携を行う目的

   ではこの3点について、例をあげながら説明します。


様々なシステムのデータを分析

   企業のさらなる売上向上をはかるため、そして現状の問題を打破するために、様々なデータを日々分析する必要があります。例えば売上データであれば、競合他社と比較してどの分野で勝っているのかや、どの地区で劣っているのかなど、自社の「強み」と「弱み」を分析し、劣っている点に対してはさらなる分析を実施します。

   このような分析は定型/非定型が混在し、かつ大量なデータに対して行われるため、業務システム本体に対して直接分析を行えば、その多大な検索負荷によってシステム自体が止まってしまうことがあります。そのため、通常は業務システムとデータウェアハウスを連携し、データを活用するケースが多いのです。

O/Rマッピングツール 徹底比較!! O/Rマッピングツール
第1回:O/Rマッピングとは?
著者:ビーブレイクシステムズ  山之内 弘行

O/Rマッピングとは?

   アプリケーション開発において、データベースとの連携は必須といっても過言ではなく、SQLを使用したデータベースへのアクセスは、もはや標準的な知識といえるでしょう。

   JDBCのAPIを直接使用した従来の開発方法でデータベースを扱う場合、通常は以下のような煩雑な作業が発生し、バグを埋め込んでしまう可能性がありました。

   また従来のJDBCを利用した開発方法でデータベースにアクセスする際には、SQL文などを直接ソースコードに埋め込むことがほとんどです。そのため、テーブル構造の変更などがあると、「アプリケーション内のソースコードを修正しなければならなくなった」といったことが起こります。

   よって、SQL文がソースコードの様々な場所に記述されていると、修正漏れや修正間違いといった問題を常に意識しながら開発しなければなりません。そして、これらの問題を解決するために考えられたのがO/Rマッピングです。

1   2  次のページ

データベース人気過去記事一覧
第1回 徹底比較!! データベース
第2回 データベースの導入実態
第3回 データベース設計の奥義に迫る