ラベル 情報処理 の投稿を表示しています。 すべての投稿を表示
ラベル 情報処理 の投稿を表示しています。 すべての投稿を表示

2016年2月23日火曜日

FileMaker(ファイルメーカー)で必要なデータモデリング

こんにちは!

今回は「データモデリング」についてです。

ファイルメーカー(FileMaker Pro)を使い始めた人が当たる壁では、ソリューションを作成する最初の段階、つまりテーブル・フィールド・リレーションの構成が非常に重要で、ここさえ最初にしっかりしておけば、後々楽になるというようなことを書かせていただきました。

その続編です。

データモデリングというと少し難しいかもしれませんが、テーブルやフィールドを作成する場合の考え方といっていいかもしれません。

テーブルの数を見直す

後で苦労するケースとして「テーブル数が少ない」ソリューションという場合が多くあります。

ファイルメーカーでは自己連結リレーションという同じテーブル同士をリレーションする手法が、よく使われます。

これを使用して、通常の正規化の考え方によらずに、テーブルを分けるべき部分を、一つのテーブルで完結してしまうケースです。

例えば、納品書のケースでは、

納品書マスターと納品明細といった形でテーブルを分けるのが一般的ですが、これを分けずに作ってしまうといったことです。

分けると管理しやすくなります。

この納品書のケースのように、帳票類を作成するためのソリューションでは、マスターと明細といった形でわけるという基本があります。

テーブルオカレンスの数は多くてもいい

リレーションでも「分ける」ということを念頭に置いておくといいかもしれません。

管理にしくいものとして、リレーションのグループが少なすぎるというものがあります。

リレーショングループが少なすぎるというのは、一つのテーブルオカレンスに、同じテーブルをもとにしているテーブルオカレンスを複数くっついているというパターンが多くあります。

こういう状況があるなと感じたときは分けるのが理想ではないでしょうか。


--PR--

2015年7月17日金曜日

その繰り返しフィールド、本当に「繰り返しフィールドでいいですか?」

繰り返しフィールドのデメリット


もう、FileMakerの扱いにも慣れ、多数のソリューションを作り、繰り返しフィールドのメリット、デメリットをご存じであれば、特にこの記事を読んでいただく必要もないでしょう。

FileMaker Proには特殊な機能である「繰り返しフィールド」というものがあります。

1レコード、1フィールドに複数のデータを保持できるものです。

本来は別のテーブルに保存して管理するべきデータを繰り返しフィールドに保存してしまうといったことが起きます。

例えば、請求書をFileMaker Proで作成するとします。

請求書には請求先の名前や、請求金額及び、明細が必要となります。

名前や請求金額などは1つの請求に対して、1つだけが必要なので、特に問題はありません。

明細は1つの請求書に対して、複数必要になってきます。

FileMaker Proを触る以前にAccessなどでリレーションを少しでも学び、使ったことのある方であれば、テーブルを二つ作ることを思いつくでしょう。

しかし、Excelから直接FileMaker Proに来た方などはどうしても繰り返しフィールドに手が出てしまいます。

私はこれがFileMaker Proの初めての罠だと思っています。

先ほど出ました明細行に繰り返しを使うと、Excelなどに出力する場合に、その後加工するのが面倒ですし、スクリプトや計算式で複雑になってきます。

あとで、このデータを別のテーブルに移動して使いたいなど、データの再利用が難しいなどのデメリットありますし、将来的にデータベースに加える際などに大変になってきます。

メリット

もちろんメリットもあります。

一時的にデータを格納したり、再利用するつもりもない、メモのようなものを保存する場合には繰り返しフィールドは効果的な場合も多くあります。


正規化

データベースには正規化というものがあります。

FileMakerの場合はそこまで厳密にする必要がないということも言われていますが、上記の例のように請求書の明細行などはテーブルを分けます。

正規化の詳しい内容について検索をしていただければいくらでも出てきます。

