データベースの作り方

=FileMaker Pro 7の場合=


目次
1.データベースとはなにか?
2.「栄養と料理基本カード」のデータベース化で学ぶデータベース
 1)起動
 2)ファイル名の指定と保存
 3)フィールドの定義
 4)レコードの入力
 5)レイアウトモード
 6)検索モード

1.データベースとは何か?

データベース=膨大なデータから必要なデータのみをすばやく見つけ出すシステム

KeyWord:フィールド、レコード

インターネット上の料理データベース例
1)味の素 レシピ大百科 6000メニュー(http://www.ajinomoto.co.jp/recipe/index_cnav.asp
    検索方法:シチュエーションで探そう!、食材や調理法で探そう!、フリーワードで探そう!

2)大阪ガス ボブとアンジ−/料理レシピ 約5000種類(http://www.bob-an.com/
    検索方法:材料、テーマ別(和/洋/中、等々)、郷土・各国
 
1)[フィールド]:目的に沿って、活用できるようにデータを整理する。その(データ)項目をフィールドと呼ぶ。
   料理データベースの場合、和/洋/中の別、調理法による分類、食材による分類など様々な料理区分
を検索項目(フィールド)として、そのデータベースにおいて定義しておく。 
注:フィールドとして定義していない項目は、データベースには入りません。

2)[レコード]:1件1件のデータ(料理データベースの場合、1レコード=1メニュー) 

よって、データベースの構築方法としては、
1)データベースの用意(ファイル名および保存先の指定)=>2)フィールドの指定=>3)各レコードの入力
の順番で行ないます。


2.「栄養と料理基本カード」のデータベース化で学ぶデータベース

女子栄養大学「栄養と料理基本カード」をデータベース化する。
? FileMaker Pro 7を使って、女子栄養大学「栄養と料理基本カード」をデータベースとして、取り込むことで、データベースの構築方法を学びましょう。

料理・食材・食品成分との間のリレーションを使って、栄養計算結果を料理データベースに取り込むことで、リレーショナル・データベースについて学びます。
よって、次の3つのデータベースを、1)起動〜5)レイアウトの各手順にしたがって、作りましょう。
 
「栄養と料理基本カード」のデータベース化で作るデータベース
データベース 料理データベース 食材データベース 食品成分データベース
ファイル名 料理DB.fp7 食材DB.fp7 食品成分DB.fp7
保存先:X:\学籍番号a (自分で学籍番号aというフォルダーを作ること)


1)起動

 スタート→すべてのプログラム→FileMaker Proをクリック。下の「新規データベース」ウインドウが出てくるので、「新規ファイルを作成する(N)」をクリックしたあと、「OK」ボタンをクリックする。

2)ファイル名の指定と保存

下のように、「新規作成」ウインドウが現れるので、保存先およびファイル名を入力し、「保存(S)」をクリックする。

ポイント:データベースでは、何らかの変更を行なえば、自動的にファイルに反映されるため、保存の操作は、最初におこなう
これ一回きりである。よって、「ファイル(F)→上書き保存(S」というコマンドは用意されていなく、バックアップ用に「ファイル(F)→名前を付けて保存(Y)」が用意されているだけである。

3)フィールドの定義

2)でファイルを保存すると、右のようにフィールドの定義をおこなうウインドウが現れる。1)フィールド名を入力し、2)タイプを選択し、3)「作成(R)」ボタンを押す、次のフィールド名は、いったん消してから入力し直してください。
  なお、「OK」ボタンを押したあとでも、フィールドを追加または削除する場合は、「ファイル(F)→定義(D)→データベース(D)」でこのウインドウを呼び出せる。

 各データベース・ファイルで、設置するフィールド(項目)は次の表のとおりである。
 
各データベースで設定するフィールドとそのタイプ
料理データベース 食材データベース 食品成分データベース
料理DB.fp7 食材DB.fp7 食品成分DB.fp7
フィールド名 データ種類 フィールド名 データ種類 フィールド名 データ種類
料理No. 数字 料理No. 数字 食品番号 数字
料理名 テキスト 料理名 テキスト 食品名 テキスト
料理画像 オブジェクト 材料の食品名 テキスト エネルギー 数字
作り方 テキスト 表示量 テキスト 蛋白質 数字
群別での料理分類 テキスト 材料の食品番号 数字 脂質 数字
調理法での料理分類 
テキスト 量g 数字 炭水化物 数字
   

これ以外の栄養素は、次の課題で。

ここで、食品番号(コード)は、「五訂食品成分表200X」(香川芳子監修 女子栄養大学出版部)に載っている番号です。

ポイント:材料についてのフィールドは、料理データベースでは直接設定しません。食材データベースの方でフィールドを作成し、そこで食品成分データベースとのリレーションを使って各食材の栄養素を計算した後、その結果を料理データベースで引用する形をとります。
 


4)レコードの入力

下のように、1)料理データベース、2)食材データベース、3)食品成分データベースのデータを、それぞれ3つのシート「料理データ」、「食材データ」、「5訂食品成分表」
に用意したExcelファイル「料理DB用データ.xls」を用意してある。 各シートには、先頭行にフィールド名が、それ以降は各レコードが1行づつ入れてある。

