Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベース01: データベースを使わない世界
Search
Y. Yamamoto
April 15, 2024
Technology
1
150
データベース01: データベースを使わない世界
1. ガイダンス
2. データベースを使わない世界
Y. Yamamoto
April 15, 2024
Tweet
Share
More Decks by Y. Yamamoto
See All by Y. Yamamoto
データベース05: SQL(2/3) 結合質問
trycycle
0
110
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
0
180
データベース06: SQL (3/3) 副問い合わせ
trycycle
0
46
データベース03: 関係データモデル
trycycle
0
140
データベース02: データベースの概念
trycycle
0
200
ビッグデータ × AI = DX?
trycycle
0
100
名古屋市立大学データサイエンス学部 秋のオープンキャンパス模擬授業20231111
trycycle
0
1.8k
データマイニングと機械学習 - ニューラルネットワーク
trycycle
0
380
データマイニングと機械学習-SVM
trycycle
1
390
Other Decks in Technology
See All in Technology
Laboratories in Science and Technology: Deep Neural Networks
keio_smilab
PRO
3
180
生成AIがもたらす変革 / GitHubGalaxy_CyberAgent
cyberagentdevelopers
PRO
2
180
[PyconUS 2024] Having fun with Pydantic and pattern matching
enforcerpl
0
190
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
790
LINEヤフーのウェブアクセシビリティ
lycorptech_jp
PRO
3
210
株式会社EventHub・エンジニア採用資料
eventhub
0
2.1k
Money-saving tips for the frugal serverless developer
theburningmonk
1
420
Taking Flight with Tailwind CSS
opdavies
0
4.3k
SWC Transformerから見るTypeScript関数記述ベストプラクティス
fujiyamaorange
1
180
TiDBにおけるテーブル設計と最適化の事例
cygames
0
810
OPENLOGI Company Profile
hr01
0
46k
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
3.2k
Featured
See All Featured
Infographics Made Easy
chrislema
238
18k
Designing for Performance
lara
601
67k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
84
45k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Atom: Resistance is Futile
akmur
260
25k
What the flash - Photography Introduction
edds
64
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Debugging Ruby Performance
tmm1
70
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Scaling GitHub
holman
457
140k
Transcript
“データベース”を使わない世界 ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス学部
[email protected]
第1回 データベース 2024年4月15日 (ガイダンス
+)
ガイダンス 1 授業をどう進めるか?
データベースと言えば 何を思い浮かべる?
⼀般⼈が思い浮かべるデータベース 新聞データベース 画像出典: https://www.pokemon.co.jp/ex/sun_moon/pokemon/ ポケモン図鑑的 たくさんのデータの集まりや図鑑的なもの
情報科学屋にとってのデータベース データベース管理システムあるいは それによって管理されたデータの集合 画像出典: https://en.wikipedia.org/
授業⽬的 データベース技術 (特に関係データベース) ⼤規模なデータを効率よく管理・処理するための データ分析者が最低限知っておくべき を学ぶ
この授業で学ぶこと lデータベースの概念 l関係データモデル l関係データベースの問い合わせ方法 l関係データベースの設計 l索引づけ(時間があれば) lビッグデータ時代のデータベース
この授業で学ばないこと l前提知識の復習(集合と写像) l関係代数 & 関係論理 l問い合わせ最適化 lデータ格納方式 lトランザクション(障害回復,並列処理) 関係データベース操作 の理論的基礎
ハードウェアに近い話 データベースの内部処理 上記内容はデータエンジニアなら知っておくべき!!
回 実施日 トピック 1 04/15 ガイダンス:データベースを使わない世界 2 04/22 データベースの概念 3
04/29(祝) 関係データモデル 4 05/13 SQL (1/3) 5 05/20 SQL (2/3) 6 05/27 SQL (3/3) 7 06/03 SQL演習 – レポート課題1 8 06/10 実体関連モデル (1/3) 9 06/17 実体関連モデル (2/3) 10 06/24 実体関連モデル (3/3) 11 07/01 正規化 (1/2) 12 07/08 正規化 (2/2) 13 07/15(祝) データベース設計演習 – レポート課題2 14 07/22 索引付け (& トランザクション?) 15 07/29 NoSQL 16 08/05 期末試験 授業計画 11 関係データベース「操作」 関係データベース「設計」
授業の進め⽅ 理解を深める クイズや演習 0:00 1:30 0:60 座学 細かな練習を通じて DB技術を体得 データベースの理論や技術
の理解 (プログラミングスキルは不要)
授業で使⽤するもの(1/2) 配布スライド データベースの講義ノート 13
授業で使⽤するもの(2/2) 14 Google Colaboratory - データベース問合わせ練習⽤ - ブラウザで動く - 要Googleアカウント
draw.io - データベース設計練習⽤ - ブラウザで動く - ユーザアカウントは不要
成績評価 授業中に課す課題(レポート): 40% ・SQL演習(1回) + データベース設計(1回) ・授業内に設けた演習時間(+⾃宅)で回答を作成 期末試験: 60% ・授業中に出題範囲を宣⾔
・⾃分で作成した資料を持ち込み「可」とする予定
参考図書(1/2) 画像出典:https://www.ohmsha.co.jp/book/9784274223730/ 画像出典: https://www.ohmsha.co.jp/book/9784274225161/ 16
参考図書(2/2) https://www.saiensu.co.jp/search/?isbn=978-4-7819-1390-2&y=2017 17
講義ノート https://bit.ly/3xqTSds l 参考図書を踏まえて作成 l コラムや練習問題が充実 l 無料
データベースを使わない世界 2 データベースを使う必要性はどこにある?
ある⼩売店のお話(1/3) ⼩売店店主の ⼭畑さん 山畑さんは家族で小さな小売店を営んで いる. 個人経営ながら山畑さんのお店は 繁盛している. とはいえ,街には大手 チェーン小売店が進出してきており,この まま順調に経営を続けられるかは不安だ.
何か手を打たなければならない. 2020年の4月,山畑さんは念願のショッ ピングサイトを立ち上げた. 言うまでもな い.ショッピングサイトを立ち上げたのは, オンラインにも顧客獲得の機会を求める ためだ. サイトは順調に立ち上がり,注文 もポツポツ入ってきている.
ある⼩売店のお話(2/3) ところで,最近世の中では「データサイエンス」なるもの が注目を集めているらしい. データを活かせばビジネスチャンスが広がる,とのことだ. 山畑さんは,Excelシートに入力しつつあった販売履歴 を分析してみようと思い立った. ⼩売店店主の ⼭畑さん ビジネス インサイト
ある⼩売店のお話(3/3) Excelシートには,いつ,誰が,何を,いくらで購入したか の情報が記録されている. ⼩売店店主の ⼭畑さん ビジネス インサイト ショッピングサイトは立ち上がったばかりであるため, Excelシートには200行しかデータが入っていないが, これからデータが貯まっていけば,売り上げを増やす
ための課題が見えるかもしれない!!
課題1 & 2 課題1 以下のURLから⼭畑さんが使っている Excelファイルをダウンロードし,中⾝を確認せよ https://bit.ly/4awIEms 課題2 Excelファイルを使って「岡⽥ 真綾」という⼈物が
何回買い物をしていたかを数えよ
課題3〜5 オートフィルタ機能を使って,「ビタミン補助剤」 を購⼊している⼈をピックアップせよ 課題3 Excel関数のSUMを⽤いて,現時点での総売上⾦額 を計算せよ. 課題4 Excelのピボットテーブル機能を使って,集計期間 中に「最も購買回数が多かった商品」「最も売上⾦ 額の合計が⼤きかった商品」のそれぞれを求めよ
課題5
⼭畑さんのお話の続き(1/3) ⼩売店店主の ⼭畑さん ショッピングサイト⽴ち上げ以降,順調に利⽤者数も 増えていった. やはりメディアに取り上げられたの が⼤きかったのだろう. あのタイミングで認知度が ⼀気に上がり,サイト利⽤頻度も加速度的に増えて いった.
それに伴い,サイト運営に関わるスタッフ も増員した. 増員されたスタッフ
⼭畑さんのお話の続き(2/3) 販売履歴の管理は当初⼭畑さんが⼀⼈で担当してい たが,さすがに⼀⼈では捌ききれなくなった. そこ で,ある時点から数名体制で販売履歴の記録をする ことになった. これまで販売履歴の管理に使って きたExcelシートをクラウドストレージに置き, 販売 履歴記録のスタッフのPC間で同期を取るようにした.
こうすることで,同じExcelファイルの上で記録を つけられるようにしたのである.
⼭畑さんのお話の続き(3/3) ⼗分に販売履歴データが蓄積されたと判断した⼭畑 さんは,いよいよ⼤規模に販売履歴データを分析 しようと思った. シートを開き⾏数を数えてみると その数90万⾏以上! データの数に⼩躍りした⼭畑さん. 早速Excelシートでの分析に詳しいスタッフと⼀緒に データ分析に取りかかった…
課題1 & 2 課題1 以下のURLから⼭畑さんが使っている Excelファイルをダウンロードし,中⾝を確認せよ 完全版ファイル: https://bit.ly/3xxgWYc 課題2 Excelファイルを使って「岡⽥
真綾」という⼈物が 何回買い物をしていたかを数えよ ⼩さめファイル: https://bit.ly/4as2sHv
課題3〜5 オートフィルタ機能を使って,「ビタミン補助剤」 を購⼊している⼈をピックアップせよ 課題3 Excel関数のSUMを⽤いて,現時点での総売上⾦額 を計算せよ. 課題4 Excelのピボットテーブルを使って,集計期間中に 「最も購買回数が多かった商品」「最も売上⾦額の 合計が⼤きかった商品」のそれぞれを求めよ
課題5
Excel vs. 情報技術屋の「データベース」 Excel § 個人用の表計算ソフト § 対象データは⽐較的⼩さい § データの管理には不向き
(正しく管理できるかは⼈に依存) “データベース” l 大規模データを効率よく処理 l データを正しく管理 l データを複数⼈/複数アプリで 同時に使うことを想定 ⼤規模データを扱うならデータベースを学ぶ意味は⼤いにあり