投稿内容:「こんなテーブル構成とリレーションは避けたほうが良い例を紹介します。」
※本記事はあくまで参考の一例です。必ずしも「避けなければならない」という訳ではありませんので予めご了承下さい。
本投稿はFileMaker制作経験が未経験~概ね2年ほどの方に向けたものです。
誰でも簡単に作れる・・・はずなのに
あなたはFileMakerを独学で制作していますか?
データベースを作る経験があまりないと、最初はどのように構築していっていいか分からないと思います。
そこにリレーション(データを紐づけること)が加わると、ますます頭に?マークがくっついてしまうかもしれません。
FileMakerの場合、「誰でも簡単に作れる!」なんていうキャッチフレーズがついていたりするので、「きっとできるはずだ!」と、あれこれリレーションしてみることになります。
でも結局思い通りにいかない。。
ということも多いかと思います。
リレーションがうまくいかないパターンはいくつかあると思いますが、今回はそのうちのひとつを紹介してみたいと思います。
うまくいかないパターン例の概要
今回紹介するのは、エクセルシートをそのまま使ってFileMakerにしてしまうパターンです。
筆記具や備品などの消耗品を管理するエクセルをFileMakerで管理するという想定で話を進めてみましょう。
エクセルには5つのシートがあります。
・購入記録
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2MTn9VmxuNy1rn8z_Oi3HlYZ8h4uO9WGONsYKtl502-f7xD4ymGFmonqIKGjIgQv3ZhxWDozKTzsZHPMLV-4YL_Xdt5gVYDGZj1ipYsiqxZupyPM1LnJ0JdVlzrGHnZsulBAxONCieZk/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB01.png)
・承認
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkpImwV1tT6iMMiQ-kv6lel_EMPfp9tdLVgp9jy8RvRKpa-7vRBtslCthSMI24_1jJ2GYvGVYKsbcxbUhYMw_MZkh4hJN2fE5imbOhcpnNK4LaAMWvKMbnaC0PV8ugb93ZDwSjCGUQr_M/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB02.png)
・筆記(用具)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfcXMRJpTC2YdobaZ_zoMQgow3OCnd-mY1Ujt-gvrWfIoddUCbiLILjsu4k7S6FMWXeQ2fH-Fb-oOTxj0Zl3BW0XV9n3X0h-v5M32PoMmz3043mXZI1Cv0ceMYX1KXavwBisYi4OkzqKg/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB03.png)
・事務用品
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGTG2ELF182Lq_igQb3XwKuDyZ3cgq7ghW0wrIBclJBrQn75_VlmpZeF4vZdZNfxvHFrXPsX1hq-oKqU8eJSJzDUgSzcwy8veMYs_RIB6Y92QRj_94smpf47kysRmd8RIbqd36cDW1p1A/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB04.png)
・備品
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9MzHUuXh5Aj_hQFbuz5p8HtHbAbtIlCM8XyXntZmvjFB0WLa-jx6FyZnxWwzphmTQryWxui4V2poiw-kwcwjfnwIY1mbP_-u-HHbkIEnJGj_Bmy62rQj-c4KEd7pOOPzhxPmk0GgwAlQ/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB05.png)
購入記録を残して、承認の記録も残したい、という要望のエクセルです。
いろいろとツッコミどころのあるエクセルに見えると思いますが、かなりいい加減に作ったサンプルなのでご容赦ください(^_^;)
ともかく、こういうエクセルをFileMakerで管理したい!という想定です。
FileMakerにテーブルを作成してみると・・・
最初はエクセルをFileMakerアイコンにドラッグ&ドロップして、ともかくも購入記録シートをFileMaker化します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLjdVAtEaSreZ3LMXFgrZ9ZoV399RNOWsmDruLXLCfv2YaLBMwIp0oaR5SMZGS8rGsFbZ49rbPcmJ6rRtaqhcSk9nzZpd0gcd_wKiqPucsyTCgE3uz_v5I43pErffMyi0Sh_crep4FkCY/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB06.png)
他のシートもインポートしてテーブルを追加していきます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHDz3HJvjGqW2mYHOZG9YYvogGM9MBgyYUymfo6dQfGBs_fRi_H5iPAwT9Tp3GbpRBzxf9RkIk5JdKXNnz2OqDUYTmIyOhcu8F_Tk0Rt4YrDQl5lWmnKCWb3yvwtnvVrBnUZEFdeVd7TY/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB07.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUDy2EHgDsjFeBRti-I8uJgX-6GgFIIDV0BrGDEBcwQU1iinfyhxQBu35xN-_dKU-Qze4UV8wZLJGlcU6qLBe_ccygGJif1MmC1n8zertNjmEdv5DH9euSAG5eM5_1gETimMm9hY1eTLM/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB08.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPIo909rXwwIRAljjS_fJaSQZvdtXyV7KNt4LpdQy-t4nAT-m5Pg3E9PMC53sd_3Vr965MGaVztAbiFPWcD3eA8u6D3aZ8zwAAQjQFZ6PdS4S-R-XNgNjLAzed00yiVN3N5fAQvNFm4Rs/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB09.png)
はい、実はもうこの時点で危うい方向に進んでしまいました。
各シートをうまく取り込んだように見えますが、このテーブル構造はあまりよろしいとは言えません。
なぜよろしくないかというと、ざっくり言えば似たようなテーブルが存在しているからです。
例えば「筆記用具」「備品」「事務用品」の3つのテーブルです。
3つあるということは、管理するテーブルも3つあるということです。
もしリレーションする場合、通常より3倍の数のリレーションが必要になってしまい、それだけで煩雑になってしまう未来が待っています。
また、購入記録と承認のほうも、同じような項目があったりしてやはり良い状態とは言えません。
データを追加更新するとき、両方のテーブルを更新していかなければならなくなります。
そして仮にこの状態でリレーションを組んでみても、やはりあまり良い未来が見えてきません。
まだ5つのテーブルなら何とかなるかもしれませんが、今後拡張していくときに複雑なリレーションを張ることになってしまいそうです。
【註】リレーションが出来ないということではないし、間違っているとも言えないので三角。将来的な拡張の際に管理が大変になる可能性があるということです。
教訓:
エクセルのシートをそのままテーブルにしてはいけない場合もある。
☆自社で作れるようになれば費用対効果バツグン!
▶FileMaker を学べば自社開発で業務効率化や売上アップができます。そんなサポート一覧はこちら🔗
FileMaker化する前にデータ整備をする
エクセルのシートをそのままテーブルとして取り込んではいけない場合があります。
FileMakerに取り込む前に、まずデータの整備を考えてみたほうが確実に良いです。
では今回のサンプルではどうなるでしょうか。
次のシート構造はあくまで一例ですが、データ整備を行ってから再度FileMaker化してみたいと思います。
エクセルのシートを3つにしました。
黄色い項目が追加したものになります。
・購入記録
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7aLVRJDU22elS1SkyeEpq1NgLo9fa6aV8EzzMowoXgrLhvGx1PKyrTkywHUgIBF7GHz5EXZsLiu3kSaNQucJOyEnaCLlwDnPTo2fgbrlQR7Bwace1j6xtwmBzzsQhpA6JeWpWaFl4jsE/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB11.png)
・社員
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSyQfTTkTbdy7p5X8zz6qm9Qbpgghcq8adAd-YlQNJlf_V680J_ZtT4kEbeYZ_CeK2ABPRqxLk8RdvOlGxEHJqeWX2TXwHo_tt51BpeJmCWfmtbiZVu20YGMyGAfH1o9z8xPR48aVLgSg/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB12.png)
・消耗品
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfwIRcJ9dRdfL4C-hd2x-ccxbrjqI74N-yYSo-lhN0Uwi9Vpb1JRWSENu-io9-t86gZ6EaCZpwi7hxCfkBJ9UgeQ7S7e-J9RCNDQYsPLDvshev0oCN5p0ak-jXeyh7M5rorpRhh2Hy3xk/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB13.png)
整備した点は大きく3つです。
①購入記録シートに、購入数と承認者と承認日を追加しました。
②新たに社員シートを作りました。
③筆記・事務用品・備品のシートを消耗品シートに統合しました。
この状態で3つのシートを取り込んでFileMaker化してみます。
もうおわかりのように、テーブルは3つだけになります。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVBRFyoIX2t0Rz0CjsF77jOvvzmC8e3NX1ziss520SsXaK7rkUgPcWxY2vqgZdRX40g2VShAD6U4oM8R4kr5mL-ukx7fxC1cd4iHbeJiatPXJKqzO1tHEd_TJgWnnHDpRjQxcCEyTCdf8/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB14.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRySO2pKs_JF6lvPWZ7-uBQ480-oqGx25HKdFQ2HqtTAG3zw3MWE6FcxLxuak6mH7H2byWfWwG6SeOUxr4ZdtllR3gjRbDlUenpnbBWbMpxNOzHoElJdhhqkfgyB9hpjr48QS_hebURF8/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB15.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd-e_5HEphNHWgGl8B0mlUr-jgLHyE_0mYTQ7cy-Cz0UHQySwriODaJMAOBk228asjWC8PmAa7-2JcjzvpWEAMd5JL1DCQ9UN9xdVcIVgEf1llvtYIgdYi923cG9_WeFJkdJvMfstS6Wk/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB16.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOwkPrkMi9EVBM8xWNRHux7kysujTZjhAKfTPofsxNaVqJUvDG48Ozvnj03t85hxUeHSADy0CrhgKP4_lPeISs6DftmWClsjIxjE-u1Tn6zsWWe_7v-gk5xxKXpO6NlBLe2773-mOo3BQ/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB17.png)
リレーションも組んでみます。
※購入記録テーブルに製品番号を追加しました。(消耗品番号という名前の方が分かりやすかったかも)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC85sKTlnobC5tAgZeTGueYrU0rTSI1J0pmJCVLYjnCZZv7LPMc5D_3T2PY4q8bU6qEUshvf2ulnw6BcPWqwy4knA3-Jy82KW_wqu9gxi28ve9zo_LrhYDs7IB7OVaUCWhDGM1cX9rmN4/s640/%25E8%25BF%25B7%25E3%2581%2584%25E3%2583%2586%25E3%2583%25BC%25E3%2583%2596%25E3%2583%25AB18.png)
このデータ整備による変更によって、何が良くなったか。
データ(レコード)をどんどん追加していくのは購入記録テーブルだけで良くなります。
先の5つのテーブルのときは、どのテーブルに追加していけばいいか分かりづらく、1つのテーブルに追加したら他のテーブルにも追加しないといけませんでした。
今回3つだけのテーブルになったことでシンプルになり、データの追加もリレーションもスッキリして分かりやすくなるため、今後の拡張性も楽になります。
FileMakerに取り込む前のデータ整備はどうやってやるの?
データの整備って言うけど、じゃあ何か基準があるの?ということです。
大きく2つの種別を意識して整備すると良いのではないかと思います。
●ログ的なもの
●一覧的なもの(製品一覧、名簿一覧のような)※よく言う「マスタ」はこれ
ログ的なものは、日々データが追加されていくようなテーブルです。
一覧的なものは、たまに編集や追加があるくらいで、頻繁にはデータが動かないテーブルです。
今回のサンプルでいうと、ログ的なものが購入記録テーブルになり、一覧的なものが社員と消耗品テーブルになります。
日々データを追加していくのは購入記録テーブルだけになるので、とてもシンプルになったかと思います。
社員と消耗品は単なる一覧なので、増えたときだけデータ追加することになります。
ちなみに、消耗品シートを作成したときの”ミソ”は、「筆記」「事務用品」「備品」のくくりを「種別」というひとつの項目にしてしまったことです。
それによって、消耗品シートというひとつのシートにすることが出来、3つのシートが1つのシートになりました。
いかがでしたでしょうか。
もちろん、5つのテーブルの方でも決して間違いではありません。
ただ、データ管理の手間や将来の拡張性を考えると、エクセルをFileMaker化する前に一度データ整備をしてから制作を進めた方が良いと思います。
ガッツリと運用が始まって色々と機能追加された後だと、もう簡単に作り直すことができない状態になる場合が多いからです。
FileMakerを制作していく上で、参考になれば幸いですヾ(*´∀`*)ノ
今日も良い一日を♪
Blogger Comment
Facebook Comment