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
380
データベース01: データベースを使わない世界
1. ガイダンス
2. データベースを使わない世界
講義ノートURL
https://dbnote.hontolab.org/content/introduction/01.html
Y. Yamamoto
April 15, 2024
Tweet
Share
More Decks by Y. Yamamoto
See All by Y. Yamamoto
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
0
550
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
0
530
データベース10: 拡張実体関連モデル
trycycle
0
560
データベース09: 実体関連モデル上の一貫性制約
trycycle
0
530
データベース08: 実体関連モデルとは?
trycycle
0
530
データベース14: B+木 & ハッシュ索引
trycycle
0
250
データベース15: ビッグデータ時代のデータベース
trycycle
0
170
データベース06: SQL (3/3) 副問い合わせ
trycycle
0
390
データベース05: SQL(2/3) 結合質問
trycycle
0
500
Other Decks in Technology
See All in Technology
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
1
110
Replit Agent
kawaguti
PRO
2
220
うまくいく! を実現するための質問力 / It works! The Power of Questions to Make It Happen
bitkey
PRO
1
150
多様なロール経験が導いたエンジニアキャリアのナビゲーション
coconala_engineer
1
180
開発者向けツールを魔改造してセキュリティ診断ツールを作っている話 - 第1回 セキュリティ若手の会 LT
pizzacat83
0
410
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
1
140
Amazon Bedrock Multi-Agent Collaboration Workshop の紹介 - ワークショップでAIエージェントを学ぼう
nasuvitz
4
370
開志専門職大学特別講義 2024 オープニング
1ftseabass
PRO
0
230
TimeTreeが経た3つの転換点 ー プロダクト成長過程でその時、その瞬間、何を考えてたか
ysmtysts
1
4k
イノベーショントークから見るクラウド運用の未来を振り返ってみた
nyankotaro
0
410
Kubernetesトラフィックルーティング徹底解説/Kubernetes-traffic-deep-dive
oracle4engineer
PRO
5
860
属人化したE2E自動テストを ひも解く
honamin09
1
120
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Building Adaptive Systems
keathley
38
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
27
2.1k
Gamification - CAS2011
davidbonilla
80
5.1k
Designing for Performance
lara
604
68k
Code Review Best Practice
trishagee
65
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
How GitHub (no longer) Works
holman
310
140k
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
“データベース”を使わない世界 ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス学部
[email protected]
第1回 データベース 2024年4月15日 (ガイダンス
+)
シラバス情報 科目名 データベース 2 開講学期 2年次 前期 科目区分 専門基礎(必修) 担当教員
山本 祐輔
ガイダンス 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 無料
連絡⽅法 担当教員メールアドレス
[email protected]
授業連絡 Microsoft Teams 学務情報システム データサイエンス学部LMS みなさん,どれを連絡⼿段として希望しますか?
データベースを使わない世界 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
お疲れ様でした シナリオ2の課題に 取り組んだ感想は? イライラしたとか,何でもOK
Excelが固まる… 日付の書き方が統一されていない… 全角数字が混じっている… 1マスに複数の商品が… 途中から数字がおかしい…?(疑心暗鬼に)
Excel vs. 情報技術屋の「データベース」 Excel § 個人用の表計算ソフト § 対象データは⽐較的⼩さい § データの管理には不向き
(正しく管理できるかは⼈に依存) “データベース” l 大規模データを効率よく処理 l データを正しく管理 l データを複数⼈/複数アプリで 同時に使うことを想定
余談)データ⼈材とその価値 技術レベル Excel使い ・Excelの関数やマクロを使う ・総合職では⼤活躍
余談)データ⼈材とその価値 Excel使い ・Excelの関数やマクロを使う ・総合職では⼤活躍 相関分析/仮説検定屋 ・Rにこだわる ・研究・開発畑なら必要 技術レベル ビジネス上の価値
余談)データ⼈材とその価値 技術レベル ビジネス上の価値 似非データサイエンティスト ・どの学部でも学べる ・AIと機械学習の区別ができない ・データサイエンティストと名乗ったはら恥ずかしい 相関分析/ 仮説検定屋 Excel使い
余談)データ⼈材とその価値 技術レベル ビジネス上の価値 機械学習ホビーイスト データがあればちょっとした 機械学習コードは書ける データサイエンティストの卵 ・情報系学部の卒業生 ・AIと機械学習の区別ができる ・中小企業でDS人材として雇われると悲劇
相関分析/ 仮説検定屋 Excel使い 似非データサイエンティスト
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト 非情報系の研究開発職なら
使える人材になれる可能性あり データサイエンティストの卵
従来のデータ分析 vs. ビッグデータ分析 ビッグデータ分析 仮説発見 従来のデータ分析 仮説検証 (統計的検定・アンケート調査のような) (パターン,隠れたルールetc.) 注意)
どちらの分析も何を対象とするか(クエスチョン)は決まっていないと何も始まらない 39
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト データサイエンティストの卵
ビジネス的に価値が出てくるライン
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト データサイエンティストの卵
ビジネス的に価値が出てくるライン データサイエンス系学部で しっかり学ぶ価値があるライン
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト +
⼤規模データ分析者 ・データベースを扱える ・⼤規模データ処理コードが書ける ・ある程度機械学習ができる 機械学習エンジニア ・データベースを扱える ・深層学習コードがかける データサイエンティストの卵 戦力になるデータ人材
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト +
⼤規模データ分析者 機械学習エンジニア 戦力になるデータ人材 データサイエンティストの卵 ポイントの1つは⼤規模データを扱うスキルがあるか
データサイエンス作業の分担と職種 https://www.oreilly.com/ideas/data-engineers-vs-data-scientists データサイエンティスト データエンジニア 高度な数学・統計知識 機械学習 高度な分析技術 高度なプログラミング データベース データパイプライン
分散処理 機械学習エンジニア データラングリング 機械学習の運用 機械学習のチューニング
Excel vs. 情報技術屋の「データベース」 Excel § 個人用の表計算ソフト § 対象データは⽐較的⼩さい § データの管理には不向き
(正しく管理できるかは⼈に依存) “データベース” l 大規模データを効率よく処理 l データを正しく管理 l データを複数⼈/複数アプリで 同時に使うことを想定 ⼤規模データを扱うならデータベースを学ぶ意味は⼤いにあり