第一正規化くらいでいいので検索してみましょう。

まず、FileMaker Proを始められる方は、繰り返しフィールドを使わない方がいいでしょう。

いくつもソリューションを作成し、リレーションにも慣れてきたら、少しずつ使うようにした方がいいかもしれません。

2015年2月10日火曜日

FileMaker(ファイルメーカー)とデータモデリング~FileMakerの使い方を覚えるくらい重要なこと~

FileMakerはシステム開発


「なんだこれ! だれが作ったんだ」

私が初心者の時に作ったソリューションは今でも動いているものもありますが、
FileMaker11のものだったので、いっそのこと作り変えてしまおうと思い、構造を分析し始めたときに思わずPCのモニターに向かって叫んだ言葉です。

見るに堪えないし、ほかの人には見せられない。

同じような経験は他の方にもあるのではないかと思います。

FileMaker Proの使い方以前に、何でこういう構造にしたのか理解できないということが多くありました。

「ファイルメーカーの使い方だけを覚えても、業務に役立つシステムは作れない」ということを身に染み、データモデリングについて勉強が必要だということを感じました。

FileMakerトレーニングシリーズ(training series)では「データモデリング」というセクションがあり、
データベースの設計について書かれています。

わざわざひとつのセクション丸ごと扱うということは、重要だということでしょう。

私もそうでしたが、とにかくExcelや紙はやめたいという思いが強く、そんな小難しいことを勉強する余裕があるはずもありませんでした。

長く、業務に役立つものを作り、社内からも支持されるには、小手先のソフトの使い方ではなく、表には見えにくい基礎的なことを充実させることが、いいソリューションを作成することではないかとFileMakerを使い始めてからしばらくして気づきました。

とはいえ、こういった分野のことは本当に奥が深く、インハウスの開発者であれば、あまり意義を見出せないかもしれません。私もそう思ったことがあります。

しかし、何年間前に作ったものを見返すたびに「基礎を見直そう」と思うわけです。

私もまだそんなことを言っても勉強の途上にいるので偉そうなことはとても言えません。

重要だと思ったこと

・シンプルに行く(=他の人が見て分かりやすいように)
・システムを業務に100%合わせようと失敗する

たぶんシステム開発に関して書かれた本か何かに書いてあったことだったと思います。特に「システムを業務に100%合わせようと失敗する」は本当にそう思います。

「システムを業務に100%合わせようと失敗する」とは、紙やExcelの帳票をそのままFileMakerに載せ替えるだけでは、業務の改善・効率化という意味ではあまり意味をなさない。というようなことです。

システムを作るとき、作り変えるときは業務フロー自体も見直す。と書いてありました。

無理に合わせようとすると、滅茶苦茶なソリューションを作り出すことになり、どこかで行き詰ってしまいます。

また、作ったソリューションはいつか自分の手を離れる。ということも意識しなくてはなりません。

自分の手から離れたものは他人がメンテナンスします。後任に分かりやすいように作ることを意識できれば理想的ではないでしょうか。

そういったことを実現していくには、やはり作る前にソリューションの要点を整理することではないかと思います。

メモでもいいと思いますし、cacoo.comのようなツールを使って図を作ってもいいでしょう。

できれば図式化しておき、頭の中を整理するといいのではないかと思います。

2014年12月1日月曜日

なぜあなたのFileMakerデータベースは遅いのか?

FileMakerは遅い?

「FileMakerは遅い」と言われることがあります。

それはなぜでしょうか。

ツールやソフトには大きく分けて二つあります。

専門的な知識を必要とするプロ用のもの
特に専門的な知識を必要としないパーソナル用のもの

仕事で使用するものなのにパーソナルというのもなんですが、
特別な知識を必要としないということということです。

「FileMakerは遅い」といわれる原因の一つは、
FileMakerというソフトが、そのどちらにもあてはなまらない、
そのどちらにも当てはまるソフトだからなのではないかと思います。

