Step 1:SQLとデータベースの基礎知識

📘 Step 1: SQLとデータベースの基礎知識

SQLって何?データベースって何?まずは基本を理解しよう!

📋 このステップで学ぶこと
  • SQLとは何か、なぜ必要なのか
  • データベースの基本概念(テーブル、行、列)
  • リレーショナルデータベースの仕組み
  • 実際の使用例と活用場面

🎯 1. SQLとは?

1-1. SQLの正式名称と読み方

SQLは「エスキューエル」と読みます。

正式名称はStructured Query Language(ストラクチャード・クエリ・ランゲージ)で、日本語では「構造化問い合わせ言語」と訳されます。

難しく聞こえますが、簡単に言うと「データベースとお話しするための言葉」です。

私たちが日本語で友達と会話するように、コンピュータと会話するための「言葉のルール」が言語です。SQLは、特にデータベースというコンピュータの部品と会話するための言葉です。

1-2. SQLは何のために使うの?

SQLを使うと、データベースに対して以下のような「お願い」ができます。

✅ SQLでできる4つのこと
  • データを見せて!(検索):「全部の商品を見せて」「価格が1000円以下だけ見せて」
  • データを追加して!(登録):「新しい商品を追加して」「新しいお客さんを登録して」
  • データを変更して!(更新):「この商品の価格を変更して」「住所を更新して」
  • データを消して!(削除):「この商品を削除して」「古い注文データを消して」

1-3. なぜSQLが必要なの?

コンピュータは、私たちの日本語をそのまま理解できません。

「商品を見せて」と話しかけても、何も起きません。そこで、コンピュータが理解できる言葉=SQLで命令を出す必要があるのです。

図書館で本を探すとき、司書さんに「料理の本を全部見せてください」「著者が〇〇さんの本はどこですか?」とお願いしますよね。

SQLは、コンピュータ(データベース)に対してこのような「お願い」をするための言葉です。司書さんの代わりに、SQLがあなたの命令を理解して、データを探してくれます。

1-4. 身近な場所で動いているSQL

実は、私たちが普段使っているサービスの裏側では、常にSQLが動いています。

💡 こんな場面でSQLが使われています
  • ネットショッピング:「価格が安い順」「評価が高い順」で並べ替え
  • SNSの検索:「#旅行」で投稿を検索
  • 銀行のATM:残高を確認する
  • 乗り換え案内:電車の時刻を検索

📊 2. データベースとは?

2-1. データベースの役割

データベースとは、データを整理して保存する「入れ物」のことです。

パソコンのフォルダにファイルを保存するのと似ていますが、データベースはもっと大量のデータを効率的に管理でき、素早く検索できるように作られています。

📦 データベースを例えると…
  • データベース = 図書館全体
  • テーブル = 本棚(小説の棚、雑誌の棚など種類ごと)
  • データ(行) = 1冊1冊の本

2-2. テーブルとは?

データベースの中では、データはテーブル(表)の形で保存されます。Excelのシートをイメージしてください。

以下は「生徒テーブル」の例です。

📋 生徒テーブルの例
ID 名前 年齢 クラス
1 田中太郎 15 A組
2 鈴木花子 14 B組
3 佐藤次郎 15 A組

このテーブルでは、縦の項目(ID、名前、年齢、クラス)が「列(カラム)」横の1人分のデータが「行(レコード)」です。

2-3. テーブルの構造を詳しく理解しよう

テーブルには3つの重要な要素があります。それぞれの意味を確認しましょう。

📌 テーブルの3つの要素
用語 英語 意味
列(カラム) Column 縦の項目名 ID、名前、年齢
行(レコード) Row / Record 横の1件分のデータ 田中太郎さんの情報1行
セル Cell 1つ1つのマス 「田中太郎」という値

2-4. 実際のテーブル例:商品テーブル

ネットショップを例に、もう少し実践的なテーブルを見てみましょう。

