SQL入門 - ファイルではなくデータベースを使う理由
保存するだけならファイルでもできる
在庫数をテキストファイルに書いておけば、たしかに保存はできます。それでも業務システムがデータベースを使うのは、保存できるかどうかとは別の理由があるからです。
1人で使っているうちは、この方法で何の問題も起きません。問題が出るのは2人目からです。
在庫数を書いたファイルを開くと、中身はこれだけです。
$ cat stock.txt
1001 / 3
SELECT、INSERT、UPDATE、DELETE に加え、WHERE、JOIN、GROUP BY、サブクエリなど SQL の基礎構文を、ブラウザ上のサンプル DB を操作しながら学べる無料コースです。データ分析やアプリ開発で SQL を初めて学ぶ社会人や学生を対象としています。約 18 時間 (1 日 30 分 × 36 日) で 71 レッスンを修了でき、修了後は業務データの抽出、集計、簡単なレポート作成を SQL で行えるようになります。
レッスン
71件
所要時間
-
ランク
初級
学習環境
ブラウザ完結
SQLを使いこなし、適切なデータベース設計ができるようになります。
SELECT、INSERT、UPDATE、DELETE に加え、WHERE、JOIN、GROUP BY、サブクエリなど SQL の基礎構文を、ブラウザ上のサンプル DB を操作しながら学べる無料コースです。データ分析やアプリ開発で SQL を初めて学ぶ社会人や学生を対象としています。約 18 時間 (1 日 30 分 × 36 日) で 71 レッスンを修了でき、修了後は業務データの抽出、集計、簡単なレポート作成を SQL で行えるようになります。
SELECT、INSERT、UPDATE、DELETEを使いこなせる
JOINを使った複雑なクエリを書ける
正規化の原則に基づいたテーブル設計ができる
インデックスを適切に設計できる
パフォーマンスを意識したクエリを書ける
ブラウザ完結(インストール不要)
必要ツール: ブラウザ内SQLエディタ, PostgreSQL
テキストでの解説
0
レッスン
コーディングの問題
61
レッスン
クイズ問題
10
レッスン
ゆめさくコード編集部
プログラミング学習をもっと身近に。初心者から実務レベルまで、わかりやすいコンテンツをお届けします。
ゆめさくエンジニア / 現役ソフトウェアエンジニア。Ruby on Rails・Nuxt.js・Next.js・CakePHPなどの実務の開発をベースに、学習コンテンツを作成しています。
レッスンの最初に、図と短い言葉で学ぶ内容をつかみます。
SQL入門 - ファイルではなくデータベースを使う理由
在庫数をテキストファイルに書いておけば、たしかに保存はできます。それでも業務システムがデータベースを使うのは、保存できるかどうかとは別の理由があるからです。
1人で使っているうちは、この方法で何の問題も起きません。問題が出るのは2人目からです。
在庫数を書いたファイルを開くと、中身はこれだけです。
$ cat stock.txt
1001 / 3
SQL入門 - なぜ表を分けて持つのか
注文を記録する表に、ついでに顧客名とメールも書いておけば、その表を見るだけで済みます。実際に書いてみると、同じ人が2回目の注文をした時点で困りごとが出てきます。
同じメールが2行に書かれています。3回目、4回目と注文が増えたらどうなるかを、次の枚で見てください。
田中さんが 2 回注文すると、表はこうなります。
注文ID 顧客名 メール 金額
1001 田中 tanaka@x.com 2500
1003 田中 tanaka@x.com 13001 / 4
データベースは、こういう表の形でデータを持っています。この表そのものをテーブルと呼び、縦の列をカラム、横の行をレコードと呼びます。
products
| 商品ID | 商品名 | 価格 |
|---|---|---|
| 10001 | 商品A | 2500 |
| 10002 | 商品B | 1000 |
| 10003 | 商品C | 1300 |
縦に見れば商品IDだけが並び、横に見れば商品1件ぶんがまとまっています。
データベースが持つ表は1枚だけではありません。顧客の表、注文の表と、用途ごとに何枚も抱えています。
1 / 5
SQL入門 - 主キーとNULL制約
行を1本に決めるには、主キー列に NULL も同じ値も許せません。
id INT PRIMARY KEY は、id に NOT NULL と UNIQUE を同時に効かせます。
| 条件 | 主キー列での約束 |
|---|---|
| NOT NULL | すべての行に値が入る |
| UNIQUE | 全行を通じて値が重複しない |
| PRIMARY KEY | 2つを同時に満たし、行を一意に識別する |
1 / 4
動かしながら、仕組みや変化を目で確かめられます。
バックエンド開発を学びたい人
を目指す人
データベースを扱う業務に就く人
を目指す人
データ分析でSQLを使いたい人
を目指す人
司書「この蔵書データ、集計できますか?」
1問目は無料で解けます。
教材を見ないで、依頼と完成条件だけを読んで書いてみてください。
SQL道場 図書館DBに挑む10問
先にこちらを通しておくと、つまずきにくくなります
このコースを終えたあとに進むと、無理なく続けられます
同時に進めると、理解が早くなる組み合わせです