memorandum for "database application"
2004.12.27 Version by Fut:
Since 2004.12.27

Index Study-Top MedPhys-Top anti-spam-Top

Home > DB応用  

概要:  spam解析、用語集の利用。結果としての用語集構築、データベース技術の習得。 AccessPostgreSQL がターゲット。

作業ログの抜き書き

目的別

  1. spamデータの解析
  2. 用語集の構築・維持管理

環境別

Access 2000 (多分Access共通)

  1. 初めての“クエリ”
    ISPの提供するフィルタメイルのゴミ箱情報は、 「到着日時、送信元、件名、サイズ」 のHTMLテーブルの形で提供される。 その解析をしたいのだが、 到着日時が『2004/12/27(金)18:24:38』とか『2004/12/3(金)08:04:03』 という形式となっている。 ここで特徴は、
    1. 日付が可変長であること
    2. 括弧が2バイト文字か半角なのかいまいち不明
    3. 多分時刻は固定長
    の文字列となっている点である。 最初は、到着日時の文字列を入力する際に各要素を手でコピーペーストして切り分けていたのだが さすがに量が増えると対応できない。 そこで、まず、このテキスト型である「到着日時」をテキスト型の曜日、日付時刻型の日付,時刻 に切り分けることを模索した。データベースの概念も、Access/VBA系の予備知識も皆無。
    1. 「到着日時」→「到着曜日」;(テキスト型⇒テキスト型;文字列の切り出し)
      条件1;括弧「(」は半角に決め打ち。
      条件2;「到着曜日」フィールドは予め作成し、設定してある。
      手順;〔オブジェクト/クエリ〕で新規クエリを作成して、デザインビュー表示にする。
         〔クエリ/更新〕を選択し、“レコードの更新”欄を表示させる。
         “フィールド”欄のプルダウンから「到着曜日」を選択。
      レコードの更新欄の記述;  Mid([到着日時],InStr([到着日時],'(')+1,1)
         〔クエリ/実行〕で書き換える。
    2. 「到着日時」→「到着日付」;(テキスト型⇒日付/時刻型;文字列の切り出し、型変換)
      条件、手順は「到着曜日」と同様。 既にクエリは作成されているので、対象フィールドを追加する。
      レコードの更新欄の記述;  CDate(Mid([到着日時],1,InStr([到着日時],'(')-1))
    3. 「到着日時」→「到着時刻」;(テキスト型⇒日付/時刻型;文字列の切り出し、型変換)
      条件、手順は「到着日付」と同様。
      レコードの更新欄の記述;  CDate(Mid([到着日時],InStr([到着日時],')')+1))
  1. PostgreSQLのインストール
    1. 巻末のリンク先のうち、 このブログ を参考に設定した。 最新のCygwinでは既に最新のPostgreSQLが同梱されているため、 その作業は使えるようになるための設定作業である。 但し、ユーザ設定に関しては、 このページ のように設定を実施した。
  2. Accessの設定
    1. 特になし。

Link


Home Index
--
Written by Fut.

Hosted by inetd .