Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第4回 データベース
AlphabetBootCamp
アジェンダ
 データベースとはなにか
 RDBとはなにか
 SQLとは?
 実際に試してみる
データベースとはなにか?
 データベースとは、複数の主体で共有、利用したり、用途に応
じて加工や再利用がしやすいように、一定の形式で作成、管理
されたデータの集合のこと。[1]
[1] e-word 「データベース」
http://e-wor...
システムにおけるデータベースとは
データを貯める+データを取り出す仕組みが、
備わったソフトウェアのことを指す。
→ DBMS(データベース管理システム)と呼ばれる。
なぜデータベース(DBMS)が必要なのか?
 大量のデータを効率的に管理するため
 データの一元管理・整合性を保つため
 統一的な操作を行うため
 複数ユーザから利用できるようにするため
データベースの種類
データベースの種類はおおまかに2つ
 リレーショナル・データベース(RDB)
→ 多くの企業で利用されており、一般的にDBと呼ぶとだいたい
リレーショナルデータベースを指すことが多い。
 NoSQL(Not Only S...
リレーショナルデータベース(RDB)とは?
 複数の表(テーブル)を関連付けることができる(関係モデル)
 SQL(Structured Query Language)によって操作
 2次元表の形式で管理
テーブル(表)とは?
ユーザID 名前 職業 性別
1 ヨシヒコ 勇者 男
2 ダンジョー 戦士 男
3 ムラサキ 素人の女 女
4 メレブ 魔法使い 男
… … … …
ユーザ情報
列(カラム)
行(レコード)
属性
関係モデル 例
ユーザ
ID
名前 職業 性別
1 ヨシヒコ 勇者 男
2 ダンジョー 戦士 男
3 ムラサキ 素人の女 女
4 メレブ 魔法使い 男
… … … …
ユーザ
ID
職業
1 勇者
1 アイドル
1 勇者
1 盗賊(ルパン)
1...
データベース
一つのDBで複数のテーブルを扱えます。
Tips!代表的なRDBの製品
製品名 概要
Oracle Database Oracle社の製品
SQL Server Microsoft社の製品
DB2 IBM社の製品
MySQL オープンソースの製品
PostgreSQL オープンソース...
SQL(Structured Query Language)とは
 関係データベース管理システム (RDBMS) において、データ操
作や定義を行うためのデータベース言語(問い合わせ言語),ド
メイン固有言語である。[1]
[1] SQL –...
SQLの種類
SQLは3種類に分類できる。
 DDL(データ定義言語: Data Definition Language)
→データベースやテーブルを作成、更新、削除を行う。
 DDM(データ操作言語: Data Manipulation ...
SQLの種類
SQLは3種類に分類できる。
 DDL(データ定義言語: Data Definition Language)
→データベースやテーブルを作成、更新、削除を行う。
 DDM(データ操作言語: Data Manipulation ...
SQLで重要な4つのコマンド
 SQLにおいて、よく使うのはたった4つのコマンド!
コマンド 用途
SELECT データを取得する。
INSERT データを追加する。
UPDATE データを更新する。
DELETE データを削除する。
SELECT
用途
データを取得するために使う
構文
SELECT 取得する列名(*で全ての列) FROM 表名
Example
SELECT 名前 FROM ユーザ情報
⇒ ユーザ情報テーブルから、名前を取得する。
INSERT
用途
データを追加するために使う
構文
INSERT INTO テーブル名(列名1, 列名2…)
VALUES (列名1に追加する値, 列名2に追加する値…);
Example
INSERT INTO ユーザ情報(名前) VALU...
UPDATE
用途
データを更新するために使う
構文
UPDATE テーブル名
SET (列名1 = 列名1に追加する値, 列名2 = 列名2に追加する値…);
Example
UPDATE ユーザ情報
SET (職業 = ‘盗賊’);
⇒ ユ...
DELETE
用途
データを削除するために使う
構文
DELETE テーブル名;
Example
DELETE ユーザ情報;
⇒ ユーザ情報テーブルのレコードを削除する
条件の指定
条件を指定しない限り、全てのデータに影響を与えてしまう。
データの取得も更新、削除も全件が対象になってしまう!
本当にやりたいことは、職業が勇者のみ取得だったり…
職業が魔法使いの人だけ削除だったりするはず!
条件の指定
ある条件を満たすデータに対して、
なにかしたい場合はWHEREを使う!
たとえば
勇者のみ取得したい場合
SELECT * FROM ユーザ情報 WHERE 職業 = ‘勇者’;
魔法使いだけ削除したい場合
DELETE ユーザ情報...
条件の指定(WHERE)
条件の指定は複数指定することもできる!
SELECT * FROM ユーザ情報
WHERE 性別 = ‘男’ AND 職業 = ‘戦士’
WHEREで使える演算子(一部)
演算子 説明 例
= 等しい 職業 = ‘戦士’
> 大きい 年齢 > 20
< 小さい 年齢 < 20
>= 大きい、もしくは等しい 年齢 >= 20
<= 小さい、もしくは等しい 年齢 <= 20
!=, ...
実際に試してみよう!①
ダミーの個人情報を5000件用意しました!
この5000人の中から、
「名前が岩田で始まり、かつ性別が男の人だけ抽出してみよう」
さて、何人いるでしょうか。
実際に試してみよう!②
このテーブルの中に、自分を追加してみよう。
ちなみに僕の場合
INSERT INTO `users` (`name`, `furigana`, `mail`, `sex`,
`age`, `birth_day`, `bl...
おすすめサイト
「ドットインストール」
URL:
http://dotinstall.com/lessons/basic_my
sql_v2
おすすめポイント
 プログラミングが学べる学習サイト一
回あたり3分の動画
※ MySQL編は全19回
おすすめ本
「SQL 第2版 ゼロからはじめ
るデータベース操作」
価格:2,030円(Kindle版: 2,030円)
※ Amazonの販売価格
おすすめポイント
・お値段も比較的安い!
・ベンダーに依存しない標準SQLで書か
れているのが...
Upcoming SlideShare
Loading in …5
×

第4回 データベース

678 views

Published on

AlphabetBootCamp説明用資料
データベースについて

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第4回 データベース

  1. 1. 第4回 データベース AlphabetBootCamp
  2. 2. アジェンダ  データベースとはなにか  RDBとはなにか  SQLとは?  実際に試してみる
  3. 3. データベースとはなにか?  データベースとは、複数の主体で共有、利用したり、用途に応 じて加工や再利用がしやすいように、一定の形式で作成、管理 されたデータの集合のこと。[1] [1] e-word 「データベース」 http://e-words.jp/w/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9.html
  4. 4. システムにおけるデータベースとは データを貯める+データを取り出す仕組みが、 備わったソフトウェアのことを指す。 → DBMS(データベース管理システム)と呼ばれる。
  5. 5. なぜデータベース(DBMS)が必要なのか?  大量のデータを効率的に管理するため  データの一元管理・整合性を保つため  統一的な操作を行うため  複数ユーザから利用できるようにするため
  6. 6. データベースの種類 データベースの種類はおおまかに2つ  リレーショナル・データベース(RDB) → 多くの企業で利用されており、一般的にDBと呼ぶとだいたい リレーショナルデータベースを指すことが多い。  NoSQL(Not Only SQL) →RDBではないDBの総称 IoTやビッグデータの台頭に伴い、大量のデータが非定形な形で発生 するようになったため、ある部分に特化したDBが必要となったため 生まれた。 ※ 今回はリレーショナル・データベースが対象のため、NoSQLは割愛
  7. 7. リレーショナルデータベース(RDB)とは?  複数の表(テーブル)を関連付けることができる(関係モデル)  SQL(Structured Query Language)によって操作  2次元表の形式で管理
  8. 8. テーブル(表)とは? ユーザID 名前 職業 性別 1 ヨシヒコ 勇者 男 2 ダンジョー 戦士 男 3 ムラサキ 素人の女 女 4 メレブ 魔法使い 男 … … … … ユーザ情報 列(カラム) 行(レコード) 属性
  9. 9. 関係モデル 例 ユーザ ID 名前 職業 性別 1 ヨシヒコ 勇者 男 2 ダンジョー 戦士 男 3 ムラサキ 素人の女 女 4 メレブ 魔法使い 男 … … … … ユーザ ID 職業 1 勇者 1 アイドル 1 勇者 1 盗賊(ルパン) 1 勇者 ユーザ情報 転職履歴 結合条件 複数の表を結合して、一つの表として扱うことができる。
  10. 10. データベース 一つのDBで複数のテーブルを扱えます。
  11. 11. Tips!代表的なRDBの製品 製品名 概要 Oracle Database Oracle社の製品 SQL Server Microsoft社の製品 DB2 IBM社の製品 MySQL オープンソースの製品 PostgreSQL オープンソースの製品
  12. 12. SQL(Structured Query Language)とは  関係データベース管理システム (RDBMS) において、データ操 作や定義を行うためのデータベース言語(問い合わせ言語),ド メイン固有言語である。[1] [1] SQL – Wikipedia https://ja.wikipedia.org/wiki/SQL
  13. 13. SQLの種類 SQLは3種類に分類できる。  DDL(データ定義言語: Data Definition Language) →データベースやテーブルを作成、更新、削除を行う。  DDM(データ操作言語: Data Manipulation Language) →テーブルのデータを追加、取得、更新、削除を行う。  DCL(データ制御文: Data Control Language) →権限の付与・剥奪や、変更の確定、キャンセル(トランザク ショション)などを行う。
  14. 14. SQLの種類 SQLは3種類に分類できる。  DDL(データ定義言語: Data Definition Language) →データベースやテーブルを作成、更新、削除を行う。  DDM(データ操作言語: Data Manipulation Language) →テーブルのデータを追加、取得、更新、削除を行う。  DCL(データ制御文: Data Control Language) →権限の付与・剥奪や、変更の確定、キャンセル(トランザク ショション)などを行う。 今回はDDMのみ対象
  15. 15. SQLで重要な4つのコマンド  SQLにおいて、よく使うのはたった4つのコマンド! コマンド 用途 SELECT データを取得する。 INSERT データを追加する。 UPDATE データを更新する。 DELETE データを削除する。
  16. 16. SELECT 用途 データを取得するために使う 構文 SELECT 取得する列名(*で全ての列) FROM 表名 Example SELECT 名前 FROM ユーザ情報 ⇒ ユーザ情報テーブルから、名前を取得する。
  17. 17. INSERT 用途 データを追加するために使う 構文 INSERT INTO テーブル名(列名1, 列名2…) VALUES (列名1に追加する値, 列名2に追加する値…); Example INSERT INTO ユーザ情報(名前) VALUES(‘ヨシヒコ’); ⇒ ユーザ情報テーブルに、1件追加する。
  18. 18. UPDATE 用途 データを更新するために使う 構文 UPDATE テーブル名 SET (列名1 = 列名1に追加する値, 列名2 = 列名2に追加する値…); Example UPDATE ユーザ情報 SET (職業 = ‘盗賊’); ⇒ ユーザ情報テーブルの職業を盗賊に更新する
  19. 19. DELETE 用途 データを削除するために使う 構文 DELETE テーブル名; Example DELETE ユーザ情報; ⇒ ユーザ情報テーブルのレコードを削除する
  20. 20. 条件の指定 条件を指定しない限り、全てのデータに影響を与えてしまう。 データの取得も更新、削除も全件が対象になってしまう! 本当にやりたいことは、職業が勇者のみ取得だったり… 職業が魔法使いの人だけ削除だったりするはず!
  21. 21. 条件の指定 ある条件を満たすデータに対して、 なにかしたい場合はWHEREを使う! たとえば 勇者のみ取得したい場合 SELECT * FROM ユーザ情報 WHERE 職業 = ‘勇者’; 魔法使いだけ削除したい場合 DELETE ユーザ情報 WHERE ‘職業’ = ‘魔法使い’
  22. 22. 条件の指定(WHERE) 条件の指定は複数指定することもできる! SELECT * FROM ユーザ情報 WHERE 性別 = ‘男’ AND 職業 = ‘戦士’
  23. 23. WHEREで使える演算子(一部) 演算子 説明 例 = 等しい 職業 = ‘戦士’ > 大きい 年齢 > 20 < 小さい 年齢 < 20 >= 大きい、もしくは等しい 年齢 >= 20 <= 小さい、もしくは等しい 年齢 <= 20 !=, <> 等しくない 名前 <> ‘ヨシヒコ’ LIKE パターンに一致 名前 LIKE ‘ヨシ%’ ※ 前方一致:ヨシで始まる 名前 LIKE ‘%ヨシ%’ ※ 部分一致:ヨシが含まれる 名前 LIKE ‘%ヒコ’ ※ 後方一致: ヨシで終わる 値は’’(シングルクォーテーション)で囲む必要があるのに注意してね!
  24. 24. 実際に試してみよう!① ダミーの個人情報を5000件用意しました! この5000人の中から、 「名前が岩田で始まり、かつ性別が男の人だけ抽出してみよう」 さて、何人いるでしょうか。
  25. 25. 実際に試してみよう!② このテーブルの中に、自分を追加してみよう。 ちなみに僕の場合 INSERT INTO `users` (`name`, `furigana`, `mail`, `sex`, `age`, `birth_day`, `blood_type`, `prefecture`, `phone`) VALUES (‘澤田 諒’, ‘さわだ まこと’, ‘makoto.sawada@el- ltd.co.jp’, ‘F’, 25, ‘1991-03-10’, ‘B’, ‘愛知県', ‘0120828828');
  26. 26. おすすめサイト 「ドットインストール」 URL: http://dotinstall.com/lessons/basic_my sql_v2 おすすめポイント  プログラミングが学べる学習サイト一 回あたり3分の動画 ※ MySQL編は全19回
  27. 27. おすすめ本 「SQL 第2版 ゼロからはじめ るデータベース操作」 価格:2,030円(Kindle版: 2,030円) ※ Amazonの販売価格 おすすめポイント ・お値段も比較的安い! ・ベンダーに依存しない標準SQLで書か れているのが◎ ・著者もDBで有名な人なので安心 (「プログラマのためのSQL」の翻訳 者!)

×