pickup

ACCESSに関しては、主キーがなければ、利便性がよくありません。

しかし、実務においては、どうしても主キーを設定できない時があります。

その時は、どうにかして、主キーを作成しなければならない時があります。

そんな時にどうしますか?

目次

主キーを設定できないときはどうする?

こんにちは。伊川(@naonaoke)です。

主キーを設定できないときはどうする?

ブログ、動画の発信のきっかけは、オートルックアップクエリでした。

しかし、いつしか、そのスキルを競馬に生かし、競馬で勝ち組になりたいと思うようになりました。

いつも、勝ち組になりたいため、データベースを作成し、チューニングしていう生活の日々を送っています。

今回は、競馬ネタですが、ACCESSの初心者の方には、有益は内容となっていると思います。

以前にも主キーを設定できない時は、どうするのか?

同様の内容を作成していますが、今回は競馬に特化した内容です。

勉強には、遊び心も必要なのです。

このブログはこんな人にお勧め

今回のテーマ
  • ACCESSや、データベースを勉強している人
  • 競馬で、勝ち組になりたい人
  • 競馬は、データで攻略できると思っている人

このブログを、読み終わるころには・・・・

データベースの考え方を一通り説明したつもりです。紹介する内容は、かっこいい方法ではありません。

しかし、一意のキーが必要であるということは、理解できたのではないでしょうか?

ACCESSの初心者は、主キーと、オートルックアップクエリを理解しましょう。

主キーの重要性

競馬には、レースIDというもがあります。

これは、18桁の数字の羅列です。

このレースIDの説明に関しては、割愛します。

詳しくは、下記の記事を参照してください。

このレースIDには、旧レースIDというものがもあり、6桁~8桁くらいでした。

しかし、JRAは、旧レースIDでは、今後の競馬データ管理は無理と思ったのでしょう。

だから、新レースIDという、現在のレースIDを作成しました。

このレースIDを考えた人は、本当に頭脳明晰だと思います。

単純な18桁の数字を、データベースの主キーにしたのです。

蛇足ですが、おそらくは、マイナンバーIDも、どのような不測の事態にも対応できるようになっているはずです。

断言しますが、これからの競馬は、Excelで管理するのは、限界です。

このレースIDに、たくさんのデータが紐づいています。

そのデータをクエリで攻略するのが、BIGデータならぬ、競馬データを攻略するカギになります。

競馬を攻略するには、

レースIDを必ずデータベースに設定しておく

レースIDが設定できなければ、一意のキーを用意する

今回は、レースIDが設定できなければ、一意のキーを用意するを重点的に説明します。

今回の題材となる馬券本

今回、なぜ、このブログについて発信のきっかけは、下記の書籍です。

なかなか、データベースチックな書籍です。

この書籍以前の、馬券本は、おそらくは、馬券生活者が、面白おかしく書いているもので、絶対に無理です。

後は、サイン読み、スピリチュアル的なものです。

嫌いでいはないですが、競馬では勝てない。

だからデータ分析が必要なのです。

しかし、データ分析の方法がわからない。

そんな時に、A-10班の馬券本に出会いました。

色々な問題があり、書籍を出版できない状態にあったようですが、久々の新刊発表を嬉しく思います。

この書籍は、信用できると思います。

しかし、この書籍をすべて記憶するのは無理です。

約200ページの書籍を500頭の出走馬と付け合わせするのは無理なのです。

あー、確認しておけばよったと思うのは、レース後です。

しかも自分が握りしめているのは、はずれ馬券です。

いつしか、書籍は、ホコリがつもり、我流の予想に走り、そして負けるという結果です。

この書籍が、データベースになっていれば、データ検索が可能になります。

この検索という言葉は、実社会では使いません。

照会するといいます。

つまり、今回の出走馬をデータベースに紹介して、どのような情報が、抽出できるのかを確認できれば、大穴を獲得できるかもしれません。

