初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-02-26 17:02:50

KR
Member

データベースの構造についてご教授ください。

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

#2 2017-02-26 17:32:52

シャチ
Member

Re: データベースの構造についてご教授ください。

キーワード別にテーブルを?
もしそうならやめたほうがいいと思う。
一つのテーブルにおインポートして
キーごとに検索して・・・と分析をして
というほうが楽だとおもいますよ。

Offline

#3 2017-02-26 20:24:55

KR
Member

Re: データベースの構造についてご教授ください。

シャチさん
ご返信ありがとうございます。

一つのテーブルで管理したいとは思ってはおりました。
実際に手間ですし、おかしいと思っていますがインポート時の重複回避方法がわからなかったためこのような形になっております。


わからない点というのが、現状はKeywordのフィールドをユニークに設定し、インポートするときに、新規データは追加するという方法で行なっており、またそれ以外の方法私は知りません。取得できるデータの方で重複するときがあるので、データベースの方ではこれを管理する必要があります。

こういった場合でインポート時に重複を回避するには、どういった方法がありますでしょうか?

Offline

#4 2017-02-26 20:37:27

シャチ臨時
Guest

Re: データベースの構造についてご教授ください。

ログアウトしたら、再ログインできなくなったので・・・

キーによってテーブルを分割した場合は、私の頭がすっきりしないので
私のアドバイスは、期待しないでください

#5 2017-02-26 21:19:15

KR
Member

Re: データベースの構造についてご教授ください。

シャチさん
いつもご返信ありがとうございます。

>キーワード別にテーブルを?
シャチさんがこのように仰るように、私のやり方はやはりおかしいのだとは自覚があります。
以前から構造で同じようなパターンで悩むことがあり、どうやって解決するのかわからずにテーブルを増やし複雑になるのを何回かやっております。

恥ずかしながら、正規化ということをつい最近知りまして、やはりこれはおかしいと感じた次第です。

Offline

#6 2017-02-27 09:44:38

チポ
Member

Re: データベースの構造についてご教授ください。

キーワード & マッチタイプ
でユニークとしたいのでしょう。

このフィールドを作り、
入力値の制限で、ユニーク・常時
と設定します。

インポートは、それ専用の別テーブルとして、
そのテーブルで
  キーワード & マッチタイプ
のフィールドを作ります。

ここへ仮インポートし、さらに本テーブルへインポート。
このとき、入力値の制限が効いて、重複されるレコードはインポートされません。

Offline

#7 2017-02-27 13:41:08

tim
Guest

Re: データベースの構造についてご教授ください。

計算値自動入力で
Keyword & MachType
のフィールドを作って常時ユニークに制限すれば、インポート時に重複排除されます。

#8 2017-02-27 16:50:38

KR
Member

Re: データベースの構造についてご教授ください。

チポさん
timさん

ご返信ありがとうございます。
ダブルキーでの常時ユニーク設定と
仮インポートからの本インポートは発想していたのですが、この方法で良かったんですね。

ちょっと長いというか、あまり自信が持てなかったので、今回はっきりできて良かったです。
ありがとうございました。

Offline

#9 2017-02-27 16:59:16

チポ
Member

Re: データベースの構造についてご教授ください。

timさんの方法でいいんですね。

インポート専用のテーブルは不要で直接インポート出来ます。

Offline

#10 2017-02-28 09:05:54

KR
Member

Re: データベースの構造についてご教授ください。

チポさん
ご返信ありがとうございます。
インポート専用テーブル無しでも直接インポートもできるんですね。

仮インポート用のテーブルを作成するメリットを教えて位いただくことは可能でしょうか?
例えば、インポート用のデータの方で、マッチタイプを取得できない場合などは、仮テーブルで処理でき
インポート用のデータの方でマッチタイプを取得できる場合は、仮テーブル不要でインポートしたら良いとも考えられます。

上記とは無関係にメリットがあればご教授ください
よろしくお願い致します。

Last edited by KR (2017-02-28 09:14:00)

Offline

#11 2017-02-28 09:13:51

チポ
Member

Re: データベースの構造についてご教授ください。

timさんの方法に考え及ばなかった結果の仮テーブルでした。

今回の問題に関しては、
仮テーブルのメリットはなさそうです。

Offline

#12 2017-02-28 09:15:07

KR
Member

Re: データベースの構造についてご教授ください。

チポさん
わかりました。
度々のご返信ありがとうございました。
今後ともよろしくお願い致します。

無事解決することができました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.018 seconds, 10 queries executed - Memory usage: 545.34 KiB (Peak: 565.88 KiB) ]