ビジネス ✕ IT企画 こんにちは!要件定義①【情報活用とデータベース編】

「こんにちは!要件定義①【情報活用とデータベース編】」のカバー画像
著者
羽生章洋はぶあきひろ 著
定価
2,970円(本体2,700円+税10%)
発売日
2025.10.21
判型
A5
頁数
392ページ
ISBN
978-4-297-15237-6 978-4-297-15238-3

概要

「ITを活用できる人材」が求められています。私たちの仕事のすべてにおいて「情報」が関わっているといっても過言ではありませんが、ITは「情報を活用するための文明の利器」と言えます。情報は物理的な存在ではないため、扱うのが難しく、手間もかかります。それゆえ、ITという文明の利器によって、情報をしっかり記録し、その記録を縦横無尽に活用して、仕事をもっとスムースに行いたいのです。そしてそのための基盤・土台となるのがデータベースです。

そうした社会的要請、企業活動の根本的ニーズでもあるIT活用、さらにはデジタル時代の情報活用の土台としてデータベースを活用し、データベースに保管するためには、データの要件を定義するデータモデリングを行います。

本書では、IT、そして情報をどのように捉えればよいのか解説したうえで、データモデリングの手順をわかりやすく解説します。

STEP 1 IT 活用対象の仕事を決める
STEP 2 必要な情報を定義する
STEP 3 情報の中身=データ構造を定義する
STEP 4 情報のやり取り方法(API)を定義する
STEP 5 裏方のアクションの中身を考える
STEP 6 必要なデータがデータベースに保存されているか確認する
STEP 7 データ構造を正規化(整理)する
STEP 8 ERD(ER 図)を描く

実務でよく見かける場面を取り上げたサンプル集も収録しました。

「ビジネス × IT企画」シリーズ」第1弾として、ITを活用し、DX企画ができるようになるために必要な要件定義について、「情報活用とデータベース」にフォーカスしてお届けします。

こんな方にオススメ

  • 業務のIT化/DXの推進に携わる非IT職能の方
  • IT業界を目指す学生や、IT業界に入った新入社員の方
  • 初級〜中級のITエンジニア全般

目次

第1章 仕事と情報とIT

  • もっとITを活用したい!
  • ITとは何か?
  • 情報とは何か?
  • 情報に囲まれた日常生活
  • 情報がなくなるとどうなる?
  • なぜ情報が必要になるのか
  • 情報とは、残したいこと
  • 情報を扱うためのテクノロジー
  • 忘却との戦い
  • 紙とデジタル
  • コンピュータの登場
  • 日常生活と仕事
  • 仕事とは何か
  • 仕事とは──活動と成果
  • 仕事とは──インプット・活動・アウトプット
  • 仕事の本質──変換、状態の変化
  • プロセス
  • 仕事を行うタイミング
  • 他からのリクエストがあったとき
  • ある条件を満たしたことを検知したとき
  • ストア(保管)の重要性
  • ストアをめぐる問題
  • 仕事と情報
  • 喫茶店の事例
  • 仕事における情報とは
  • 情報は事実の後追い
  • 仕事における情報を扱うためのIT
  • UI ──人とデジタルの接面
  • ITを活用する目的

第2章 必要な情報を定義する

  • そもそも情報とは何か?
  • 情報の定義
  • データとは
  • データ構造
  • データ構造とインスタンス
  • データ構造=ひな形
  • インスタンスとは
  • 仕事に必要な情報を考える
  • 要件を定義する
  • 小さいレストランの仕事の流れ
  • インプットから始める
  • 情報屋さんとしてのITくんの仕事を考える
  • 情報屋さんとしてのITくんの立場で考える
  • 必要な情報を集めて名前をつける
  • 情報を構成するデータ構造を考える
  • データ構造名を考える
  • データモデリングを行う
  • 項目名の重要性
  • 繰り返し項目の明示
  • 窓口と裏方に分けて考える
  • ゲット系の情報とプット系の情報
  • APIの利点
  • ゲット系のAPIとプット系のAPI

第3章 情報をつくる処理を考える

  • データベースを扱うという仕事
  • アウトプットのための処理を考える
  • パターン1:そのままコピペする
  • パターン2:計算する
  • パターン3:変換する
  • 絞り込む
  • 集計する
  • 並べ替える
  • アウトプットする項目に値を設定する
  • 保存系のアクション
  • 取得系に必要なデータを正しく保存する
  • データ構造を正規化する
  • 正規化の必要性
  • 人間は面倒くさがり
  • データ(構造)を整理整頓しよう
  • 1つの事実は1つの場所に
  • エンティティを設定する
  • エンティティ
  • データ構造とエンティティの関係
  • エンティティの定義=データ構造の定義
  • 1つの項目には1つの値のみ
  • @で繰り返しを表す
  • 共通のデータを切り出して1つのエンティティにまとめる
  • 明細部分を切り出して別のエンティティにする
  • リレーションシップ(関係/関連)
  • 削除する
  • 更新する
  • 複数のエンティティを同時に扱う
  • ジョイン(結合)
  • トランザクション(一括処理)

