みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker Pro Advanced14.0.6
mac OS Sierra 10.12.3
こんにちは。いつもお世話になっております。
データベースの構造についてご教授ください。
対象のデータベースは広告のキーワードを分析するために作っています。
広告のキーワードはマッチタイプがあり、設定したマッチタプによって表示され方がかわります。
マッチタイプには3種類、Broad, Phrase, Exact, があり、キーワード自体はユニークです。
例
キーワード「プランター」:マッチタイプ「Broad」
キーワード「プランター」:マッチタイプ「Phrase」
キーワード「プランター」:マッチタイプ「Exact」
表示結果のCSVレポートをインポートしてから分析後にエクスポートするのですが、キーワードをユニークに保つためにそれぞれテーブルを分けて運用しています。
現在のテーブルは、少し簡略化しておりますが概ね下記の通りです。それぞれのテーブル用のスクリプトを作成して、インポート&エクスポートします。
-----------------------------------------------------------------------
■Broad_Keyword
- Keyword (ユニーク)
- MachType
- Click
- AdCost
■Phrase_Keyword
- Keyword (ユニーク)
- MachType
- Click
- AdCost
■Exact_Keyword
- Keyword (ユニーク)
- MachType
- Click
- AdCost
-----------------------------------------------------------------------
テーブルごとにほぼcopyに近いスクリプトを作成するのが、ちょっとおかしいんじゃないかと思っています。
本来キーワードもユニークにしたいはずなのに、それぞれ独立してテーブルとユニークなキーワードがあるのもおかしいんじゃないかと思っています。
3種類であればまだこのままやりそうですが、これが40種類とかになると明らかに非効率だと感じています。
よって、下記のようにユニークにしたいキーワードでマスターになるテーブルを作成し、Keyword_Informationのようなテーブルで管理したほうが良いのではないかと思ったのですが、普通はどうされるんでしょうか?
-----------------------------------------------------------------------
■Keyword_Master
- Keyword (ユニーク)
■Keyword_Information
- Keyword
- MachType
- Click
- AdCost
-----------------------------------------------------------------------
上記のようにした場合、非常にスッキリするような気がするのですが、今度は逆にどうやってインポートしたら良いのかわかりません。
初歩的な質問かと思うのですが、ぜひご教授願いたいです。
よろしくお願い致します。
Offline
キーワード別にテーブルを?
もしそうならやめたほうがいいと思う。
一つのテーブルにおインポートして
キーごとに検索して・・・と分析をして
というほうが楽だとおもいますよ。
Offline
シャチさん
ご返信ありがとうございます。
一つのテーブルで管理したいとは思ってはおりました。
実際に手間ですし、おかしいと思っていますがインポート時の重複回避方法がわからなかったためこのような形になっております。
わからない点というのが、現状はKeywordのフィールドをユニークに設定し、インポートするときに、新規データは追加するという方法で行なっており、またそれ以外の方法私は知りません。取得できるデータの方で重複するときがあるので、データベースの方ではこれを管理する必要があります。
こういった場合でインポート時に重複を回避するには、どういった方法がありますでしょうか?
Offline
ログアウトしたら、再ログインできなくなったので・・・
キーによってテーブルを分割した場合は、私の頭がすっきりしないので
私のアドバイスは、期待しないでください
シャチさん
いつもご返信ありがとうございます。
>キーワード別にテーブルを?
シャチさんがこのように仰るように、私のやり方はやはりおかしいのだとは自覚があります。
以前から構造で同じようなパターンで悩むことがあり、どうやって解決するのかわからずにテーブルを増やし複雑になるのを何回かやっております。
恥ずかしながら、正規化ということをつい最近知りまして、やはりこれはおかしいと感じた次第です。
Offline
キーワード & マッチタイプ
でユニークとしたいのでしょう。
このフィールドを作り、
入力値の制限で、ユニーク・常時
と設定します。
インポートは、それ専用の別テーブルとして、
そのテーブルで
キーワード & マッチタイプ
のフィールドを作ります。
ここへ仮インポートし、さらに本テーブルへインポート。
このとき、入力値の制限が効いて、重複されるレコードはインポートされません。
Offline
計算値自動入力で
Keyword & MachType
のフィールドを作って常時ユニークに制限すれば、インポート時に重複排除されます。
チポさん
timさん
ご返信ありがとうございます。
ダブルキーでの常時ユニーク設定と
仮インポートからの本インポートは発想していたのですが、この方法で良かったんですね。
ちょっと長いというか、あまり自信が持てなかったので、今回はっきりできて良かったです。
ありがとうございました。
Offline
timさんの方法でいいんですね。
インポート専用のテーブルは不要で直接インポート出来ます。
Offline
チポさん
ご返信ありがとうございます。
インポート専用テーブル無しでも直接インポートもできるんですね。
仮インポート用のテーブルを作成するメリットを教えて位いただくことは可能でしょうか?
例えば、インポート用のデータの方で、マッチタイプを取得できない場合などは、仮テーブルで処理でき
インポート用のデータの方でマッチタイプを取得できる場合は、仮テーブル不要でインポートしたら良いとも考えられます。
上記とは無関係にメリットがあればご教授ください
よろしくお願い致します。
Last edited by KR (2017-02-28 09:14:00)
Offline
timさんの方法に考え及ばなかった結果の仮テーブルでした。
今回の問題に関しては、
仮テーブルのメリットはなさそうです。
Offline
チポさん
わかりました。
度々のご返信ありがとうございました。
今後ともよろしくお願い致します。
無事解決することができました。
Offline
Pages: 1
[ Generated in 0.018 seconds, 9 queries executed - Memory usage: 545.63 KiB (Peak: 566.17 KiB) ]