NoCode Airtableでデータの管理 #3 ゼロから在庫管理システムを作ってみる(1)
今井@OCHです。
本記事では、NoCodeツールのAirtableについて取り上げています。 せっかくのNoCodeですから、開発エンジニアでは無い方に理解して頂ける表現を心掛けます。
前回記事はこちら
第3回では、いよいよAirtableにシステムを作成してみます。まずはAirtableのベーシックな機能を使います。紹介する内容は在庫管理システムです。
前回記事で弊社製品のRepliを紹介させて頂きましたが、引き続き弊社製品をサンプルに解説します。(解説のために簡素化した例にしていますが、実際の管理方法は異なります)
今回つくるシステム
弊社の製品『Repli』というNAS(ビジネスで生み出されるファイルを安全に保管する機械)には、ハードディスクを本体に取り付けて出荷します。
ここで、ハードディスクと本体という2つの在庫管理と、その2つを組み合わせて完成されたNAS製品(Repli)の管理をするシステムをAirtableでつくりたいと思います。
はじめに
Airtableのアカウント作成や、ベースやテーブル、レコード、フィールドといった言葉・概念ベースの準備などは、沢山情報がありますのでこの記事では割愛します。
※ Airtableの基本的な概念については NoCodeCampのツバサさんが詳しく解説しています。ぜひご参考ください!
ハードディスクを管理するテーブルを用意する
まず、「在庫管理」等の名称のベースを作成します。
それでは、まずハードディスクを管理するテーブルをつくります。
単純に、シリアル番号と種別という2つのフィールドを用意してデータを入れてみます。
とりあえず、1TBと2TBを4つずつ合計8つを在庫として登録しました。
種別というフィールドは「Single select」というフィールドタイプにしてみました。これは、以下のように予め選択肢を準備しておいて、入力する内容を選択できるようになるものです。
さらに、見やすくするために種別というフィールドでグルーピングしておきます。種別というフィールドを右クリックして、「Group by this field」を選択すると簡単にそのフィールドの内容でグルーピングしてくれます。
このように同じデータでも見え方を様々表現することができます。
この「見え方」をView(ビュー)と呼んでおり、Airtableでは、いろいろな見え方を保存しておくこともできます。
本体を管理するテーブルを用意する
シンプルに、本体を3台登録しました。
完成製品を管理する
先に準備したハードディスクと本体の管理表(テーブル)を使って組み立てを行うと完成製品になります。
Airtableでは他の表で管理されているレコード(データの1行をレコードと呼びます。)を「リンク」という機能を使って紐付けられます。
それでは、仮にお客様から注文を受けて製品を組み立てたとしましょう。
完成製品というテーブルを作成して、製品シリアルを割り当てして登録してみます。
これだけでは、どのハードディスクや本体が割り当てられているか分からないので、「リンクフィールド」を作成します。
新しいフィールドを作成する際に、「Link to another record」を選択します。
分かりやすいように、搭載ハードディスクというフィールド名にしておいて、リンクする別のテーブルを選択します。
その際に、先程あらかじめ作成しておいた「ハードディスク」というテーブルが選択肢に出てきますので、選択します。
その後、以下のように2つチェックする項目が出てきます。
「Allow linking to multiple records」は、リンク先のレコードを1つとするか複数とするかです。今回は、完成製品に搭載するハードディスクは1台のみという仕様として、チェックは外しておきます。
もし、複数台搭載する仕様だった場合「Allow linking to multiple records」をONにすれば良いかというと、そうでも無かったりします。もし、必ず2台搭載する仕様だったら、もう一つ「搭載ハードディスク」フィールドを準備して同じように「ハードディスクテーブル」にリンクしたほうがミスが減ります。何台搭載するか決まっていない仕様の場合は、「Allow linking to multiple records」をONにすると良いです。
リンクフィールドを作ると以下のように、「+」ボタンが押せるフィールドが作成されます。これを押すと...
以下のように、「ハードディスク」テーブルに登録されたデータから選択できるようになります。
実際に選択すると以下のようになります。
(「本体」のリンクフィールドも手順は割愛しますが、作成しています)
ここで、「搭載ハードディスク」が「ハードディスクテーブル」の「パーツシリアル」の表記になっていることが分かります。本体は良いとして、ハードディスクの場合は1TBが搭載されているのか2TBが搭載されているのか分からないと困ると思います。
そこで、「Lookup field」というものを使って解決します。リンクフィールドである「搭載ハードディスク」フィールドを右クリックして「Add lookup fields」を選択します。
そうすると、「ハードディスクテーブル」のフィールド一覧が表示されますので、1TBや2TBを区別しているフィールドである「種別」を選択します。
そうすると、リンク先レコードの「種別」フィールドを表示する「種別 (from 搭載ハードディスク)」Lookup フィールドが作成されます。
※ フィールド名称は変更できます
リンクフィールドを作成するとリンクした先からも自動的にリンクされる
ここまでの、手順で基本的なデータを登録できました。そこで、あらためて「ハードディスク」テーブルと「本体」テーブルを見てみます。
ご覧の通り「完成製品」という名称のリンクフィールドが自動的に作成されていますね。
Airtableでは、リンクフィールドを作成すると、逆側のリンクも自動的に作成されます。
まとめ
非常に単純ではありますが、ここまでで「完成製品」がどの「ハードディスク」と、どの「本体」を使って組み立てられているのか、関連性を含めてデータを管理する状態になりました。
ここで重要なことは、リンク先は「フィールド」ではなく「レコード」ということです。レコードにリンクしているため、Lookup フィールドでリンク先の別のフィールドも呼び出すことができます。
Airtableではリンクと呼んでいますが、専門的な言葉では、このような関係を使ってデータを管理するシステムをリレーショナルデータベースと呼んでいます。日頃、皆さんが触れるシステム「飛行機の予約システム」「ATM」「会社で使う会計ソフト」など、殆どがリレーショナルデータベースです。特に仕事の業務で管理したいデータは、90%以上がリレーショナルデータベースで管理できます。
Airtableでは専門的な知識無しに、リレーショナルデータベースを使った管理を簡単に行うことが最大の強みです。
リンクについて、もっと詳しく知りたい方は英語ですが公式サイトで解説されています。
基本的なフィールドを準備しただけで、これだけではシステムとは呼べないので、次回からこの基本的な構造を発展させていきます!
続きの記事
著者