第4章 実務に沿ったデータモデルを考える

  • 現実をエンティティに写し取る
  • データモデリングの手順を再確認する
  • データモデリング手順のポイント
  • レストランの業務で実践してみる
  • 知りたい情報の定義とAPI設計
  • データの流れ(データフロー)とプット系API
  • さらに記録が必要になったとき
  • 情報の名前づけ
  • エンティティの統合
  • 存在系と活動系
  • 「注文」データモデルに見る存在系と活動系
  • 存在系と活動系の見分け方
  • 「概念系」の導入
  • 「状態」という概念
  • 区分による状態管理
  • 「区分」で見分けるのではなく、別々のエンティティと捉える
  • 状態系エンティティの捉え方
  • 「残」という概念
  • 残系をエンティティとして扱う
  • 仕事どうしの紐づけ
  • 紐づけを管理する交差エンティティ
  • 複雑な仕事への柔軟な対応
  • 活動系は交差エンティティか?
  • その他の交差エンティティの例
  • 対応づけとしての「構成」
  • 親子関係と同一エンティティ内のリレーションシップ
  • 部品表
  • 複雑な分類の構造を考える
  • 分類も親子関係として扱う
  • 交差と交差が交差すると?
  • 交差エンティティの発展形
  • プロセス系エンティティ
  • ビジネスのデジタル化とデジタルツイン

第5章 エンティティの項目を考える

  • 項目とは何か
  • 項目名の決め方
  • 定量化と単位の重要性
  • 項目を分割する際の注意点
  • 項目名に持たせる意味を統一する
  • 「備考」という項目名をどう扱うか
  • エリアス・ホモニム・シノニムの問題
  • IT活用を成功させる項目名定義
  • 入れてもよい値を制限する
  • 値の制限とバリデーションルール
  • データ型の設定
  • 項目が持つデータ型は1つだけ
  • 値の制約と列挙型
  • 外部参照制約
  • 値の決まり方を考える
  • 導出項目と導出ルール
  • 導出ルールの設定手順
  • ビジネス要件による導出ルールの複雑化
  • 初期値、デフォルト値
  • リクエストパラメータにまつわる項目
  • 表示にまつわる項目
  • 並び順の管理
  • 並び順を決めるのは「人間の仕事」
  • 表示/非表示を切り替える
  • 論理削除
  • 値が定まらない場合
  • NULL値とは何か
  • NULL値の使用をめぐる論争
  • NULL値を避ける弊害
  • 「事実がない」という事実の記録
  • NULL値による「事実がない」ことの表現
  • 部分と一括と数
  • 部分対応と一括対応:注文と出荷の例
  • 数量(個数)という概念の再考
  • 本質的な事実を捉える

第6章 キーとID

  • キーとは何か
  • キー(候補キー)の決め方
  • プライマリーキー、セカンダリーキー
  • ユニークキーと重複キー
  • キーの定義=制約
  • 複合キー
  • 「事実の存在そのもの」を表現するためのID
  • IDとキーの違い
  • 事実、記録、キーのライフサイクル
  • IDを識別の手がかりとする
  • キーの値は人間が決める
  • IDの値の決め方
  • IDとキーは併存できるか
  • 本章のまとめ

第7章 サンプル集

  • 本章のはじめに
  • 異なるコード体系を紐づけて統一的に扱う
  • 商品とオプションの対応関係
  • 有効期間と事前登録
  • 区分と種別
  • 契約エンティティ
  • 所属エンティティ
  • 履歴やバージョン管理の扱い
  • 階層構造と親子関係
  • 状態の遷移
  • 状態の表現
  • 期間とNULLの扱い
  • 未登録あるいは事後登録の扱い
  • 残系エンティティ:在庫と残高
  • 横持ちデータ

