Skip to content

t-inoue0214/mysql-sql-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

はじめに

MySQLを使ったSQLや実行計画を学習するためのリポジトリです。

利用上の注意

  • GithubCodespaceを利用します。Codespaceは設定によってはコストがかかるものなので Codespaceの利用上の注意 はよく確認してください。
  • コストをかけないためにも、セキュリティの意味でも、使い終わったら 停止方法 に従って停止することを推奨します。
  • パスワードは各自考えてください。また、間違えてメモなどをコミットしないように気を付けてください。

使い方

※ ローカルでdocker-compose.ymlを起動する場合は.envファイルのユーザーIDとパスワードを設定してから、起動してください。

ここではCodespacesで起動する方法を記載しています。

  1. このリポジトリをフォークするため、右上のforkをクリックする
    start-fork
  2. Create forkボタンをクリックして、フォーク(自分のアカウントにコピーして新しいリポジトリを作成)します。
    select-fork-option
  3. .env.sampleの内容を設定するために、Settingsタブ を開きます。
    settings-tab
  4. 左のメニューから Secrets and variablesCodespaces を開きます。
    secrets-and-variables
  5. new repository Secretsボタンをクリックして、シークレットを設定します。
    new-secrets
  6. NameMYSQL_ROOT_PASSWORDと入力して、Secretに適当なパスワードを入力します(後ほど使いますのでメモしてください)。
    set-root-password
  7. シークレットの設定が完了したら以下の画像のようになります。 success-setting
  8. シークレット完了後、Codespaceを起動するため、Codeタブに移動し、右上にある緑色のcodeのプルダウンメニューを開き、Codespaceタブを開き、Create codespace on mainをクリックします。 success-setting
  9. Codespaceの生成にはしばらく時間がかかるため、しばらく待ちます。
    create-now
  10. VSCodeが起動しますが、画面左下がリモートを開いています...の間は待ちます。
    vscode-setup-now
  11. 画面左下がCodespaceになった場合は、Codespaceが起動完了しました。
    vscode-setup-finish
  12. MySQLに接続するため、右側の筒状のアイコンをクリックしてCreate connectionをクリックします。(もし、Create connectionをクリックしても反応が無い場合は、Webブラウザをリロードしてみてください)
    new-connection
  13. 画面中央に接続設定が表示されるのでNamemysqlHostmysqldatabasemydatabaseUsernamerootと入力する。
    PasswordSecretMYSQL_ROOT_PASSWORDに設定した値を入力します。
    connection-settings
  14. パスワードなどの入力欄の下にある+connectボタンをクリックして接続確認を行います。接続に成功した場合は画面上部にSuccess!が表示されることを確認します
    connection-success
  15. Saveをクリックして接続情報を保存すると、左のパネルに先ほどNameで指定した名前で接続情報が保存されます。
    connection-info
  16. Query+をクリックして適当な名前を付けてクエリの実行ファイルを生成します。
    create-query
  17. 生成したクエリのファイルに適当なSQLを記述してSQLの上部に出てくるRunをクリックするとSQLを実行できます。
    run-query

停止方法

  1. Codeタブに移動し、右上にある緑色のcodeのプルダウンメニューを開き、Codespaceタブを開き、Activeの右側にある三点リーダー(・・・)をクリックしてDeleteをクリックします。
    stop-code-space
  2. 確認ダイアログが表示されるのでDeleteをクリックします。
    delete-code-space

ER図(概念)

erDiagram
  SCHOOLS ||--o{ STUDENTS : ""
  STUDENTS ||--o{ SCORES : ""
  STUDENTS ||--o{ CLUBS : ""

  SCHOOLS {
    string 学校ID PK
    string 学校所在地
    string 地区
    string 学校名
  }
  STUDENTS {
    string 学籍番号 PK
    string 名前
    string 性別
    string 住所
    int    学年
    string クラス
    string 担任
    date   入学年月日
    string 学校ID FK
  }
  SCORES {
    string 学籍番号 PK,FK
    string 科目   PK
    int    点数
  }
  CLUBS {
    string ID        PK
    string 学籍番号 FK
    string 部活
  }
Loading

GitHub Codespaces を無料で使うための前提条件と確認事項

  • アカウントの種類が個人であり、クレジットカードを登録していない想定です。この条件であれば上限を超過すると使えなくなるだけです。

1. アカウント種別の確認

GitHub には以下のアカウント種別があります。

  • 個人アカウント (Personal Account)
    • Free プラン → 無料枠あり(課金なしで利用可能)
    • Pro プラン → 無料枠あり、超過すると課金(クレカ登録が必要)
  • Organization アカウント
    • Free プランでも、Codespaces は「請求先 Organization」として扱われるため、課金が発生する可能性あり
  • Enterprise アカウント
    • 完全に請求が発生する契約ベース。無料利用は不可

課金を避けたい場合は、必ず「個人アカウント」かつ「Free プラン」で利用する


2. プランの確認方法

  1. GitHub の右上プロフィールアイコンをクリックして Settings をクリックする
    github-my-icon
  2. 左メニューの Billing and licensing をクリックして、Licensingをクリックして開く
    github-licensing
  3. Current GitHub base planが以下になっていることを確認
    • Github Free であること(Pro / Team / Enterprise ではないこと)
  4. 次にLicensingの下にPayment informationがあるのでクリックして、Payment information未登録(未入力) であることを確認

個人アカウント + Free プラン + クレカ未登録 → 無料枠を超えると「使えなくなるだけ」で課金なし


3. 無料枠の内容(個人 Free プラン)

  • 120 core-hours / 月
    • 例:2 cores × 60 時間 = 無料枠いっぱい
  • 15 GB-month のストレージ
    • 不要な Codespace は削除して節約する

4. オートサスペンドの設定と意味

オートサスペンドとは

  • 一定時間操作がなければ Codespace を自動で休止(suspend)状態にする機能
  • suspend 中は CPU 時間が消費されず課金対象外
  • 再開時は数十秒〜数分で復帰
  • 「閉じ忘れで無料枠を消費し続ける事故」を防止できる

設定方法

  1. GitHub の右上プロフィールアイコンSettings → Codespaces → Default idle timeout
  2. 「Idle timeout」を設定(例:30 分 / 1 時間)
  3. 個別 Codespace ごとに「… → Manage → Idle timeout」で調整も可能

About

MySQLを使ったSQLや実行計画を学習するためのリポジトリです。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published