競馬成績表データベースを作る(データベース編)
1.概要
「競馬成績表データベースを作る」の第三弾として、競馬成績表データの取得が完了していることを前提として、
記事を進めていきます。今回は、取得済みデータ(CSVファイル)からデータベースを作っていきます。
データベースは、SQLite3を利用しますので、当ブログ記事の「Excelでデータベース(SQLite3)を扱う」を一読願います。
データベースを作成するための必要なツールなどを紹介しています。これからの作業で必要となりますので、準備しておいて下さい。
2.作成手順 第二弾で説明したデータ取得編での作業が終了しているものとします。
(1)取得データの格納先パスを指定しなかったので、取得データは、カレントディレクトリにあると
思います。
(2)作業のために新規フォルダとして、「成績」と「日程」という2つのフォルダを作成します。
(3)RXXXXXXXXXXXXXX.txtは日程フォルダへ移動、SXXXXXXXXXXXXXX.csvは成績フォルダへ移動
させて下さい。 (4)DBへの入力元となるインポート用成績表ファイルをマージします。マージ処理は、当ブログの
「複数のファイルをマージする」で公開の テキストファイルマージツール(tfmarge.exe)を使用
します。マージ対象先である成績フォルダを選択し、拡張子はcsvで出力ファイル名を成績
マージ.csvとしてマージボタンをクリックします。
成績フォルダ内に成績マージ.csvが作成されますので、カレントディレクトリに移動させます。 (5)成績マージ.csvファイルをメモ帳等のテキストエディタで開いて、先頭行にヘッダ名を挿入し
ます。予め別メモで書いているものをコピーして貼り付けると良いでしょう。 (6)import.batをダブルクリックして、成績マージ.csvファイルからデータベースを作成します。
※【注意】import.batと同一フォルダにsqlite3.exeが必要です。
・作成するDBファイル名 : pegasus.db
・インポートCSVファイル名 : 成績マージ.csv (エンコード : UTF-8)
・テーブル名 : seisekidb
済みのデータベースの内容の確認と、カラムに PRIMARY KEYとして、IDを追加します。
tkSQLiteのファイル→開くをクリックして、ファイル選択ダイアログが開くので、作成済みの
cpegasus.dbのあるフォルダまでディレクリを移動させて、pegasus.dbを選択して、クリックし
ます。
(8)テーブルのseisekidbをダブルクリックすると、テーブル編集画面にテーブル内の内容が表示
されます。
(9)データベース→テーブルスキーマの変更をクリックして、テーブルスキーマ画面を表示されま
す。カラム追加をクリックします。
(10)seisekidbにカラムが追加されます。
(11)追加されたカラムにIDを追加します。画面の通りに設定して下さい。
(12)設定されたIDは、一番下に追加されるので、上ボタンで、一番上に移動させます。
(13)以上の操作でテーブル(seisekidb)にIDが追加されます。OKボタンをクリックします。
(14)次に、ツール編で紹介を予定しているツール(raceseiseki.exe)の画面位置保存用の設定のーブル
もついでに作成しておきます。データベース→テーブル作成をクリックします。
(15)テーブル作成画面が表示されますので、テーブル欄にSValueと入力して下さい。
(16)カラム追加で3つのフィールドを追加します。
ID、wxpos、wyposとします。設定内容は画面を参照して下さい。
(17)データベースのテーブルのsvalueをダブルクリックして、カラム追加したSValueをテーブル
編集画面で、フィールド付近を右クリックしてポップアップメニューの新しい行の追加
をクリックします。
(18)初期値を入力します。ID =1、wxpos=0、wypos=0とそれぞれ入力します。
以上で、データベースの作成が完了です。 3.ダウンロード 提供するソースコードのライセンスは、CC0 (クレジット表示不要、改変可、商用可) とします。自由に利用して頂いてかまいません。
今回の記事で紹介してるプログラムは、本シリーズの連載最後にまとめてダウンロード提供する予定としています。 少しずつ記事をアップしていきますので、しばらくお付き合いください。
■関連記事
・Excelでデータベース(SQLite3)を扱う
・複数のファイルをマージする
・競馬成績表データベースを作る(事前準備編)
・競馬成績表データベースを作る(データ取得編)
・競馬成績表データベースを作る(ツール-Excel編)
・競馬成績表データベースを作る(ツール-HSP編)
2.作成手順 第二弾で説明したデータ取得編での作業が終了しているものとします。
(1)取得データの格納先パスを指定しなかったので、取得データは、カレントディレクトリにあると
思います。
(2)作業のために新規フォルダとして、「成績」と「日程」という2つのフォルダを作成します。
(3)RXXXXXXXXXXXXXX.txtは日程フォルダへ移動、SXXXXXXXXXXXXXX.csvは成績フォルダへ移動
させて下さい。 (4)DBへの入力元となるインポート用成績表ファイルをマージします。マージ処理は、当ブログの
「複数のファイルをマージする」で公開の テキストファイルマージツール(tfmarge.exe)を使用
します。マージ対象先である成績フォルダを選択し、拡張子はcsvで出力ファイル名を成績
マージ.csvとしてマージボタンをクリックします。
成績フォルダ内に成績マージ.csvが作成されますので、カレントディレクトリに移動させます。 (5)成績マージ.csvファイルをメモ帳等のテキストエディタで開いて、先頭行にヘッダ名を挿入し
ます。予め別メモで書いているものをコピーして貼り付けると良いでしょう。 (6)import.batをダブルクリックして、成績マージ.csvファイルからデータベースを作成します。
※【注意】import.batと同一フォルダにsqlite3.exeが必要です。
・作成するDBファイル名 : pegasus.db
・インポートCSVファイル名 : 成績マージ.csv (エンコード : UTF-8)
・テーブル名 : seisekidb
@echo off setlocal cd /d %~dp0 echo. echo. echo *********************************************************** echo. echo SQLite3用データインポートバッチファイル (成績表テスト用) echo. echo. echo *********************************************************** echo. echo. rem memo : 作成するDBファイル名 インポートCSVファイル名 テーブル名 rem ***** インポート開始 ***** sqlite3 -separator , pegasus.db ".import 成績マージ.csv seisekidb" echo 処理が完了しました。何かキーを押してください。 echo. pause >nul endlocal exit(7)pegasus.dbというデータベースが作成されます。SQLite管理ツール(TkSQLite)を起動して、作成
済みのデータベースの内容の確認と、カラムに PRIMARY KEYとして、IDを追加します。
tkSQLiteのファイル→開くをクリックして、ファイル選択ダイアログが開くので、作成済みの
cpegasus.dbのあるフォルダまでディレクリを移動させて、pegasus.dbを選択して、クリックし
ます。
(8)テーブルのseisekidbをダブルクリックすると、テーブル編集画面にテーブル内の内容が表示
されます。
(9)データベース→テーブルスキーマの変更をクリックして、テーブルスキーマ画面を表示されま
す。カラム追加をクリックします。
(10)seisekidbにカラムが追加されます。
(11)追加されたカラムにIDを追加します。画面の通りに設定して下さい。
(12)設定されたIDは、一番下に追加されるので、上ボタンで、一番上に移動させます。
(13)以上の操作でテーブル(seisekidb)にIDが追加されます。OKボタンをクリックします。
(14)次に、ツール編で紹介を予定しているツール(raceseiseki.exe)の画面位置保存用の設定のーブル
もついでに作成しておきます。データベース→テーブル作成をクリックします。
(15)テーブル作成画面が表示されますので、テーブル欄にSValueと入力して下さい。
(16)カラム追加で3つのフィールドを追加します。
ID、wxpos、wyposとします。設定内容は画面を参照して下さい。
(17)データベースのテーブルのsvalueをダブルクリックして、カラム追加したSValueをテーブル
編集画面で、フィールド付近を右クリックしてポップアップメニューの新しい行の追加
をクリックします。
(18)初期値を入力します。ID =1、wxpos=0、wypos=0とそれぞれ入力します。
以上で、データベースの作成が完了です。 3.ダウンロード 提供するソースコードのライセンスは、CC0 (クレジット表示不要、改変可、商用可) とします。自由に利用して頂いてかまいません。
今回の記事で紹介してるプログラムは、本シリーズの連載最後にまとめてダウンロード提供する予定としています。 少しずつ記事をアップしていきますので、しばらくお付き合いください。
■関連記事
・Excelでデータベース(SQLite3)を扱う
・複数のファイルをマージする
・競馬成績表データベースを作る(事前準備編)
・競馬成績表データベースを作る(データ取得編)
・競馬成績表データベースを作る(ツール-Excel編)
・競馬成績表データベースを作る(ツール-HSP編)
コメント
コメントを投稿