Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データベース超入門(座学編)

NoMu
March 15, 2023

 データベース超入門(座学編)

NoMu

March 15, 2023
Tweet

More Decks by NoMu

Other Decks in Technology

Transcript

  1. Tech Dojo いまからでも遅くない! データベース超入門(座学編) 2023年3月15日 IBM Developer 18時開始予定です! マイクをオフにして お待ちください。

    お待ちの間に、アンケートのご回答お願いいたします! QRコード or 以下のリンク https://app.sli.do/event/juSs1peqNAyypVibvTkJS1
  2. 2 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 李広樹(Lee Kwangsoo) 千葉(大阪 鶴橋 生まれ&育ち) 読書、プログラミング、ゲーム カスタマーサクセス EC、フィットネス、業務システム DB設計~アプリ開発 AI / RPAを用いた業務自動化 自己紹介 名前 生息地 趣味 経歴 [email protected] https://www.linkedin.com/in/kwangsoo-lee
  3. 3 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 自己紹介 村田 憲昭 北海道北斗市 スノーボード、登山、グルメ、猫 カスタマーサクセス DX人材育成/教育(IT全般) データベースエンジニア 某コンビニのエンジニア 名前 生息地 趣味 経歴 [email protected] https://www.linkedin.com/in/noriaki-murata-nmz
  4. 4 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 免責事項 本資料に含まれる情報は可能な限り正確を期しておりますが、 記載された内容に関して、日本アイ・ビー・エム株式会社が 何ら保証するものではありません。 従って、本資料の情報の利用は使用者の責任において 為されるものであり、資料の内容によって受けた 如何なる被害に関しても一切の補償をするものではありません。
  5. 5 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本Dojoのゴール データベースの基本的な概念がわかる ※本日の内容は超初学者向けです
  6. 6 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation ご案内 本日開催 開催日時:未定 開催日時:未定
  7. 7 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本日のアジェンダ 1 .データベースとは 2 .データベースの種類 3 .SQLとは 4 .データベース設計 5 .データベース運用・管理
  8. 8 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本日のアジェンダ 1 .データベースとは 2 .データベースの種類 3 .SQLとは 4 .データベース設計(「データベース設計編」対象) 5 .データベース運用・管理(「データベース設計編」対象)
  9. 9 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation データベースとは、構造化した情報またはデータの組織的な集 合であり、通常はコンピューター・システムに電子的に格納さ れています。 https://www.oracle.com/jp/database/what-is-database/ データベース(DB)とは要するに.. 情報をコンピューターに入れておき、 ほしい情報をすぐに見つけられるようにしたもの。 もっと簡単に言うと DBの種類 SQLとは DBとは データベースとは?
  10. 10 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 図書館で読みたい本を探す場合- データベースがない場合 〇〇本は どこに..? 〇〇の本を 今日は読むぞ! データベースとは? DBの種類 SQLとは DBとは
  11. 11 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 〇〇の本を 今日は読むぞ! 蔵書データベース で検索だ。 E列の3番棚に あるのね。 図書館で読みたい本を探す場合- データベースがある場合 データベースとは? DBの種類 SQLとは DBとは
  12. 12 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 結論:システムの裏側で、どこでも使われている。 一般社会でデータベースはどこで使われているか? 旅行の予約サイト ATMのシステム 券売機 データベースとは? DBの種類 SQLとは DBとは
  13. 13 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation データベースとは? https://www.ibm.com/case-studies/jp-ja/ 一般社会でデータベースはどこで使われているか? DBの種類 SQLとは DBとは
  14. 14 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation データベースとは? 某コンビニの売上分析基盤 コンビニ各店舗 プライベートクラウド 売上 1日1回 送信 本部 日々 チェック データベース データ 処理 ・整形 ・加工 ・登録 売上 分析 ・参照 ・集計 ・表示 ・・・ 一般社会でデータベースはどこで使われているか? DBの種類 SQLとは DBとは
  15. 15 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation データベースを利用する場合は通常、 有償 or 無償の専用のソフトウェアを使います。 例) 有償…IBM Db2 , Oracle Database , DynamoDBなど 無償… MySQL , PostgreSQL , MongoDBなど データベースとは?(補足) DBの種類 SQLとは DBとは データベースのためのソフトウェアのことを DBMSと呼びます。
  16. 16 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本日のアジェンダ 1 .データベースとは 2 .データベースの種類 3 .SQLとは 4 .データベース設計(「データベース設計編」対象) 5 .データベース運用・管理(「データベース設計編」対象)
  17. 17 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation よく使われているデータベースは2種類。 リレーショナルデータベース(RDB) 非リレーショナルデータベース(NoSQL) NoSQLはRDBのような表形式の データベースではなく、 さまざまな形でデータを保管する データベースです。 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 { ID: 1, 社員名 : “荒巻”, 所属 : [ {部署名 : ”営業” , 経験年数 : 8}, {部署名 : ”経理” , 経験年数 : 5} ] } 社員ID 商品名 価格 1 ホッチキス 200 2 鉛筆 80 2 のり 120 RDBは表形式で保存されている データベースの事です。 データベースの種類 DBの種類 SQLとは DBとは
  18. 18 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation NoSQLはRDBのような表形式の データベースではなく、 さまざまな形でデータを保管する データベースです。 データベースの種類 もう少し詳しく 見ていきます よく使われているデータベースは2種類。 リレーショナルデータベース(RDB) 非リレーショナルデータベース(NoSQL) 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 社員ID 商品名 価格 1 ホッチキス 200 2 鉛筆 80 2 のり 120 RDBは表形式で保存されている データベースの事です。 DBの種類 SQLとは DBとは { ID: 1, 社員名 : “荒巻”, 所属 : [ {部署名 : ”営業” , 経験年数 : 8}, {部署名 : ”経理” , 経験年数 : 5} ] }
  19. 19 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation RDBをもう少し詳しく RDBはデータを表形式で保存しており、これを「テーブル」と呼びます。 リレーショナルデータベースの「リレーショナル」はテーブル同士の関係性を意味しています。 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 テーブル 社員テーブル データベースの種類 DBの種類 SQLとは DBとは
  20. 20 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation RDBをもう少し詳しく RDBはデータを表形式で保存しており、これを「テーブル」と呼びます。 リレーショナルデータベースの「リレーショナル」はテーブル同士の関係性を意味しています。 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 テーブル 社員ID 商品名 価格 1 ホッチキス 200 2 鉛筆 80 2 のり 120 社員テーブル 注文テーブル データベースの種類 DBの種類 SQLとは DBとは
  21. 21 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation RDBをもう少し詳しく RDBはデータを表形式で保存しており、これを「テーブル」と呼びます。 リレーショナルデータベースの「リレーショナル」はテーブル同士の関係性を意味しています。 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 テーブル 社員ID 商品名 価格 1 ホッチキス 200 2 鉛筆 80 2 のり 120 社員テーブル 注文テーブル データベースの種類 DBの種類 SQLとは DBとは 関連づける 社員ID 社員名 部署 支店 商品名 価格 1 村田 営業 北海道支店 ホッチキス 200 2 小野 経理 東京支店 鉛筆 80 2 小野 経理 東京支店 のり 120
  22. 22 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation リレーショナルデータベース、テーブルといった言葉が出てきたので、 一旦図でイメージを整理しておきます。 基本的には、一つのデータベースの中に複数のテーブルが入っています。 データベース 社員ID 社員名 部署 支店 1 村田 営業 北海道支店 2 小野 経理 東京支店 3 藤平 法務 東京支店 社員ID 商品名 価格 1 ホッチキス 200 2 鉛筆 80 2 のり 120 データベースの種類 テーブル 補足:データベースとテーブルの関係性 DBの種類 SQLとは DBとは
  23. 23 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本日のアジェンダ 1 .データベースとは 2 .データベースの種類 3 .SQLとは 4 .データベース設計(「データベース設計編」対象) 5 .データベース運用・管理(「データベース設計編」対象)
  24. 24 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 正式名称:Structured Query Language 直訳すると「構造化された問い合わせを行う言語」でして、 データベースに対して命令や問い合わせをするための言語です。 DB SQL 結果 SQLとは? DBの種類 SQLとは DBとは
  25. 25 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation SQLを使ってできること SQLを使うと、データベースに対して以下の操作ができます。 1、テーブルの作成・変更・削除 2、テーブルへの値の登録・取得・更新・削除 SQLとは? 社員ID 社員名 部署 1 村田 営業 2 小野 経理 DBの種類 SQLとは DBとは
  26. 26 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation テーブルの作成・変更・削除 SQLを用いることで、データベースに対してテーブルの作成・変更・削除 の問い合わせを行うことが出来ます。 CREATE TABLE.. 変更 削除 作成 社員ID 社員名 部署 ALTER TABLE.. DROP TABLE.. 社員ID 社員名 部署 社員ID 社員名 住所 社員ID 社員名 部署 SQLとは? 「..」の部分は、SQLで本来書くべき内容の省略部分になります。 DBの種類 SQLとは DBとは
  27. 27 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation データの登録・取得・更新・削除 登録 取得 更新 削除 社員ID 社員名 部署 社員ID 社員名 部署 1 村田 営業 INSERT.. 社員ID 社員名 部署 1 村田 営業 社員ID 社員名 部署 1 村田 営業 社員ID 社員名 部署 1 村田 経理 社員ID 社員名 部署 1 村田 営業 社員ID 社員名 部署 SELECT.. UPDATE.. DELETE.. 「..」の部分は、SQLで本来書くべき内容の省略部分になります。 SQLを用いることで、データベースのテーブルに対して、 値の登録・取得・更新・削除の問い合わせを行うことが出来ます。 SQLとは? DBの種類 SQLとは DBとは 1 村田 営業
  28. 28 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 社員ID 社員名 部署 社員ID 社員名 部署 1 村田 営業 INSERT.. 社員ID 社員名 部署 1 村田 営業 社員ID 社員名 部署 1 村田 経理 社員ID 社員名 部署 1 村田 営業 社員ID 社員名 部署 UPDATE.. DELETE.. データの登録・取得・更新・削除 登録 更新 削除 「..」の部分は、SQLで本来書くべき内容の省略部分になります。 2、SQLを用いることで、データベースのテーブルに対して、 値の登録・取得・更新・削除の問い合わせを行うことが出来ます。 SQLとは? もう少し詳しく 見ていきます 取得 DBの種類 SQLとは DBとは 社員ID 社員名 部署 1 村田 営業 SELECT.. 1 村田 営業
  29. 29 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation SELECT 基礎構文 SELECT [取得したい列] FROM [対象のテーブル] 具体的に、 以下の社員テーブルから社員IDと社員名の列を取得したい場合で例えると.. 社員ID 社員名 部署 1 村田 営業 2 小野 経理 社員テーブル SELECT 社員ID , 社員名 FROM 社員テーブル 1 村田 2 小野 社員ID 社員名 部署 1 村田 営業 2 小野 経理 SQLとは? 社員テーブル DB 書き方 SELECT構文は、データベースのテーブルから、値を取得するコマンドです。 DBの種類 SQLとは DBとは
  30. 30 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation SQLとは? SELECT 社員ID , 社員名 FROM 社員テーブル WHERE 社員ID = 1 1 村田 社員ID 社員名 部署 1 村田 営業 2 小野 経理 ➀条件を絞ってデータを取得する方法 社員テーブル DB SELECT 基礎構文+α SELECT [取得したい列] FROM [対象のテーブル] WHERE [取得条件] 書き方(WHERE句) 具体的に、 先ほどのページで用いた社員テーブルから 社員ID=1の社員ID、社員名の値だけを取得したい場合.. DBの種類 SQLとは DBとは
  31. 31 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation SQLとは? 2 小野 1 村田 ➁昇順・降順でデータを並び替えて取得する方法 SELECT 基礎構文+α SQLの書き方(ORDER BY句) SELECT [取得したい列] FROM [対象のテーブル] ORDER BY [ソートする列名] [昇順or降順を指定] 具体的に、 先ほどのページで用いた社員テーブルから、 社員ID、社員名列の値を社員IDの降順で値を取得したい場合.. SELECT 社員ID , 社員名 FROM 社員テーブル ORDER BY 社員ID DESC 社員ID 社員名 部署 1 村田 営業 2 小野 経理 社員テーブル DB DBの種類 SQLとは DBとは
  32. 32 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation デモ SQLとは? https://paiza.io/en/projects/new?language=mysql DBの種類 SQLとは DBとは
  33. 33 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 売上No 商品名 数量 単価 商品 カテゴリ 店舗No レジ 担当者 登録日 1 ガム 1 100 菓子 5 村田 3/15 2 電池 4 400 雑貨 5 李 3/15 実例 レジ SELECT 売上No, 商品名, 数量, … FROM sales WHERE 登録日 = 3/15 Salesテーブル 当日の売り上げデータとして抽出してクラウドに送信
  34. 34 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 本Dojoのゴール(ふりかえり) データベースの基本的な概念がわかる
  35. 35 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation まとめ 1 .データベースとは 2 .データベースの種類 3 .SQLとは 各データベース製品のドキュメントはぜひご覧ください! ◯Db2 https://www.ibm.com/docs/ja/db2/11.5 ◯MariaDB https://mariadb.org/ ◯PostgreSQL https://www.postgresql.org/
  36. 36 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation QA & アンケート タイム https://app.sli.do/event/juSs1peqNAyypVibvTkJS1 ご質問がありましたら、 チャットもしくはマイクをONにして、ご質問ください。 以下、アンケートのご回答をよろしくお願いいたします
  37. 37 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation いろいろTry&Errorしながら 試してみてください。 ありがとうございました
  38. 38 Customer Success, IBM Technology, Japan / © 2023 IBM

    Corporation 補足:テーブルに関する用語整理 フィールド カラム ID 社員名 部署 支店 ID 社員名 部署 支店 ID 社員名 部署 支店 レコード(ロウ) 本Dojoでは、テーブルに関して話をする際、説明簡略化のために 「列・行・値」と表現しましたが、 一般的には以下のように表現いたします。