一方、データベースは、ツリー構造で管理するのではなく、表形式のデータ同士を関連付けて管理します(図3)。
図3に示す通り、例えば、商品データに「商品ID」という項目を作っておけば、その番号を共通の目印(キー)として、商品データや在庫データなど別の場所にあるデータと自由につなぎ合わせることができます。これにより、データの実体は1カ所のまま、必要な時に表を合体できるのです。
このように、ツリー構造ではなく、キー(この図では商品ID)を使って表を関係づけるデータベースを「リレーショナルデータベース(関係データベース)」と呼びます。
データベースとアプリケーションの役割分担を整理しましょう。データベースはあくまでもデータを蓄積することが主目的です。一方、業務の流れを判断したり、計算結果を組み立てたりといった処理の中心は、基本的にアプリケーション側が担います。
ECサイトの金額計算の流れで整理します(図4)。
このように、データベースから返ってきた情報を使ってアプリ側でプログラムの流れを制御します。
今回は、情報システムの基盤となるデータベースの基本事項を整理しました。データベースは、開発者が決めたルールに従ってデータを蓄積するソフトウェアです。これを使いこなすことで、便利にデータを管理できます。
また、われわれの身近にある氏名、年齢、住所などのさまざまなデータも、おそらくデータベースで管理されています。「便利なシステムの裏側ではどのようにデータが管理されているのか」と考えてみると、より学習が深まるでしょう。
本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。
前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
人間環境大学 環境情報学科 教授(工学博士)
イチから全部作ってみよう(27)「ACID」で示されるデータベースの4つの特性
イチから全部作ってみよう(26)プログラムは「処理」と「データ」からできている
イチから全部作ってみよう(25)脳内シミュレーションを駆使し画面設計書を完成させる
イチから全部作ってみよう(24)設計フェーズの入り口「画面設計書」は紙芝居!?
イチから全部作ってみよう(23)業務フロー図があれば“伏魔殿”も理解可能にCopyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク