ソリューションの作成
 
ソリューションの作成
ソリューションを作成するにはまず保存する情報、データベースの構造、およびデザインについて検討します。次に、FileMaker Pro のデータベースファイルを作成してテーブルフィールドを定義します。
優れたデザインのソリューションにより、データの入力や検索の方法が統一されるだけでなく、データベーステーブルでデータが重複することも少なくなります。リレーショナルデータベーステーブルの機能を使用すると、最新のデータを必要なときに得ることが可能になります。実際にリレーショナルデータベースを作成する前に、どのようなデータベースにするのか紙の上で計画してみることをお勧めします。
データベースを計画するには、次のことを行います。
1. どのような目的でデータベースを作成するのか、またはどのような問題を解決する必要があるのかを決めます。たとえば、「顧客の一覧を管理するため」、「在庫を管理するため」、「生徒の成績を管理するため」、「データをデスクトップコンピュータや iPad、および Web ブラウザで操作するため」などの目的が考えられます。
データベースを使用するユーザが他にもいる場合は、そのユーザが必要とするデータを確認します。
2. データベースに保存する情報について考慮します。通常、情報は大きなカテゴリに分けることができます。データベースにはさまざまなタイプや量のデータをカテゴリに分けて保存するため、効率的なデータベースを設計するには、カテゴリを正確に識別することが重要です。たとえば、売上を管理するデータベースでは、「顧客」、「製品」、「請求書」などのカテゴリを使用します。生徒の成績を記録するデータベースでは、「生徒」、「クラス」、「課題」などのカテゴリを使用します。
3. 大まかなカテゴリを決定したら、これらのカテゴリの関係について考慮します。このために、「顧客が製品を注文する」、「請求書に顧客の注文を記録する」のように、カテゴリの相互関係を簡単な文章で表現します。これらの各組み合わせが、一方のカテゴリにあるデータと、他方のカテゴリにあるデータのリレーションシップを示します。
4. 情報のカテゴリを識別したら、次はデータベースを編成します。
データベースの用語では、これらの情報のカテゴリをテーブルと呼びます。テーブルを使用して、共通の要素や目的を含むデータをグループ化します。たとえば、1 つのテーブルに氏名や住所を保存し、別のテーブルに受注日、製品番号、単価などの取引に関する詳細情報を保存します。
一般的に、データベースは、次の 3 つのいずれかの方法で編成されます。
1 つのファイルで 1 つのテーブルを使用する。氏名と住所など、1 つのカテゴリに含まれるデータを管理する場合は単一のテーブルを使用します。
1 つのファイルで複数のテーブルを使用する。顧客、製品、請求書などの複雑なデータを管理する場合は、複数のテーブルを使用します。
複数のファイルで複数のテーブルを使用する。複数の異なるデータベースソリューションで同じデータを共有する必要がある場合は、複数のファイルを使用します。たとえば、税率または輸送情報を個別のファイルに保存して、複数のソリューションで使用することができます。
同じファイル内のテーブル間で、または外部ファイル内のテーブルとの間でデータを共有するには、リレーションシップを使用します。スクリプトやアクセス権などの他のデータベース要素は、ファイルレベルで保存されるため、一部の複雑なソリューションでは複数のファイルを使用すると便利です。
メモ  FileMaker Pro は非常に柔軟であるため、多くの場合は、データを単一のファイルに保存するか、それとも複数のファイルに保存するかは、データのまとめ方や利便性の点から決定することができます。テーブルに保存されたデータは、リレーションシップを使用すると、同じファイル内のテーブル間で、または外部ファイル内のテーブルとの間で簡単に共有することができます。詳細は関連テーブルと関連ファイルの操作を参照してください。スクリプトアクセス権など他のデータベース要素はファイルレベルで保存されるため、一部の複雑なソルーションでは複数のファイルを使用すると便利です。
5. データベーステーブル、含まれるデータ、および必要なフィールドを決定します。
ヒント  レコードの検索とソートを効率的に行うためには、姓と名、敬称 (「様」、「殿」、「御中」など)、住所の各項目 (郵便番号、県名、都市名) にそれぞれ個別のフィールドを作成します。データ入力時にデータを複数のフィールドに分けて入力すると、将来的にレポートをより簡単に生成することができます。たとえば、個別のフィールドを使用して、各取引の日付、製品番号、数量、および単価といった取引明細を記録すると、週末、月末、または年末に集計レポートおよび小計レポートをより簡単に作成することができます。
6. テーブル間で共通するデータを含むフィールドを決定します。
たとえば、ベーカリービジネスのデータベースには、顧客情報を保存する「顧客」テーブル、製品情報を保存する「製品」テーブル、販売した製品の情報を保存する「品目」テーブル、注文情報を保存する「請求書」テーブルが含まれます。
また、テーブル内のフィールドはすべて、そのトピックに関する情報のみを入力するためのフィールドです。たとえば、「顧客」テーブルの 1 つのレコードのフィールドには、一人の顧客に関する情報がすべて保存されます。同様の理由で、各顧客に固有の識別番号を割り当てます。新しい顧客を追加しない限り、顧客 ID 番号をファイルに入力することはありません。したがって、顧客 ID が存在していれば、その顧客のレコードが存在することになります。「顧客」テーブルには、顧客の名前、住所および電話番号のフィールドも含まれます。
「製品」テーブルには、製品識別番号、各製品の単価および在庫数のフィールドが含まれます。「品目」テーブルには、製品および請求書の識別番号、名前、単価、数量および各製品の販売総額のフィールドがあります。「請求書」テーブルには、請求書識別番号、注文日および販売担当者のフィールドがあります。
顧客、請求書、品目および製品の各テーブルのフィールド
7. それぞれのテーブルの照合フィールドを決定し、丸で囲んでおきます。
リレーションシップの照合フィールドについてを参照してください。
顧客、請求書、品目および製品の各テーブルの一致フィールド
8. それぞれのテーブルで、データを保存するフィールド、および他の関連テーブルからのデータを参照して使用するフィールドを決定します。
テーブルに保存されている情報の内容から、データをどこに保存するのが適当か、そしてどこで関連テーブルのデータを使用するかを確認することができます。照合フィールド以外のすべてのフィールドは、データベース内で一度だけ使用します。テーブルの内容に関連していない重複フィールドには、取り消し線を引きます。
顧客、請求書、品目および製品の各テーブルで重複する不要なフィールド
9. テーブル間のリレーションシップを決定します。1 つのテーブルの照合フィールドと、対応する関連ファイルの照合フィールドを線で結びます。
テーブル間のリレーションシップは、共通のデータが含まれている照合フィールドによって決まります。
顧客、請求書、品目および製品の各テーブル間のリレーションシップ
また、リレーションシップによってデータをグループ化することができ、複雑なクエリーを解決することができます。たとえば、リレーションシップを使用して、現在の在庫レベルや売上計画など、複数のテーブルのデータをクエリーする必要がある作業を判断することができます。関連テーブルと関連ファイルの操作を参照してください。
10. 他のユーザとデータベースを共有する必要があるかどうかを判断し、共有する場合には他のユーザがファイルにアクセスする方法を決めます。
ネットワーク上でのファイルの共有を参照してください。
11. 他のユーザか使用するためにデータベースをデザインする場合、紙の上で計画をユーザに示してレビューし、変更があれば提案してもらいます。
12. 作成したデータベースを誰が使用するのかを考慮して、データベースへのアクセスを制限するかどうかを決定します。データベースを作成する際は必要に応じてアクセス権を割り当てます。
データベースの保護を参照してください。
13. レイアウトを決定し、それぞれの処理に対応する個別のレイアウトをデザインします。
たとえば、ラベルや封筒の印刷用のレイアウトを作成し、iOS デバイス (iPad や iPhone など) または Web ブラウザで作業するためのレイアウトを作成します。
レイアウトとレポートの作成と管理を参照してください。
14. 必要なファイルとテーブル、それぞれのテーブルのフィールドを一覧表示するフォームを作成します。また、各テーブルのデータに基づいて作成する定型文書やレポートもリストアップしておきます。
15. データベースを作成します。
新しい空のファイルからデータベースを作成するには、FileMaker Pro ファイルの作成を参照してください。
Starter Solution からデータベースを作成するには、Starter Solution からの FileMaker Pro ファイルの作成を参照してください。
16. 他のユーザが使用するためにデータベースをデザインする場合、数人にテストを依頼します。ソリューションの一般使用を開始するまえに、すべての問題を解決してください。
関連項目 
データベーステーブルの定義
データベースフィールドの定義
レイアウトの作成
データベースの保護
リレーションシップについて