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