実際、FileMaker Proを使用し始めるのに専門的な知識は必要ありません。

しかし、ソリューションやシステム開発に使用するツールとしては、
専門的な知識を必要とします。

専門的な知識がある人とそうでない人が同じことができるソリューションを作れるのが、
FileMakerの魅力ですが、

その中身は大きく変わってきます。

どんなツールにでも、そのソフトを重くする方法はいくらでもあります。

同じものを作っても、遅いものとそうではないものが存在するということは、
作り手の力量次第というということになるでしょう。

FileMakerで一番大変なのはパフォーマンスとテスト

だと私は思います。

少し前に書きましたが、新しいOSの動くiPadで新しいFileMakerのソリューションを動かさなくてはいけない。というようなことを書きました。

パフォーマンスは永遠のテーマのような気もします。

例え業務改善するソリューションを作っても、パフォーマンスが悪くては仕方がありません。

しかしパフォーマンスは経験によるところも多いので、経験の多い方に見てもらうのも手かもしれません。

インターネットを超えるデータベースは注意が必要

FileMakerでは非保存のフィールドを多用するなという不文律があります。

インターネットを超えないLAN内での運用しかないものであれば、
非保存のフィールドはそれほど、ストレスにはなりませんが、

インターネット(WAN)越しにアクセスがあるものに関しては、格段に遅くなります。
また、FileMaker GO向けのものも注意が必要です。

ちなみにVPNもWAN越しと同様です。回線などにもよりますが、一般的にVPNはWANよりも低速です。

リレーションを多用しない。

同じ計算式内で同じ計算を何度もする場合はLet関数を使う。

テーマを正しく使う。

など、いろいろあります。

ハードや回線よりもまず内部を見直す

ハードや回線を変えても劇的にソリューションのパフォーマンスが上がることはあまりないでしょう。

私の経験上でも、サーバ機のスペックを上げてもベンチマークでは明らかによくなって、私の目にも早くなっていることは分かりましたが、それが、ユーザの方まで認識できるようなレベルかどうかは難しいところです。

回線も低速なADSL→光などの差があり、1M→40Mといったぐらいにスピードが上がれば、別ですが、なかなか難しいでしょう。

それよりもデータベース内部を見直した方が確実といえるかもしれません。

2014年11月8日土曜日

FileMakerを始める人がまず何をすればいいのか? Part3

今回は、前回の「FileMaker(ファイルメーカー)を始める人がまず何をすればいいのかPart2」の続きです。

FileMakerと情報処理(システム開発)の知識


さて前回出てきましたITパスポートですが、これを取得できるレベルであれば全体的なソリューション開発の雰囲気が分かってきます。

大規模な、使用するユーザが数十人規模になってくると、システム開発のプロセスにある程度準じながら進める必要も出てきます。そのノウハウの基礎も学ぶことができます。

ITパスポートはFileMakerに直接関係ないけれど、知っておくべきITと情報処理の基礎というべきでしょうか。

また、FileMakerは一人で開発することが多いかと思いますが、将来自分が管理職になり、なかなかFileMakerをいじれない場合や、新人が入社し一緒に開発するときなどの時に、二人で開発ということもあるでしょう。

さらに、大規模であれば計画を事前に立てて、いつごろから運用するというようなスケジューリングも必要になってきます。

その基礎となるのが情報処理の知識です。

FileMakerは開発スピードが速いので、慣れてくると会社のシステムのリプレースや紙ベースでの業務を移行するといったことをどんどん進めていくかもしれません。

また、会社からもそれを求められるようになるかもしれません。

そうなったときに、知識がないとほんとうに苦労します。
私は苦労しました。

次は同じ轍を踏まないぞと勉強をすることになりました。

基本情報技術者試験