第8章 まとめ

  • データモデリング手順のまとめ
  • STEP 1 IT活用対象の仕事を決める
  • STEP 2 必要な情報を定義する
  • STEP 3 情報の中身=データ構造を定義する
  • STEP 4 情報のやり取り方法(API)を定義する
  • STEP 5 裏方の活動(アクション)の中身を考える
  • STEP 6 必要なデータがデータベースに保存されているか
  • 確認する
  • STEP 7 データ構造を正規化(整理)する
  • STEP 8 ERD(ER図)を描く
  • エンティティの分類
  • 基本的なエンティティの分類
  • エンティティ同士の紐づけとしての交差エンティティ
  • エンティティの項目
  • 項目の設計視点:6W3H
  • 意味のブレ防止
  • データ型と制約(バリデーション)
  • キーとID
  • キーの定義と目的
  • IDの本質(キーとの違い)
  • 「こんにちは!」の日々の証に

コラム

  • スキーマ
  • 混ぜるな項目名!
  • 繰り返しを表す「@」について
  • 情報伝達とデータベースの関係
  • インターフェイスという考え方
  • SQLを使う:SELECT文
  • INSERT文
  • ID項目の命名規則
  • データモデルの表記法について
  • エンティティとテーブルの話
  • テーブルと表計算ソフト
  • データのライフサイクルを考える
  • DELETE文
  • UPDATE文
  • 更新禁止?
  • 実際には削除していない?
  • JOIN ... ON
  • RDB以外のデータベース
  • SQLノススメ
  • 存在系/活動系とリソース系/イベント系
  • 「在庫」は最大級のグローバル変数
  • リレーションシップとは何か?
  • 「関係というインスタンス」のライフサイクル
  • 本書の例における顧客マスターのこと
  • 交差エンティティをマトリックスで表現すると
  • プロセス系エンティティの名前づけ
  • ロングトランザクション
  • プロセス系エンティティと状態管理
  • 汎用的なリファレンスモデルとしての飲食業
  • 事業/業務の複雑さはエンティティ数とリレーションシップに現れる
  • ビジネスや業務のすべてをデータモデルだけで表せるわけではない
  • 定量化ということ
  • 人間は面倒くさがり
  • 項目名をエンティティ名で修飾するかどうか問題
  • ブール値とブール型
  • 可変長と固定長
  • COBOLが根強い理由
  • 「数値のみ」という想定の落とし穴
  • すべてを文字列型にする?
  • 制約ルールの明記とモデリング
  • 導出ルールのドキュメント化とデータモデル
  • 導出項目は排除すべきか
  • 「率」という導出項目
  • 入力支援について
  • 論理削除についての私見
  • マイクロトランザクション
  • GROUP BYで考えると
  • UIで入力した数量分だけインスタンスを作る作戦
  • ビッグデータは細かい?
  • キーの本性
  • アスタリスクとインスタンス
  • IDとCREATE TABLE文のPK制約
  • サロゲートキーの話
  • IDは必ず列として持つ!
  • データ構造を疎結合に保つ
  • 「いつ」「誰が」「どのように」コード体系を決めるのか

プロフィール

羽生章洋はぶあきひろ

著者。エークリッパー・インク代表 1968年6月1日生まれ、大阪育ち。1989年、桃山学院大学社会学部社会学科を中退後、2つのソフトウェア会社にてさまざまな業種・業態向けシステム開発を経て、アーサーアンダーセン・ビジネスコンサルティング(当時)に所属。その後、トレイダーズ証券株式会社(当時)とマネースクウェアジャパン株式会社(当時)の新規創業に参画、両社にて当時としては先進的なリッチクライアントとOSSによるオンライントレーディングシステムを実現。2006年から2011 年まで、国立大学法人琉球大学の非常勤講師。現在は、企業向けにデジタル人材育成を中心に活動、現場主導による問題解決の企画立案や業務とITの架け橋としての要件定義などの支援などを行っている。

カード式業務モデリング図法「マジカ」やアプリケーション要件モデリング図法「IFDAM」の作者。著書に『はじめよう! 要件定義』、『はじめよう! プロセス設計』、『はじめよう! システム設計』、『ビジネスデザイン』、『すらすらと手が動くようになるSQL書き方ドリル』(以上、技術評論社刊)、『楽々ERDレッスン』(翔泳社刊)、『いきいきする仕事とやる気のつくり方』(ソフト・リサーチ・センター刊)など。

可世木恭子

本文イラスト担当。法政大学経済学部卒。複数のソフトウェア会社でプログラマを経てエークリッパー・インクに参画。業務のイラスト化を中心に活動中。イラストに『はじめよう! 要件定義』、『はじめよう! プロセス設計』、『はじめよう! システム設計』、『ビジネスデザイン』(以上、技術評論社刊)、『原爆先生がやってきた!』(産学社刊)など。著書に『サーバサイドプログラミング 基礎』(共著、技術評論社刊)がある。