この記事は、YouTubeでもご覧いただけます。映像とナレーションで内容がよりわかりやすく解説されているので、ぜひ以下のリンクからご覧ください。
■データベースの基礎知識
https://youtu.be/ICFZWNmd-zM
競馬予想プログラミングに関する記事を「投稿まとめ」で一覧にしてます。この記事は「自動投票」の一覧に含まれてます。一覧の順に読むとステップごとで分かりやすいです。
これから競馬予想プログラミングを学ぶために、最低限必要な用語をまとめました。この用語を覚えたら、他の技術書もスラスラ読みやすくなるので覚えて損はないです。今は分からなくても他の記事も読み進めて全体像を把握したらイメージが浮かぶと思います。なので、ここは読み流す程度でもOKてす。とりあえず次の6つだけ覚えてください。
データベース
「データベース」とは何か?というと、たくさんある表形式のデータを一箇所にまとめて管理するシステムです。そのデータを「SQL」というデータベースを操作するための言語を使って、簡単に検索や編集ができるようになっています。
データベースは、世界中のさまざまなシステムを支えています。SNSやショッピングサイトなど、インターネット上のほとんど全てで使われています。そのため、データベースの技術は枯れることがなく、普遍的で学ぶ価値が非常に高く、一生役立つスキルと言えます。管理人@PC-KEIBAはプログラマーとして20年以上のキャリアを積んできましたが、どんな仕事にもデータベースを使わないものはありませんでした。
テーブル
(英語表記: TABLE)
データベースは「テーブル」にデータを保存します。テーブルは「表」とも呼ばれますが、ほとんどの技術書では「テーブル」という表現が一般的です。テーブルは、行と列で構成された、表計算ソフトの「表」に似たデータ構造です。
項目
データベースの世界における「項目」とは、テーブルの列を指します。
テーブルの項目を表す日本語の表現は、列、カラム、フィールドなど、状況や文脈によって使い分けられます。テーブルの項目は、特定のデータを表します。例えば、レース詳細のテーブルであれば、開催年月日、競馬場、レース番号などが項目になります。
レコード
(英語表記: RECORD)
データベースの世界における「レコード」とは、日本語でいう「行」のイメージです。「行単位のデータ」を指します。
テーブルは複数のレコードで構成されており、レース詳細テーブルでは、1つのレコードが、1つのレースを表すレコードになります。
競走馬マスタテーブルでは、1つのレコードが、1頭の競走馬を表すレコードになります。
データ型
データベースの主なデータ型には、次の3つがあります。
- 数値型
- 日付時刻型
- 文字列型
これら以外にも、さらに細かく分かれたり他の型も存在しますが、ざっくりとこれらの3つを抑えておけばOKです。テーブルを作るときは、各項目に適切なデータ型を割り当てます。
数値型
「数値型」は、数値として成立するデータ以外は保存できません。その反面、合計や平均を簡単に求めることができます。
日付時刻型
「日付時刻型」は、日付時刻として成立するデータ以外は保存できません。その反面、日付や時刻に関する演算が簡単にできます。
文字列型
「文字列型」は、全てを「文字」として扱うので何でも保存できます。汎用的で自由度の高いデータ型です。その反面、明らかに数値や日付の値であっても「文字」なので演算はできません。
データ型はそれぞれに長所と短所があります。総合的な処理速度などなど、数え上げたらキリがないほど理由があり、PC-KEIBA Databaseでは競馬データの全テーブルの列を文字列型で設計しています。しかし、ユーザーがオリジナルのテーブルを作るときは状況に応じて数値型も日付時刻型も使い分けてください。
SQL
(読み: エスキューエル)
SQLは、データベースを操作するための世界共通のコンピューター言語です。SQLでできる操作には、次のようなものがあります。
- テーブルを作る
- テーブルの一覧を表示する
- テーブルの列名を修正する
- データを編集する
- データを検索する
など、データベースの操作すべてです。そして、このSQLを使って競馬予想できるのが、PC-KEIBA Databaseの強みです。SQLには多くの種類があり、技術書も厚くて難解に感じるかもしれませんが、すべてを覚える必要はありません。プログラマーも、必要なときにGoogleで調べながらSQLを書いています。