SlideShare ist ein Scribd-Unternehmen logo
1 von 27
第4回 データベース
AlphabetBootCamp
アジェンダ
 データベースとはなにか
 RDBとはなにか
 SQLとは?
 実際に試してみる
データベースとはなにか?
 データベースとは、複数の主体で共有、利用したり、用途に応
じて加工や再利用がしやすいように、一定の形式で作成、管理
されたデータの集合のこと。[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
システムにおけるデータベースとは
データを貯める+データを取り出す仕組みが、
備わったソフトウェアのことを指す。
→ DBMS(データベース管理システム)と呼ばれる。
なぜデータベース(DBMS)が必要なのか?
 大量のデータを効率的に管理するため
 データの一元管理・整合性を保つため
 統一的な操作を行うため
 複数ユーザから利用できるようにするため
データベースの種類
データベースの種類はおおまかに2つ
 リレーショナル・データベース(RDB)
→ 多くの企業で利用されており、一般的にDBと呼ぶとだいたい
リレーショナルデータベースを指すことが多い。
 NoSQL(Not Only SQL)
→RDBではないDBの総称
IoTやビッグデータの台頭に伴い、大量のデータが非定形な形で発生
するようになったため、ある部分に特化したDBが必要となったため
生まれた。
※ 今回はリレーショナル・データベースが対象のため、NoSQLは割愛
リレーショナルデータベース(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 – Wikipedia
https://ja.wikipedia.org/wiki/SQL
SQLの種類
SQLは3種類に分類できる。
 DDL(データ定義言語: Data Definition Language)
→データベースやテーブルを作成、更新、削除を行う。
 DDM(データ操作言語: Data Manipulation Language)
→テーブルのデータを追加、取得、更新、削除を行う。
 DCL(データ制御文: Data Control Language)
→権限の付与・剥奪や、変更の確定、キャンセル(トランザク
ショション)などを行う。
SQLの種類
SQLは3種類に分類できる。
 DDL(データ定義言語: Data Definition Language)
→データベースやテーブルを作成、更新、削除を行う。
 DDM(データ操作言語: Data Manipulation Language)
→テーブルのデータを追加、取得、更新、削除を行う。
 DCL(データ制御文: Data Control Language)
→権限の付与・剥奪や、変更の確定、キャンセル(トランザク
ショション)などを行う。
今回はDDMのみ対象
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 ユーザ情報(名前) VALUES(‘ヨシヒコ’);
⇒ ユーザ情報テーブルに、1件追加する。
UPDATE
用途
データを更新するために使う
構文
UPDATE テーブル名
SET (列名1 = 列名1に追加する値, 列名2 = 列名2に追加する値…);
Example
UPDATE ユーザ情報
SET (職業 = ‘盗賊’);
⇒ ユーザ情報テーブルの職業を盗賊に更新する
DELETE
用途
データを削除するために使う
構文
DELETE テーブル名;
Example
DELETE ユーザ情報;
⇒ ユーザ情報テーブルのレコードを削除する
条件の指定
条件を指定しない限り、全てのデータに影響を与えてしまう。
データの取得も更新、削除も全件が対象になってしまう!
本当にやりたいことは、職業が勇者のみ取得だったり…
職業が魔法使いの人だけ削除だったりするはず!
条件の指定
ある条件を満たすデータに対して、
なにかしたい場合はWHEREを使う!
たとえば
勇者のみ取得したい場合
SELECT * FROM ユーザ情報 WHERE 職業 = ‘勇者’;
魔法使いだけ削除したい場合
DELETE ユーザ情報 WHERE ‘職業’ = ‘魔法使い’
条件の指定(WHERE)
条件の指定は複数指定することもできる!
SELECT * FROM ユーザ情報
WHERE 性別 = ‘男’ AND 職業 = ‘戦士’
WHEREで使える演算子(一部)
演算子 説明 例
= 等しい 職業 = ‘戦士’
> 大きい 年齢 > 20
< 小さい 年齢 < 20
>= 大きい、もしくは等しい 年齢 >= 20
<= 小さい、もしくは等しい 年齢 <= 20
!=, <> 等しくない 名前 <> ‘ヨシヒコ’
LIKE パターンに一致 名前 LIKE ‘ヨシ%’ ※ 前方一致:ヨシで始まる
名前 LIKE ‘%ヨシ%’ ※ 部分一致:ヨシが含まれる
名前 LIKE ‘%ヒコ’ ※ 後方一致: ヨシで終わる
値は’’(シングルクォーテーション)で囲む必要があるのに注意してね!
実際に試してみよう!①
ダミーの個人情報を5000件用意しました!
この5000人の中から、
「名前が岩田で始まり、かつ性別が男の人だけ抽出してみよう」
さて、何人いるでしょうか。
実際に試してみよう!②
このテーブルの中に、自分を追加してみよう。
ちなみに僕の場合
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');
おすすめサイト
「ドットインストール」
URL:
http://dotinstall.com/lessons/basic_my
sql_v2
おすすめポイント
 プログラミングが学べる学習サイト一
回あたり3分の動画
※ MySQL編は全19回
おすすめ本
「SQL 第2版 ゼロからはじめ
るデータベース操作」
価格:2,030円(Kindle版: 2,030円)
※ Amazonの販売価格
おすすめポイント
・お値段も比較的安い!
・ベンダーに依存しない標準SQLで書か
れているのが◎
・著者もDBで有名な人なので安心
(「プログラマのためのSQL」の翻訳
者!)

Weitere ähnliche Inhalte

Was ist angesagt?

テーブルの変更・作成
テーブルの変更・作成テーブルの変更・作成
テーブルの変更・作成Jun Chiba
 
BigData Architecture for Azure
BigData Architecture for AzureBigData Architecture for Azure
BigData Architecture for AzureRyoma Nagata
 
今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよKeisuke Oohata
 
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)Naoki (Neo) SATO
 
Power Query Online
Power Query OnlinePower Query Online
Power Query OnlineRyoma Nagata
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現Ryoma Nagata
 
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!株式会社クライム
 

Was ist angesagt? (8)

テーブルの変更・作成
テーブルの変更・作成テーブルの変更・作成
テーブルの変更・作成
 
Hadoop 基礎
Hadoop 基礎Hadoop 基礎
Hadoop 基礎
 
BigData Architecture for Azure
BigData Architecture for AzureBigData Architecture for Azure
BigData Architecture for Azure
 
今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ
 
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
[Azure Deep Dive] Spark と Azure HDInsight によるビッグ データ分析入門 (2017/03/27)
 
Power Query Online
Power Query OnlinePower Query Online
Power Query Online
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
 
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!
GCP Cloud SQLへのデータ移行・連携はSyniti DRにお任せ!
 

Ähnlich wie 第4回 データベース

実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation libraryKouta Shiobara
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編ThinkIT_impress
 
iOS/Androidにも対応した SQL Anywhere 12の魅力
iOS/Androidにも対応した SQL Anywhere 12の魅力iOS/Androidにも対応した SQL Anywhere 12の魅力
iOS/Androidにも対応した SQL Anywhere 12の魅力nisobe58
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓貴仁 大和屋
 
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Oda Shinsuke
 
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しSQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しInsight Technology, Inc.
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』Insight Technology, Inc.
 
1 Linux入門 第7章 DBサーバーの概要
1 Linux入門 第7章 DBサーバーの概要1 Linux入門 第7章 DBサーバーの概要
1 Linux入門 第7章 DBサーバーの概要Enpel
 
データベース01 - データベースとは
データベース01 - データベースとはデータベース01 - データベースとは
データベース01 - データベースとはKenta Oku
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...Insight Technology, Inc.
 
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介griddb
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスMicrosoft
 
メタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeメタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeMitsuharu Nagamori
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~Developers Summit
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 

Ähnlich wie 第4回 データベース (20)

SQL Server 入門
SQL Server 入門SQL Server 入門
SQL Server 入門
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation library
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
iOS/Androidにも対応した SQL Anywhere 12の魅力
iOS/Androidにも対応した SQL Anywhere 12の魅力iOS/Androidにも対応した SQL Anywhere 12の魅力
iOS/Androidにも対応した SQL Anywhere 12の魅力
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
 
Sql勉強会用_1
Sql勉強会用_1Sql勉強会用_1
Sql勉強会用_1
 
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
 
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しSQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話し
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
 
1 Linux入門 第7章 DBサーバーの概要
1 Linux入門 第7章 DBサーバーの概要1 Linux入門 第7章 DBサーバーの概要
1 Linux入門 第7章 DBサーバーの概要
 
データベース01 - データベースとは
データベース01 - データベースとはデータベース01 - データベースとは
データベース01 - データベースとは
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
 
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介
ビッグデータによる価値創造を実現するデータ収集・蓄積・分析クラウドサービス “簡単!賢く!データを活かす!”東芝データレイクサービスの取り組みのご紹介
 
Orchestrate DBaaS入門
Orchestrate DBaaS入門Orchestrate DBaaS入門
Orchestrate DBaaS入門
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL Poolベストプラクティス
 
メタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeメタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridge
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 

Mehr von Sawada Makoto

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライドSawada Makoto
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドSawada Makoto
 
システム開発について
システム開発についてシステム開発について
システム開発についてSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらいSawada Makoto
 

Mehr von Sawada Makoto (7)

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライド
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
 
システム開発について
システム開発についてシステム開発について
システム開発について
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
PHP+DB
PHP+DBPHP+DB
PHP+DB
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
 

第4回 データベース