🛒 商品テーブルの例
商品ID 商品名 価格 カテゴリ 在庫
1 ノートPC 80000 電化製品 5
2 マウス 1500 電化製品 20
3 デスク 15000 家具 3
4 チェア 12000 家具 8
5 モニター 25000 電化製品 10

このテーブルでは、列(カラム)は5つ(商品ID、商品名、価格、カテゴリ、在庫)、行(レコード)は5つ(5つの商品が登録されている)です。電化製品は3つ、家具は2つあります。

このテーブルに対して、SQLを使えば「電化製品のカテゴリだけ見せて」「価格が10000円以下のものを見せて」「在庫が5個以下の商品を見せて」「価格が安い順に並べて見せて」といった指示を出すことができます。

🔗 3. リレーショナルデータベースとは?

3-1. 「リレーショナル」の意味

リレーショナル(Relational)とは、「関連している」「つながっている」という意味です。

リレーショナルデータベースとは、複数のテーブルを「関連づけて」管理するデータベースのことです。

学校には、別々の書類がありますよね。

  • 生徒名簿:生徒ID、名前、クラス、住所など
  • 成績表:生徒ID、科目、点数など
  • 出席簿:生徒ID、日付、出欠など

これらは別々の書類ですが、「生徒ID」という共通の項目でつなげることができます。だから「田中太郎(ID:1)さんの、数学の点数と、先月の出席日数」をまとめて調べることができるのです。

3-2. なぜテーブルを分けるの?

「全部1つのテーブルにまとめた方が楽じゃない?」と思うかもしれません。でも、分けた方がいい理由があります。

まず、悪い例を見てみましょう。全部を1つにまとめたテーブルです。

❌ 悪い例:全部を1つにまとめたテーブル
注文ID 顧客名 顧客住所 商品名 価格 数量
1 田中太郎 東京都… ノートPC 80000 1
2 田中太郎 東京都… ←同じ住所が2回 マウス 1500 2
3 田中太郎 東京都… ←同じ住所が3回! キーボード 3000 1
4 鈴木花子 大阪府… デスク 15000 1

このテーブルの問題点:田中太郎さんの情報が3回も重複しています。住所が変わったら3箇所を修正しないといけません。データ量も無駄に大きくなります。

次に、良い例を見てみましょう。テーブルを分けて関連づけています。

✅ 良い例:顧客テーブル(住所は1箇所だけ!)
顧客ID 顧客名 住所
1 田中太郎 東京都…
2 鈴木花子 大阪府…
✅ 良い例:注文テーブル(顧客IDで顧客テーブルとつながる)
注文ID 顧客ID 商品名 価格 数量
1 1 ノートPC 80000 1
2 1 マウス 1500 2
3 1 キーボード 3000 1
4 2 デスク 15000 1

注文テーブルの「顧客ID」を見れば、顧客テーブルから顧客の詳細情報を取得できます。住所は顧客テーブルに1回だけ書けばOKで、住所が変わっても1箇所を修正するだけで済みます。

3-3. テーブルをつなげる「キー」

テーブル同士をつなげるために使う列を「キー」と呼びます。

🔑 キーの種類
キーの名前 役割
主キー(Primary Key) そのテーブルで各行を一意に識別するID 顧客テーブルの「顧客ID」、商品テーブルの「商品ID」
外部キー(Foreign Key) 他のテーブルの主キーを参照する列 注文テーブルの「顧客ID」(顧客テーブルを参照)

💼 4. SQLとデータベースの活用場面

4-1. 日常生活での活用例

私たちが日常的に使っているサービスの多くは、裏側でデータベースとSQLが動いています。

🛒 ネットショッピング
  • 商品の検索・絞り込み
  • 在庫数の管理
  • 注文履歴の保存
  • おすすめ商品の表示
🏦 銀行・金融
  • 口座情報の管理
  • 取引履歴の記録
  • 残高の計算
  • 不正取引の検出
📱 SNS
  • 投稿の保存・表示
  • フォロー関係の管理
  • いいね・コメントの記録
  • おすすめユーザーの抽出