1)シート「料理データ」 料理No.、料理名、作り方、群別での料理分類、調理法での料理分類

2)シート「食材データ」 料理No.、料理名、食品名、表示量、食材の食品番号、量g

3)シート「5訂食品成分表」 食品番号、食品名(正式名所)、・・・、エネルギー(Kcal)、エネルギー(KJ)、水分、蛋白質、脂質、・・・


3つのデータベースで、それぞれ対応するシートからデータ(レコードを)、次の方法で、入力しよう。
@)ファイル(F)→レコードのインポート(I)→ファイル(F)をクリックする。

ii)場所およびファイル名を指定し、「開く(O)」をクリックする。

iii)対応するワークシートをクリックして選び、「OK」をクリックする。
iv)ドラッグして、Excelファイルのデータが、データベースのフィールドとすべて対応しているようにする。「フィールド名が含まれている最初のレコードはインポートしない」および「新規レポートとして追加」を確認後、「インポート(I)」をクリック。

v)最初の空白レコードを削除

   レコード(R)→全レコードを表示(W) 画面左にある本型のアイコンの左矢印をクリックする、またはその下のバーを左端にドラッグして持って行く等で、先頭のレコードに持って行き、レコード(R)→レコード削除(D)で、先頭にある空白レコードを消す。
失敗例:インポートを繰り返す。=>レコード数に注意し、もし、データ数が多すぎれば、一度「レコード→全レコード表示」、「レコード→全レコード削除」でいったんすべてのレコードを消してから、インポートする。

 なお、Excelファイルからのインポート以外にも、「ブラウズモード」で、手入力(入力->「レコード->新規レコード」で次のレコードへ->繰り返す)も可能です。また、画像データは、フィールドのタイプをオブジェクトにし、ブラウズモードで、フィールドのところで、右ボタンを押し、「オブジェクトの挿入」->「ファイルから作成」->画像ファイルを指定して1つ1つ入れるしか方法はありません。


5)レイアウトモード

図のように、ウインドウの右下の4つ目をクリックして、「ブラウズモード」から「レイアウトモード」に切り替えができます。「表示(V)→レイアウトモード(L)」でも切り替わります。各フィールドの枠の大きさや、フィールドの説明文も、(文字)サイズ、色、模様等自由に変えられますし、文字や図形の追加もできます。 
レイアウトモードでは、右のようなツールが出てきますので、赤い部分を使ってください。あるいは、対象を選んでから、書式(T)をクリックして出てくるメニューからでも出来ます。「食材データベース」と「食品成分データベース」では、間接的に使うだけなので、レイアウトは気にしなくてもかまいませんが、「料理データベース」では、直接データベースに触りますので、レイアウトを整えて、たとえば作り方などは全て見られるようにしておいてください。ただし、最終的なレイアウトの整理は、次のリレーションで、材料およびその栄養素のリストを入れてからにしましょう。

6)検索モード

図のように、ウインドウの右下の4つ目をクリックして、「ブラウズモード」から「検索モード」に切り替えができます。「表示(V)→検索(F)」でも切り替わります。
検索モードでは、右図の「検索」ボタンを使って、検索します。例えば、フィールド「料理名」に、卵と入力してから、この「検索」ボタンをクリックすると、「ブラウズモード」に移動し、「該当件数 13」が見つかりました。レコードの移動は、バーをドラッグして移動できます。
検索が終わったら、「レコード(R)→全レコードを表示(W)」で元に戻してください。ブラウズモードで間違えて文字の変更等をすると、そのまま保存されてしまいますので注意しましょう。

「いくつかの選択肢から1つを選ぶ」検索のための準備(値一覧)

 

フィールド「群別での料理分類」、 「調理法での料理分類」では、 第一群〜第四群、あるいは煮物、焼き物、・・・などレコードの値が 特定な値しか持たないため、いくつかの選択肢から1つを選ぶ形での検索が有効になります。 そのための準備が「値一覧」です。

i)ファイル(F)→定義(D)→値一覧(V)をクリック
ii)右図「値一覧の定義」ウインドウで、右下「作成(N)」ボタンをクリック。

iii)下図の「値一覧の編集」ウインドウで、1)値一覧名(N)に、「群別での料理分類」、 「調理法での料理分類」など名前を入力。
iii) 上で、「フィールドの値を使用」をクリックして選ぶと、直ちに、下の「フィールドの指定」ウインドウが現れます。

1)最初のフィールドの値を使用(U)の欄の下向き矢印をクリックし、 データベースを選べば(1つしかありません。)、このデータベースで定義したフィールドに一覧が出てきます。
2)フィールド「群別での料理分類」(または、「調理法での料理分類」 )を選択し、3)全ての値を含める(A)になっていることを確認して、4)「OK」ボタンをクリックします。
上の例では、「群別での料理分類」でおこないましたが、「調理法での料理分類」でも同様に値一覧を定義します。

iv)レイアウトモードで、フィールド 「群別での料理分類」(または、「調理法での料理分類」 )のところで、 右ボタンを押し、

右のようなメニューリストが出たら、フィールド書式(R)をクリック
「フィールド書式」ウインドウで、「次の値一覧の値を表示(D):」から定義した「値一覧を選ぶ。」

v)最後に、検索モードに行って、検索してみて下さい。