自作競馬DBは.accdbとSQL-Server(無料Express版)を利用
3年分の結果データと2年分の出馬表データを蓄積しているが、昔の.mdbと違いAccessの.accdbが破損することはこれまで3年間で一度もない!つまり今のところ個人で使う分だと.accdbで十分かな?とも思っているが、システム構築時はデータの破損を恐れたので、データ作成時に保存用としてSQL-Serverを利用してみたという流れでそのまま使用を続けている。が、データ修正時にどちらのデータベースも更新しなければいけないので、今後バックアップを自動化して、データ更新は.accdbだけにすることでプログラムを軽減するようにしようかな?とも考えている。
今回のデータベースの修正点
出馬表にしかないデータを結果データにも反映する
今まではデータが必要な時に、出馬表と結果データを突き合わせて出力(Workデータ)していたが、今回、出馬表にしかないデータを結果データ作成時に結果データに反映しておくことで、結果データだけの閲覧でほぼ完了する形にするといったもの。ちょっとした問題として結果データが2018.10~、出馬表データが2019.2~といったデータ開始時期が違うので、ここ数年間の履歴として2018.10~2019前半にかけて多少データが足りない部分があるのは、その都度補完する?無視する?といったことも考慮する必要があるといったところか🙏
出走馬はJRAホームページから過去の履歴は見れない
これも今後改善されるかもしれないが、2021.08.09現在では当週の出馬表しか見れないという状況。
出馬表にあって結果データにはない項目
- 毛色
- 馬主
- 父(血統)
- 母
- 母父
- 過去出走履歴(4走まで)
- 発走時刻(一覧)
この7点はホームページをご覧頂ければ、直ぐに確認できる内容だろう。
つまりこの項目が必要になるなら、出馬表をコピペするしかない!のである。今まではあまり血統とか見てなかったが、必要になると簡単に取り出せる方法を模索するので、今回の変更になった。また最近のハード面がメモリやCPUそして外部記憶の大容量化でバラけさせるより、まとめて一列なデータにした方が速いしプログラム本数の軽減にもつながると思ったのであるが、どうだかね?
上記項目から発走時刻だけは、出走時に必要なデータということで、わざわざ結果データに反映はしていない。そのまま出馬表のヘッダーとして保管している。
SQL-Serverの項目追加(テーブル)はSSMSを使う
SQL Server Management Studio
項目(列)の追加は、データが入っていてもできるが、列の移動はできない(と思う)が、私のようにAccessでアタッチして使う場合は、SQL-Serverの列は移動する必要はなく、下に追加していくだけで良い。テーブルの一つ一つの項目の整理はAccess側のテーブルだけで良いと思っている。こうすればAccessのテーブル仕様がそのまま変更後の設計書となるので、わざわざ別に管理する書類を作成したりSQL-SERVERの列の移動をするためだけに、データを消す必要性もなくなる。

Access側のテーブルで整列させて、「毛色」を「性齢」の後ろに移動し分かりやすくする

SQL-Server の構成を変更した後は、Access側でアタッチしているリンクを更新する
メニューバー > 外部データ > リンクテーブルマネージャー > SQL選択 > 更新

編集後記
競馬データも3年分溜まってきたので、最近ではよく分析ぽいこともAccessでやっているが、やはり触れば触るだけバグも発見するし、使い勝手も気になってくる。ちょっとずつ更新しながら精度の高いデータになりつつあるが、やはりキモは馬券が当たるかどうか!?なので、ここに傾注できるように今年の残りの時間を使っていきたい。
それでは、またね~😎