4-2. ビジネスでの活用例

📊 売上分析
  • 「今月の売上トップ10の商品は?」
  • 「どの地域の売上が一番多い?」
  • 「昨年と比べて売上はどうなっている?」
📦 在庫管理
  • 「在庫が残り10個以下の商品は?」
  • 「今月中に在庫切れになりそうな商品は?」
  • 「発注が必要な商品リストを出して」
👥 顧客分析
  • 「月に10回以上購入している顧客は?」
  • 「最近3ヶ月購入していない顧客は?」
  • 「この商品を買った人がよく買う商品は?」
📝 レポート作成
  • 「月次の売上レポートを作成」
  • 「カテゴリ別の販売数を集計」
  • 「新規顧客と既存顧客の比較」

4-3. SQLができると広がる可能性

💡 SQLを学ぶと…
  • 仕事の効率アップ:大量のデータを一瞬で分析できる
  • キャリアの選択肢が増える:データアナリスト、エンジニアなどの職種に挑戦できる
  • プログラミングへの足がかり:他の言語を学ぶときにも役立つ
  • データに基づいた意思決定:感覚ではなくデータで判断できる

🎓 5. SQLとデータベースの種類

5-1. 主なデータベース管理システム

SQLを使えるデータベース管理システム(DBMS:Database Management System)はいくつかあります。

📊 主なデータベース管理システム
名前 特徴
SQLite
(エスキューライト)
軽量で初心者向け。スマホアプリでもよく使われる。サーバー不要で簡単に始められる。このコースで使用!
MySQL
(マイエスキューエル)
無料で使える人気のDB。WordPressなどのWebサイトで使用。世界で最も使われているDBの1つ。
PostgreSQL
(ポストグレスキューエル)
高機能で信頼性が高い。大規模システムで使われる。地理情報など高度な機能あり。
Oracle Database
(オラクル)
企業向けの高性能DB。大企業や官公庁で使われる。有料(高価)。
SQL Server
(エスキューエルサーバー)
マイクロソフト製のDB。Windows環境で人気。Excelとの連携が得意。

5-2. このコースでSQLiteを使う理由

✅ SQLiteを選んだ4つの理由
  • セットアップが簡単:サーバーの設定が不要。インストールしてすぐに使い始められる。
  • 完全無料:商用利用も含めて完全に無料。
  • パソコンに負担がかからない:軽量なので、古いパソコンでも問題なく動く。
  • 他のデータベースにも応用できる:SQLiteで学んだ内容の80%以上は、MySQL、PostgreSQLなど他のデータベースでもそのまま使える。

🔑 6. SQLの基本コマンド(プレビュー)

次のステップから実際にSQLを書いていきます。ここでは「こんな感じなんだ」という雰囲気だけ掴んでください。

⚠️ 今は覚えなくてOK!

以下のコードは「こんな感じ」というイメージを持ってもらうためのものです。詳しい文法は Step 4 以降で丁寧に説明します。今は眺めるだけで大丈夫です。

6-1. データを見る(SELECT)

一番よく使うコマンドです。テーブルからデータを取り出します。

※横にスクロールできます

— 「–」で始まる行はコメント(メモ)です。実行されません。 — 商品テーブルから全部のデータを見る SELECT * FROM 商品; — 商品名と価格だけを見る SELECT 商品名, 価格 FROM 商品; — 価格が10000円以下の商品だけを見る SELECT * FROM 商品 WHERE 価格 <= 10000;

6-2. データを追加する(INSERT)

新しいデータをテーブルに追加します。

※横にスクロールできます

— 新しい商品を追加する INSERT INTO 商品 (商品名, 価格, カテゴリ, 在庫) VALUES (‘キーボード’, 3000, ‘電化製品’, 15);

6-3. データを変更する(UPDATE)

すでにあるデータを修正します。

※横にスクロールできます

