みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも大変お世話になります。
使用環境はFMpro12、win8.1です。
今、ファイルメーカーを使用したデータベースを運用しているですが、課題があります。
それは、「1つのテーブル内に使用していないフィールドと使用しているフィールドが混在している」ことです。
過去のデータベース作成者が、以下のようにデータベースを作りました。
1つのテーブル内に
・患者ID
・患者名
・性別
・疾患名
・・・
・・
・
というように全てのフィールド情報が1つのテーブルに入っています。
テーブル内に1069のフィールドがあります。レイアウトは148もあります。
私の認識だと、レコードが作成されるたびにこのテーブル内の全てのレコードが作成されますよね?
そうすると、不要なレコードまで作成されてデータ容量がどんどん増えていってしまいます。
本来であれば、テーブルごとに必要な情報で仕分けて、リレーションを組んで、他のテーブルで欲しい情報はポータルを使って運用するのが正しいやり方だと認識しています。
そこで、今回、テーブル内にある「使用していないフィールド」を消去していき、データベースをもっとスリムにしていきたいと考えています。
先ほども言いましたが、このテーブル内に1069のフィールドがあります。
レイアウトは148もあります。
本当に頭をかかえています。
使用しているフィールドを残して、使用していないフィールドを消していきたいのですが、やはり1つ1つレイアウトを確認して使用しているフィールドを目視して確認していくしか方法はないでしょうか?
よろしくお願い致します。
Offline
ひとつひとつ見てゆくしかないのではないかな。。
フィールドの空白を検索して、
対象レコード数と全レコード数が同じならそれは全レコード空白のフィールドということですね。
フィールド定義の印刷が出来ますから、それをチェックしながらできます。
Offline
Base Element などのユーティリティーを使うと、テーブル内のフィールドとレイアウト内のフィールドが紐付けできます。そのようなユーティリティーを使われるのも一つの手でしょう。
今のファイルで、テーブルが一つのように読めるのでしが、それでしたら、フィールド数はそんなものかもしれないと思いますが、レイアウト数が半端ないですね。
フィールドの整理より、全体的な構造の整理を行った方が、手間が少ないかもしれませんよ。
具体的には、今の構造のデータのない複製を作ります。レイアウトを系統分けして、新たに必要なテーブルを作り、フィールドを定義していきます。その作業を行う全て新しいテーブルで定義が終わると、自然と不要なフィールドは定義されていないはずです。
そのフィールドにデータが存在していないことを確認して、データをインポートしていくと、新しい構造へ移行できます。
その後、古い構造を削除すればいいのでは。
Offline
Base Elementsはデータベースデザインレポート(DDR)をインポートして解析するため、結局Advanced版が必要です。
今回の用途であれば、まずはDDRをHTMLなどで出力し、不要そうなフィールド名で検索して使用状況などを確認すれば、
削除が可能なフィールドなのか判別できるんじゃないでしょうか。
レイアウトも同様ですが、フィールドのようにDDR上の使用状況だけで判断できないため、
最終的には個々のユーザーが見ていくしかないでしょう。
-
DDRの出力するHTMLは結構酷いので、Base Elementsで補っても良いですし、自力で改善もできなくはないです。
以下はDDRを触った際のノートです。
■ データベースデザインレポート(DDR)のカスタマイズ
http://filemaker-kou.seesaa.net/article/146596319.html
■ DDRのXMLをFileMakerにインポートする
http://filemaker-kou.seesaa.net/article/164221698.html
-
Shinさんの仰るように全体的な整理が必要だとは思いますが、あまりに要不要が判別できないフィールドが大量にあると、
あるべき構造の確認や、データのインポートもままならないとも思います。
まずはDDRなりで、明らかに不要なフィールドやレイアウトを削除してみては。
Offline
最初にレイアウトの使用状況を調べてみるといいのでは。
この先はファイルの複製を作って作業します。
使っているレイアウト上にあるフィールドの名前を変えていけば(頭に"Use"とか入れる)、どこにも使われていないフィールドが分かると思います。
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 514.12 KiB (Peak: 519.02 KiB) ]