イチから全部作ってみよう(29)3つのノート整理法からたどるRDBMSの基礎知識:山浦恒央の“くみこみ”な話(198)(1/3 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第29回は、お題「店長の頭の中を設計しよう」の解答例となる3つのノート整理法を基に、リレーショナルデータベース(RDBMS)の基礎知識について説明する。
1.はじめに
山浦恒央の“くみこみ”な話の連載第170回から、入門者をターゲットとして、「イチから全部作ってみよう」というシリーズを始めました。このシリーズでは、多岐にわたるソフトウェア開発の最初から最後まで、すなわち、要求仕様の定義、設計書の作成、コーディング、デバッグ、テスト、保守までの「開発フェーズ」の全プロセスを具体的に理解、経験することを目的にしています。
興味がある方は、連載第170回からのバックナンバーをご覧ください。
2.前回の振り返り
プログラムは、「ロジック」と「データ」から成り立っており、どちらも適切に設計する必要があります。現在、その中でも、「データ」に着目し、データ設計に関するトピックを説明中です。
今回は、前回説明したデータベースの全体像を踏まえつつ、以下に挙げるお題をベースとして、さらにもう一歩話を進めます。
3.店長の頭の中を設計しよう
早速ですが今回のお題です。まずはお題の前提条件から。
お題の前提
あなたの実家は、お父さんが一人で切り回す小さなワイン屋さん。ある日、お父さんが突然他界した知らせを受け、実家に駆け付けると、お母さんから「今日から、あなたがこのお店をやってちょうだい」と言われました。頼まれると嫌とは言えないあなたは、引き受けてしまいました。生前、店長であるお父さんは、「台帳なんていらねぇ、全部ココ(頭)に入ってる!」が口癖で、デジタル化どころか、体系的なメモすら一切残していませんでした。
結果、残ったのは、店長の「勘」と「記憶」だけで回っていた店と、膨大な商品の山、そして何も書かれていない真っ白なノート1冊です。あまりの状況にプロへシステム化を依頼しましたが、提示された金額は「300万」。その金額にあぜんとしたあなたは、自分の知恵とノート1冊でこの危機を切り抜けようと決意しました。
ワインを勉強しつつ、経営に関して常連さんの話を聞く限り、店の運営には、次の情報を記録する必要がありました。
- 商品に関すること:商品名、販売価格、商品の在庫数
- お客さまに関すること:氏名、住所、電話番号
- 日々の動きに関すること:注文日時、支払金額、支払方法(現金/カードなど)、注文者氏名、注文者住所、注文者電話番号
- 経営に関すること:今日の売り上げ、単年度ごとの売り上げ総額
お題:店長の頭を設計せよ
これらの情報を、1冊のノートにどのように整理して書き込めば、情報の抜けや重複/書き間違いを防ぎ、効率的に商売を進められるでしょうか?
- ポイント1:ノートの構成(ページの分け方/項目の整理方法)を中心に考える
- ポイント2:どの情報を、どの単位で、どう分けて管理するかを意識する
- ポイント3:大きな情報を書き出し、少しずつ、細かくする
4.ノート整理法における3つの解答例
解答例として、下記の3種類の方法が考えられます。
4.1 解答例1:日記帳スタイル
日記帳スタイルとは、日々起きたことを時系列に書き込む方式です。例えば、ノートの一行目から次のように記載します。
- 日記帳スタイルのイメージ:
- 1行目:「2026/1/25 営業開始」
- 2行目:「10時、鈴木さんがシャトーマルゴー1本とミラヴァル2本、計2万円分を購入」
- 3行目:「14時、松本さんがシャトーマルゴー5本、計4万円分を購入」
- 4行目:「2026/1/25 営業終了 本日の売り上げ6万円」
このように、日記帳のように時系列で起きたことを記録します。これは、プログラミングにおけるデバッグログのようなものですね。
この方法の最大のメリットは、今すぐに営業を始められることです。ただし、時間がたつにつれて過去の情報にアクセスすることが非常に困難になります。例えば、「去年、シャトーマルゴーは何本売れたか?」「2年前の山田さんのお買い上げ金額の総額はいくら?」を算出するのはかなり大変ですね。
Copyright © ITmedia, Inc. All Rights Reserved.