照会システム作成 作業手順 その1 主幹システムで、固有名詞を見つける

思うに、会社のシステムが、ExcelとACCESSだけということはほぼないと思います。

主幹システムが、吐き出した、CSVファイル等をExcel、ACCESSで解析、分析するはずです。

その主幹システムが、主キーも設定してくれたら言うことはありません。

競馬で言うならば、私の主幹システムは、Targetというアプリになります。


このTargetは、カンタンにお好みのデータを抽出できるというのが便利なのです。

その吐き出したものに関して、レースIDとは別に、

今回作成するデータベースと連携可能な主キーを造語で設定します。

照会システム作成 作業手順 その2 造語を作成する

競馬の場合は、この造語を作成するのは、意外とカンタンです。

固有名詞があるからです。

ディープインパクト

オグリキャップ

ルメール騎手

藤沢和雄調教師

もし、実務の場合で、造語を主キーに設定する場合は、固有名詞と何かを組み合わせて、主キーを設定することをお勧めします。

この方法のメリット デメリット

この方法のメリット⇒メンテナンスが楽

この方法のデメリット⇒かっこ悪い

最も、組み合わせなくても、複数の言葉を合わせて、検索、紹介することもできます。

なので、今回は、かっこ悪くても、早期データベースの作成ということを重視して、造語を選択しました。


照会システム作成 作業手順 その3 造語に対応したテーブルを作成する

図にあるように

種牡馬_1

騎手_1

調教師_1

この上記に関しては、絶対に一意のキーになっています。

この3つに対応したテーブルを作成します。


このテーブルから、クエリを作成します。



この上記に関しては、絶対に一意のキーになっています。

この3つに対応したテーブルを作成します。

後は、この3つに対応したクエリと、主幹システムに対応したテーブルをリレーションで結びます。



照会システム作成 作業手順 その4 別途、テーブルを作成する

今回の、もっとも重要な点は、造語で主キーを作成することなのですが、

造語によって作成されたクエリを、どうするか?

これも問題です。

クエリは、元となるテーブルのデータがなくなると、当然クエリのデータもなくなります。

この時の考え方が2つあります。

主幹システムから吐き出したデータに、主キーを設置して、更新クエリで、テーブルにデータを追加する

造語によって作成された、初回はクエリを基に新しいテーブルを作成し、以後は、追加クエリで、データを追加する

私は、後者、つまり、造語によって作成された、初回はクエリを基に新しいテーブルを作成し、以後は、追加クエリで、データを追加するを行っています。

理由は、その造語で作成したテーブルで、データ抽出を考えたときに、主幹システムのデータに依存していないほうが、競馬に関しては便利だからです。

しかし、完全に独立してはいけません。

今回の競馬に関しては言えば、造語で作成した新しいテーブルにも、レースIDを設定しなくてはなりません。

このレースIDを設定しておくことで、主幹システムのデータベースにも、リレーションを設定できるからです。

現時点での、競馬データが、レースIDを中心に設計されているので、すべての競馬データとリレーションを設定できるからです。

照会システム作成 作業手順 その5 凡走する馬も記載している

本書のいいところは、凡走している、種牡馬、騎手、調教師の記載もあるということです。

これも、記憶するのは不可能です。

競馬も投資と考えるなら、なるべく投資する資金は、少ないほうがいいですよね。

ここがポイント

ここがポイント
Function8.png
データベースは設計が重要です。その設計方法を今回は照会しました。

枠組みが完成すれば、あとは、単純作業で、データを入力すればいいだけのことです。

難しくはありません。

その単純作業を繰り返すのも結構つらいのですが、競馬で儲けると思えば苦になりません。

動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

今回は、完全に競馬ネタです。

しかし、考え方は実務でも利用できると思います。

このデータベースの完成後は、サブチャネルで、結果を発表します。

ご興味のある方は、ぜひ、サブチャネルも登録お願いします。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、ありません

サンプルファイルを購入希望の方はココをクリック
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事