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を始められる方は、繰り返しフィールドを使わない方がいいでしょう。

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