見出し画像

盆栽の管理向上をめざして 7:盆栽管理システムの骨子を設計する

1980年代の日本。盆栽を育てている温室の一角の事務机で日本人男性がとても楽しそうにPCを操作している。盆栽管理システムの骨子を設計している。モニタの画面からワークシートが飛び出している様子。背景には盆栽鉢が並んでおり、傍らにはブラウン管テレビ、ラジカセ、ビデオデッキが置いている。横長で。映画的。

タイトル画像のプロンプト

結果に対する感想:1980年代、モニタの画面からワークシートが飛び出している様子は紙の出力になっていた!

はじめに

前回記事にて画像投稿用のLINE Botを作成し、手間を掛けずに、日々の画像管理ができるようになりました。
今回はますます発展する盆栽管理システムの骨子を作ってみようと思います。
現在のところ、アイテムと画像管理を作成しました。
簡単に図式化すると以下のようになります。

「アイテム」、「画像管理」のところが一かたまりのデータとなります。
現在2つのデータのかたまりを管理しており、それらはkeyで関連付けられています。

今回考えるのはアクティビティです

「アクティビティ」はアイテムの増減や手入れを管理するデータです。
例えば、こんな感じ。

予定については未来の日付を入れるだけで管理できそうです。

「アクティビティ」の項目には、「アクティビティマスタ」のidを記入することにします。

「アクティビティ」と「アクティビティマスタ」との関連はidによって関連付けられます。

ここまでの各データの関連性はこんな感じで考えています。

私は学校でデータベースについて学んではいません。今から30年ほど前、実務でMS-ACCESS2000を使った後、社内の顧客管理DBをいくつか組んだぐらいです。

当時は、プログラマーとしてVBAやCを駆使して機能追加を行っておりましたが、時代とともに、SQLの思想を理解し始め、あまり無理をしないDB構築をするようになりました。

とはいえ、SQL言語はいまだに把握できておりませんし、どこかでは学びたいと思っています。
そんな私が設計するデータベースはいびつなものになると思われますが、必要な機能を少しずつ実装していきたいと思っています。

そもそもGooleスプレッドシートでデータベースのようなものを作ろうと思ったとき、どうすればよいのか分かりません。
今気になっていることは、idでの管理です。セルにidの番号を入力しておくと、表示はマスタの文字列で表示できるものなのか?

ちょっと調べてみます。

この画像はBing Image Creatorで生成されました。
© Microsoft Corporation. All rights reserved.

少しだけ調べたところによると、idでの管理に関する例がほとんど載っておらず、プルダウン機能を利用しようと思うと、idによる管理ではなく、直接文字列で管理した方が良いようでした。

おおよその全体像はこんな感じでしょうか。

ここまで整理すると、「アイテム」と「詳細」が1対1の関係であることがわかります。
リレーショナルデータベースでは1対1の関係を構築することもできますが、Googleスプレッドシートだと管理が難しくなる可能性があるため、一本化することにします。

こんなことを考えながら少しずつデータベースの形を作っていきます。
ここまでくれば、実際の形が見たくなってきます。

この画像はBing Image Creatorで生成されました。
© Microsoft Corporation. All rights reserved.

さっそく作っていきます

置場マスタ
樹種マスタ
樹形マスタ
鉢マスタ
アイテム

「アイテム」シートに置場、樹種、樹形、鉢の列を作ります。
この列には、それぞれのマスタからプルダウンで候補を選択して記入することにいたします。

セルを選択し「挿入」-「プルダウン」を選択します。

条件を「プルダウン(範囲内)」に変え、「='置場マスタ'!$A$2:$A$100」とします。
後は「完了」を押すだけで完成します。

条件の範囲は少し多めに設定できますので、99個まで登録できるようにしておきました。

最初は、マスタに都度都度追加する必要がありますが、一度入力すると、後からの管理は簡単になります。

そして本題のアクティビティに入っていきます

アクティビティマスタ

実際に盆栽鉢に起こるイベントを列挙してみました。

黒松.剪定
紅梅.開花

といった感じです。
でも実際には、黒松は自らが剪定するわけでもないし、オーナーのアクティビティなわけで、オブジェクト指向という訳でもなさそうです。

アクティビティ

ここに手入れを書き入れていくことにします。
過去の手入れも写真を見ながら記入できると思います。
写真の情報量の多さを改めて認識しております。

実際に少し記入しました

アクティビティ

確かに写真を見ながらの記入はとても便利です。
「対象key」が写り込んでいるものはすぐに記入できますが、そうでないものは時間が掛かると思います。
今回のプロジェクトのキモはkey管理することに尽きそうです。

さいごに

今回はここまでにいたします。
なんとかアクティビティを管理できるところまでたどりつけけました。

対象keyに若干の不安を抱えています。

例えば、水やりのときはほとんど全部の鉢に対して行っています。その時「対象key」をひとつずつ記入するのでしょうか?

リレーショナル・データベース的には、ありだと思います。
でも、これでいいのかな?と思います。

もう少し工夫できないか?そんなことを考えています。

そもそも、アクティビティ管理はGoogleカレンダーを使うべきではないか?
そんなこともぼんやり考えています。

次回はアウトプットについて考えます。

最後までお読みいただき誠にありがとうございました。

この画像はBing Image Creatorで生成されました。
© Microsoft Corporation. All rights reserved.

#盆栽管理 #画像管理 #アクティビティ管理 #プルダウン #Googleスプレッドシート

この記事が気に入ったらサポートをしてみませんか?