— マウスの価格を1200円に変更する UPDATE 商品 SET 価格 = 1200 WHERE 商品名 = ‘マウス’;

6-4. データを削除する(DELETE)

不要なデータを削除します。

※横にスクロールできます

— 商品ID 5 の商品を削除する DELETE FROM 商品 WHERE 商品ID = 5;
📌 4つの基本コマンドまとめ
コマンド 意味 覚え方
SELECT データを見る 「選んで(SELECT)見せて」
INSERT データを追加 「挿入(INSERT)して」
UPDATE データを変更 「更新(UPDATE)して」
DELETE データを削除 「削除(DELETE)して」

📝 Step 1 のまとめ

✅ このステップで学んだこと
  • SQLは、データベースに命令を出すための言語
  • データベースは、データを整理して保存する場所(図書館のようなもの)
  • テーブルは、データを表の形で保存する(Excelのシートのようなもの)
  • 列(カラム)は縦の項目、行(レコード)は横の1件分のデータ
  • リレーショナルデータベースは、複数のテーブルを関連づけて管理する
  • SQLは、ネットショップ、銀行、SNSなど、身の回りのあらゆる場所で使われている
  • このコースではSQLiteを使って学習する
🎯 次のステップへの準備

次のStep 2では、実際にSQLを使える環境を作ります。DB Browser for SQLiteというツールをインストールして、すぐにSQLを書き始められるようにしましょう!

❓ よくある質問

Q1: SQLとExcelはどう違うの?

規模と目的が違います。

ExcelとSQLの比較
項目 Excel SQL + データベース
データ量 数万行程度まで 数億行でも可能
同時アクセス 1人〜数人 数千人同時でも可能
検索速度 データが増えると遅い 大量でも高速

小規模なデータ管理ならExcelで十分ですが、大量のデータを扱う場合はSQL + データベースが必要になります。

Q2: プログラミング経験がなくても大丈夫?

はい、大丈夫です!

SQLは他のプログラミング言語と比べて、とてもシンプルです。英語に近い文法なので読みやすく、覚えるコマンドも少ない(基本は4つだけ)です。すぐに結果が見えるので達成感もあります。

このコースは初心者向けに作られているので、安心して進めてください。

Q3: どのくらいの期間で習得できますか?

基礎は2〜3週間で習得できます。

1日1〜2時間の学習で、全15ステップを2〜3週間で修了できます。基本的な検索(SELECT)は最初の1週間で使えるようになります。実務で使えるレベルになるには、その後も実践が必要ですが、基礎はしっかり身につきます。

Q4: SQLite以外のデータベースも学ぶ必要がありますか?

まずはSQLiteで基礎を固めてからで大丈夫です。

SQLの基本文法は、どのデータベースでもほぼ同じです。SQLiteで学んだ内容の80%以上は、MySQL、PostgreSQLなど他のデータベースでもそのまま使えます。

まずはこのコースでSQLiteをマスターしてから、必要に応じて他のデータベースに挑戦しましょう。

Q5: SQLを学ぶとどんな仕事ができますか?

データに関わる様々な仕事で活躍できます。

SQLが活かせる職種
  • データアナリスト:売上データや顧客データを分析
  • データサイエンティスト:機械学習の前処理でSQLを使用
  • Webエンジニア:アプリケーションのデータ管理
  • マーケター:顧客分析、広告効果測定
  • 営業・事務:売上レポート作成、データ集計

今やSQLは、IT職種だけでなく、多くのビジネスパーソンに求められるスキルになっています。

Q6: SQLの「エスキューエル」と「シークェル」どちらが正しい読み方?

どちらも正しいです。

  • エスキューエル(S-Q-L):アルファベットをそのまま読む。日本ではこちらが主流。
  • シークェル(Sequel):SQLの前身「SEQUEL」の名残。英語圏では使われることも。

このコースでは「エスキューエル」と読んでいますが、どちらで呼んでも問題ありません。

📝

学習メモ

SQL基礎 - Step 1

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE