eveapiの活用(4)

4章 eveapiを使用する前の下準備 ~sqlデータのインポート
ここではCCP Gamesが公開しているsqlのダンプファイルをインポートしてcsvファイルに変換して簡単に扱えるようにします。
まずは下準備・・・
①SQL SERVER2014をインストールします。(参考
余談ですがVisual Studio2014を入れている人はインストールする順番を気にしたほうがいいとかって記事を日経ソフトウエアに書いてあったような気がせんでもないです。
あー、で、大切なことなんですけど、“Express with Tools “かそれ以上のものをインストールしてください。
ここからCrius_1.6_100370_db.zip (名前は変わる)をDLして適当なところに全てのファイルを解凍。
③インストールできたらSQL Server 2014 Management Studioを開く。なんか接続先とか出てくるかもしれないけど適当にポチって解決する。
④データベース右クリックしてファイル及びファイルグループの復元クリック。 →こんな感じ
⑤復元先データベースに”eveonline”とでも入力する。
⑤復元元デバイスの”…”から先ほど解凍したフォルダを指定し表示されたDATADUMP(中略).bakファイルを選択。
⑥復元するバックアップ セットの選択から復元のチェックボックスにチェックする。 →こんな感じ (画像のダンプファイルがkronosなのはミスw)
⑦okを押す。
⑧インポートが完了したらF5キー押して更新する。
⑨そうするとデータベースフォルダの中に”eveonline”っていうデータベースができています。おめでとう。
⑩終わり

ここからは本題です。sqlがわからない人(自分もわからん)向けに丁寧に解説していきます。
eveonline->テーブルの中を見るとdbo.うんたらかんたらっていうものがいっぱい羅列してあると思います。
この中にapiを扱う上で必須のデータがゴロゴロ入っていますのでそれを取り出してみましょう。例としてここではtypeIDとtypeNameを船のデータに絞って取り出してみます。
さて欲しいデータはdbo.invTypesに入っています。まずはここを見てみましょう。dbo.invTypesを右クリックしてテーブルをスクリプト化→検索→新しいクエリーエディターウィンドウをクリック。
sql文が出てきます。左上の実行というボタンがあるのでそれをクリック。そうすると下の方にずら~っとデータがでてきます。
しかし見てみるとtypeIDやtypeNameだけでなく他のよくわからんデータ(dust314?のやつとかも)までいっぱい入っています。こんなに大量のデータをspreadsheetに上げるとgoogle先生が悲鳴を上げてしまうので減量していきます。
まず着目したいのがgroupIDです。groupIDの情報が格納されているdbo.invGroupsのsqlを読み込んで実行します。
そうするとcategoryIDが6の奴が船であることがわかります(疑い深い人はdbo.inv.Categoriesの中でも見てください)。
しかしdbo.invTipesにはcategoryIDが格納されていないので2つのDBを結合する必要があります。
てことでctrl+Nを押して空クエリを表示させたらこのSQL文を入力して実行します。

そうすると船だけが記載されたtypeIDとtypeNameの一覧が取得出来たと思います。

その後結果のところを右クリックし”結果に名前をつけて保存”をクリックしcsv形式で保存します。
これにて完了です。

さて、これで目的を達成できました。このようにして必要なデータはダンプファイルからSQL文を打って取得していきます。
sqlは現実世界でかなーり使われているので、きっと同じcorpの中にぷろふぇっしょなるな方がいると思いますので、探してみてください。

あーそうそう、この作業がめんどいって人はfuzzworkってサイトにxls形式でうpされてるからそこからとるといいかもです。
そこら辺は後で解説します。

ではでは~fly safe!