それが基本情報技術者試験です。同じくIPAが主催する国家試験でITパスポートの上のレベルです。これは、FileMakerの専属の開発であれば、試験まで受ける必要はないかもしれません。私は、合格する目標がないと勉強に身が入らないタイプなので、取りましたが。

関係ない部分も多くあります。

関係ない部分(ジャンル)を挙げみましょう。

(午前試験)
・基礎理論(基数変換、浮動小数点など)
・アルゴリズムとプログラミングの一部

(午後試験)
・セキュリティとアルゴリズム以外のすべて


逆に必要な部分を挙げてみます。
(午前試験)
・アルゴリズム
・配列(FileMaker+PHPをお考えの場合)
・ハードウェア(用語の意味くらいで)
・ソフトウェア(用語の意味くらいで)
・ディレクトリとパス
・システムの構成(用語の意味くらいで)
・マネジメント系(流れをつかむくらいでいい)
・ストラテジ系
・セキュリティ
・データベース(ここは重要。特にFileMaker上でSQLを使うようになってきたので)
・ネットワーク系(FileMaker Serverを扱う場合は必須)

もっと細かく見ていけば、必要のない部分もふるい落とせますが、ざっとこんな感じです。
特に、セキュリティ、ストラテジ系、データベース、ネットワーク系は勉強した方がいいかもしれません。

FileMaker Serverを扱うと、ネットワークであったり、サーバを購入するならそれぞれのパーツの役割をある程度つかんでおかないと難しい部分も出てきたりします。

また、独学で基本情報やITパスポートを勉強しなくても、開発業者の方に教わりながら進めてもいいでしょう。

もし機会があれば、もっと細分化してこれから始める方がFileMakerとは別に学んだ方がいい部分についてお伝えできればと思います。

2014年11月7日金曜日

FileMakerを始める人がまず何をすればいいのか? Part2

今回は、前回の「FileMaker(ファイルメーカー)を始める人がまず何をすればいいのか」の続きです。

情報処理の基礎

FileMaker Proは誰にでもすぐに始められることが売りなんだから必要ないだろう。
そんな風に思われる方もいるでしょう。

確かに小規模で、FileMaker Serverも使わず、自分しか使わないものを作るのであれば必要ないでしょう。

これが、少人数であっても複数で使うようなものの場合、基礎がなく作っていくと、思ったパフォーマンスが発揮できないときにFileMakerのせいにしてしまします。

情報処理の基礎があれば、こういうことをするとなんで遅くなるのかが、なんとなくわかるようになってきます。

私は情報処理を勉強する前に作ったソリューションを後から見て、げんなりすることがあります。
テーブルの作り、フィールドの設定などいろいろなところで「足りなかったな」と後悔します。

そういったものは、使用する私以外の方にとってもあまり便利なものではないことが分かってきます。

では、情報処理の基礎ってなんでしょうか?

簡単に言うと、まずITパスポートレベルの知識はあった方がいいでしょう。

ITパスポートって?

IPA(情報処理推進機構)という独立行政法人が運営している国家試験です。合格すると、経済産業大臣から証書がもらえます。

ITパスポートという名前がついているので、ITの世界に踏み入るための券といったような意味になるでしょうか。

企業によっては、この試験に合格することを必須としているところもある基礎的な試験です。

合格率は50%程度なので、難しいものではありません。

ただ、こういった試験や資格を取ることに対して否定的な方もいます。私も否定的な方の考え方は理解できますし、そう思うときもあります。また、知識を持っていることを公的に証明できるという推進派の考えも理解できます。

私の場合は、自分でお金を払って試験を受けるという「崖」を作らないと真剣に勉強しない性格なので、最終的に試験を受けるようにはしています。自分はそんな「崖」を作らなくても大丈夫という方は、試験を受けなくても、勉強するだけでいいと思います。

また、ITパスポートはITの知識だけではなく、社会人として必要な経営的な知識や考えについても出題されますので、全体的に勉強して損はありません。


さらに次へ続きます。