「図書系職員のための アプリケーション開発講習会」

Slides:



Advertisements
Similar presentations
情報技術演習Ⅰ 人文学研究のための情報技術入門 2014/06/11 担当:林晋 TA: 橋本雄太.
Advertisements

講習会「第4幕」 「図書系職員のための アプリケーション開発講習会」 12月講演. 第4幕 (前編) Engel の話 – 有価証券報告書ロード – 古貨幣DBカスタマイズ 図書館カレンダーの話 VuFind の話 –LDAP 東京大学版 LibX (FireFox プラグイン) 学外書誌バッチ検索.
T2V 技術 Web 製作ラボ 3/ hayashiLabo 2. T2V 技術 PC 操作 念のため・・・
図書系のための アプリケーション開発講習会 2008年7月31日
  スケジュール管理手法PERT-Time      解 説    “最早開始時間計算のアルゴリズム”
ファイルキャッシュを考慮したディスク監視のオフロード
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
SQL J2EE I 第3回 /
夢見る図書館情報システム The Cards Challenge !
WagbyR6.5 Update 12 PPT版 更新情報
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
練習問題4.
水曜パソコン講座 「Windows Security Essentials プログラムを実行する手順」          を解説します.
アプリケーション開発講習会の事件簿 the Case book of mbc
文献管理ソフトRefWorksの利用.
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
データ構造とアルゴリズム 分割統治 ~ マージソート~.
平成19年5月19日 第3版 東京大学理学部生物化学図書室 前田 朗
コンピュータ概論B ー ソフトウェアを中心に ー #08 データベース
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
プログラミング論 II 電卓,逆ポーランド記法電卓
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
「かんたんスタートガイド」 「エクスプレス予約」をご利用には、 まず「会員登録」が必要です。
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
データ構造と アルゴリズム 第八回 知能情報学部 新田直也.
中間発表 アリの王国更新 金華山の写真整理 柏崎 奈々 中間発表を始めます。
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
CiNIIほかに関連語提示機能を ~つっこみの第二回~
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
情報技術演習Ⅰ 人文学研究のための情報技術入門 2017/07/06
九国大OPAC検索方法 図書編.
3.成績処理 3.1 成績の平均点など ・・・AVERAGE,MAX,MIN関数 3.2 成績(合計点) ・・・SUM関数
平成22年6月15日 図書系職員のための アプリケーション開発講習会
第13回 ハッシュテーブルを使ったプログラム ~高速に検索するには?~.
二分探索木によるサーチ.
「ユーザー設定リスト」の作成と削除 ◎ 新しい「リスト」の作成法
IIR輪講復習 #1 Boolean retrieval
データ構造とアルゴリズム 第14回 文字列の照合.
ソートアルゴリズムの種類 選択ソート (selection sort) バブルソート (bubble sort)
平成19年10月19日 図書系のための アプリケーション開発講習会
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
テーブル設計を後から変更 現場で使える小技のご紹介 株式会社ジーワンシステム 生島 勘富(イクシマ サダヨシ)
すぐできるBOOK -かんたんSFA編-.
アルゴリズムとプログラミング (Algorithms and Programming)
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
プログラミング 4 整列アルゴリズム.
データモデリング モデルの基本作法.
DNSクエリーパターンを用いたOSの推定
プログラミング 4 探索と計算量.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
※内容は初版刊行当時のものです。 OPACで図書を探してみよう 学術情報総合センター情報サービス部門.
阿部研究室学生のための 文献検索および入手の講習会
1~15までの数字の中から、 1個の数字を選び、覚えて下さい。
1.住民基本台帳システムにおける業務アクセスログの確認方法について
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
OPACで雑誌を探して みよう 学術情報総合センター情報サービス部門 ※内容は初版刊行当時のものです。
関係データベースとSQL MZ Platform講習会(上級).
第11回放送授業.
平面走査法を使った 一般線分の 交点列挙アルゴリズム
情報コミュニケーション入門b 第9回 表計算ソフト入門(3)
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
情報処理Ⅱ 2007年12月3日(月) その1.
オペレーティングシステム 作成 T21R003 荏原 寛太.
Molecular Devices Japan
データ構造とアルゴリズム 第14回 文字列の照合.
SQL J2EE I (データベース論) 第3回 /
プログラミング入門 -「計算」に注目して考える-
プログラミング論 バイナリーサーチ 1.
Presentation transcript:

「図書系職員のための アプリケーション開発講習会」 請求記号による館内マップ 検索手法案 「図書系職員のための アプリケーション開発講習会」

目次 請求記号と棚の対応表(テキストファイル)をつくる (いまのところの)お勧め案 RDBで解決する方法 ボツ案です。

請求記号と棚の対応表(テキストファイル)をつくる 請求記号と棚の対応表(テキストファイル)をつくる方法です。 概要は次のとおりです 請求記号でソート可能なように請求記号を数字部分と文字部分に分割する 対応表をあらかじめ、請求記号順にソートしておく リストのトップから順に、検索する請求記号との大小比較を行う バイナリサーチのロジックを使えば、より高速化できるかもしれません。

問題は、ある請求番号がどのNoに対応するか 請求記号判定用テーブルの用意 階数 No 棚最初 棚最後 4F 1 000:A5[W] 070:B61[W] 照合用データとしては上記でよさそう。 問題は、ある請求番号がどのNoに対応するか 判定する仕組みをつくることですが….

テキストファイルで 以下の情報を用意 ID 階数 No 棚最初(1) 棚最初(2) 棚最初(3) 1 4F 000 A 5 2 070 B 62 3 3F 100 棚最初のみ着目 請求記号順にあらかじめソートしておく

棚の同定 ID 階数 No 棚最初(1) 棚最初(2) 棚最初(3) 1 4F 000 A 5 2 070 B 62 3 3F 100 < “080:C10” < “080:C10” > “080:C10” たとえば、080:C10 をID=1から順に 大小比較しつつスキャン。 レコード3に達したときに、はじめて、 自身より大きな請求番号に達する → そのひとつ前が該当の棚

ここから先はボツ案です。 ためしに考えてみたら、あまりに複雑なので、お勧めしない案です。 考え方を間違えると、どれだけ面倒になるか示すためにいちおう残しました。

まず、上記のようなデータ項目をもつテーブルを作る ボツ案 RDBで解決する方法 ID 階数 No 棚最初(1) 棚最初(2) 棚最初(3) 棚最後(1) 棚最後(2) 棚最後(3) 1 4F 000 A 5 070 B 61 まず、上記のようなデータ項目をもつテーブルを作る

請求記号による検索 受け取った請求記号を元に、次の手順で検索を行う。 分類ごとに分割する。たとえば、001:C6[W]の場合(大・中・小は機械処理しやすいように分割) 大分類 --- 001 中分類 --- C 小分類 --- 6

条件式を設定する [大分類] <= 棚最初(1) and [大分類] >= 棚最後(1) 例だと次のように解釈される 例にあった。棚最初(1)=000 で棚最後(1)=002のデータがヒットする 大分類が棚最初と同じか、棚最後と同じ場合は次のステップ(2)に進む 棚最初=棚最後の場合はステップ(3)に進む

ステップ(2) [大分類]が棚最初と同じか最後と同じ 大分類が棚最初と同じ場合。 [中分類] >= 棚最初(2) 大分類が棚最後と同じ場合 [中分類] <= 棚最後(2)

ステップ(3) 棚最初(1)と棚最後(1)が同じ場合 次の条件式で実行 [中分類] <= 棚最初(2) and [中分類] >= 棚最後(2)

高速化の切り札 バイナリサーチ バイナリサーチ(2分木探索) ソート済みデータを順に大小比較して処理 情報検索の基本中の基本 高速化の切り札 バイナリサーチ バイナリサーチ(2分木探索) ソート済みデータを順に大小比較して処理 情報検索の基本中の基本 ただし、自作はそれなりに面倒(経験談) 数年前の自作のプログラム(可変長レコード対応)を必要とあれば探してみます。

バイナリサーチの動作原理 (参考 wikipedia) 位置 1 2 3 4 5 6 7 8 9 10 データ 1 11 12 13 17 22 25 28 結果 ○ × × 残り半分の中央値と比較 まず真ん中のデータ(中央値)と比較 “25”の位置情報を求めます!